2014年12月21日日曜日

メッシュでオブジェクトの回転軸を設定する

セカンドライフ技術系Advent Carender 2014でじゅごんさんが前述していた「メッシュ版マイクロプリムの作りかた」を踏まえての、応用技です。


素プリムで回転式ドアを作る際、パスカットなどを用いて片側半分をカットして回す方法がとられてきたわけですが、
 たとえカットされても、プリムの重心(回転軸)は赤いからは移動しないので、それを中心に回転するというプリム独特の性質を利用したものでした。

実はこの技法も、ある手法の応用技だった歴史があるわけですが、今回はそっちの大元の手法のほうが 説明しやすそうなので軽く説明します。

 それはドア用プリムに透明なプリムを親プリムとしてリンクするという方法。
リンクされたオブジェクトは親プリムの重心を回転軸として回転されるという仕様を利用したわけですね。
写真でいえば、を親プリムにしてリンクすることで、パスカットせずともそこを基点に回転します。

それと似た技で、ドアのプリムの幅の2倍ある透明プリムを用意して、そのプリムの右端とドアプリムの右端を合わせてリンクすることで、同じ効果を生み出す手法もありました。
写真でいうと「透明な部分+ドアの右端まで」のプリムということになります。(ただこの場合、ドアをファントムにしておかないとドアを開けたときに反対側にいる人が見えないプリムに叩かれるという楽しい現象が起きるわけで。。。)

どちらの手法も「1枚のドアを作るのに2プリムも使うなんてモッタイナイ」という理由で、前述のパスカット技が普及しました。


さて、メッシュでのお話。
ブレンダ以外のモデリングソフトを使っていないのでブレンダ限定になるかも、ですが、メッシュオブジェクトは基本、回転軸=重心になります。
それをそのままインワールドに持ち込めば、回転軸用のプリムを追加しなければいけない事態になるわけで、なんとなく損した気分を味わってしまいます。

じゅごんさんの記事の2枚目の写真では、見えない三角形の重点=マイクロプリムの重点がピッタリ重なってるため、回転させるときはマイクロプリムの重点を軸に動くように見えるわけですが、
では、その見えない三角形をずらしたらどうなるのか、というのが(やっと)この記事の本題です。 

じゅごんさんの見えない三角形をドアに当てはめて考えると、対角の2点の黄色いが頂点になるわけでドアの重心とピッタリあっている状態。

ココではドアの左端()にオブジェクトの重心を持って行きたいわけですから、 上の黄色いドアの幅のぶん左にずらすことで可能になります。
写真でいうみどりがそれに当たります。

理屈的に言えば、
任意の回転軸を中心点とし、オブジェクトを全て包み込む長方体の対角をなす2つの頂点を見えない三角形で指定することで、重心を本来の位置からずらし、回転軸を設定することができます。

この手法で作られたメッシュオブジェクトをインワールドに持ち込んで編集をかけると、 ブレンダで設定した重心の位置に中心点を表す矢印が表示されるので、そこを基点に回転(移動)させることができるようになります。
これはドア以外でもいろいろ使える技なので、頭の片隅においておくとなかなか便利っ。

もちろん、編集をかけないかぎり見えない三角形はちゃんと見えないのでご安心。

2014年12月9日火曜日

[o*2] Game Gacha-Saturn's Holiday

従来のガチャマシンにミニゲームを搭載した配布アイテムです。


ユーザーは料金を支払ってミニゲームを行ない、その成績によってレア度の異なる景品を貰うことができます。

ミニゲームはスゴロク形式で、ライフ(サイコロを振ることが出来る回数)が無くなるまでサイコロをふって出た目ぶん進み、最後に止まった場所によってレア度が変わります。





ミニゲーム内のイベントとして
・1UP:ライフ1つ回復
・2マス戻る
・3マス進む
が用意されており、それをうまく使ってゴールを目指します。 (イベントをうまく使わないとゴールできません)
もちろん、ゴールにピッタリ止まれば「ウルトアレア」の景品が配布されます。
ゴール付近の罠にはまったり、全然進めなかった場合、「参加賞」「残念賞」などもあり、激アツ必至のミニゲームです。


マシンオーナーは5段階のレア度に応じた景品を準備する必要がありますが、5種類をそろえるのが容易でない場合、おまる工房で用意した「参加賞」「残念賞」の配布アイテムをそのまま流用することも可能です。

同じレア度に複数の配布アイテムを用意した場合、ユーザーにはその中からランダムに選出された1品が配布されます。

レア度設定・料金設定はとても簡単。

ゲーム機本体は100%メッシュでランドインパクト=1。
付属のマシンフレーム(配布用アイテムのカタログテクスチャを貼るスペース付き・メッシュ)とリンクさせてもランドインパクトは「1」のままなので、土地のプリム残数の負担になりません。


ミニゲーム「Saturn's Holiday」には、「Space Runner」で登場した「のり子」がついに土星で使命を果たすがまたも敵が現れ再び宇宙へ。。。その情景を思い浮かべながら遊んでいただけたらいいな、と思います。


定価 L$220

インワールド販売所
おまる工房 豊洲店
ススキノ SELECT MOTION

2014年12月5日金曜日

アニメーションのセコい使い方

セカンドライフ技術系 Advent Calendar 2014の本日版が上がってないようなので急遽、裏技的な記事を。。。


主に動画を撮るときに活用している技ですが、 一回きりしか使わないアニメーションのUP代がモッタイナイ場合、UPしないで済ませる方法です。たぶんFirestorm限定?

「そんなのUPする時の動作確認のでアニメーションさせてUPさせなきゃイイじゃん」とか言われそうですが、まさにその通りですっォィ

←コレですね。
FIrestormではアニメーションUPする際の動作確認がインワールドのアバターを直接動かすことで行なわれているので、それをそのまま使っちゃえ作戦っ


結構これ、やってる人は多そうですが、実はこのUP窓。。。複数同時に開くことが出来たりするのです。

複数開くことでの利点は、

①違うアニメーションをいくつか用意してタイミングよく切り替える(順々に再生ボタンを押していく)ことでアニメーションの上書きができる。

②その際、イン(%)、アウト(%)、イーズイン・アウトの数値を調整して思ったとおりの切り替え速度を何度でも試せる。

③なんといってもタダ!


ちなみに、アバターの位置を固定してカメラを動かして何度も撮影して繋ぎ合わせの編集する場合、プリムにllSitTargetのスクリを仕込んで座らせておき、UP代ケチってアニメーションを行なえば、同じ位置で同じ動作をしてくれるのでとっても便利です。(ダンスショーなどで使われるシートでもOK)


技術というか、L$節約法ですが。。。とりあえずw

2014年12月3日水曜日

ノーマルマップ作成 for PhotoShop

まず、ノーマルマップってなんじゃらほい?ってコトでぐぐってみた。
wikiによると、別名「法線マップ」「バンプマップ」と呼ばれており、理屈は全く理解できないがモデリングでポリゴンを用いず、特殊なテクスチャを使うことで平面なのに凸凹があるように見せるごまかしの手法らしい。

SLではメッシュと共に実装されたマテリアルを作成する際に必要不可欠なもので、これを用いることによってオブジェクトの平面部分に擬似的な凸凹をつけたり、素材のテカリや環境光の照り返しなどを設定できるようになる。

一般的にノーマルマップはブレンダなどでモデリングついでに作成することが多いらしいのだが、 おまるさんはブレンダをいぢる前に「マテリアルで遊びたい!」と思ってしまったわけで、モデリングソフトを使わないでノーマルマップを作成する方法を調べてみた。


で、見つけたのがNVIDIA Texture Tools for Adobe Photoshop。。。名前長すぎっ
これはフォトショップ用のプラグインであり、単独のソフトではないのでご注意。
たぶん、もしかしたらだけど。。。GIMPでも使えそうな予感はある

使うまでの手順は、
①上リンクサイトからDLする
②解凍して実行する(プログラムファイルにフォルダが生成されてその中にできる)
③前もってフォトショップ用プラグインのフォルダが存在するなら、その中に移動させる
 (ないならそのままでOK)
④フォトショップを立ち上げ、環境設定を開く
⑤「プラグイン・仮想記憶ディスク」の項目を開く
⑥「追加のプラグインフォルダ(A)」にチェックを入れ、さきほどのフォルダを選択・実行
⑦フォトショップを再起動し、メニューの「フィルタ」を開いて一番下にNVIDIA Toolsが生成されていれば成功。


ではどーやってコレ使うのか?
私が参考にしたのはコチラのサイト。。。消えてた!
まぁ。。。英語ばっかりのサイトで私もよく読んでなかったのでアレなんだけど。

おまるさんが最近作ったお店の看板で説明しますっ

写真では判りづらいかも。。。だけど、毛筆的な浮き彫り金字の前面にガラスがあり、そのガラスに夕日が写りこんでる感じです。

ガラス部分はブランクのテクスを使って、制作ツール「材質」の「輝き」設定で写り込みを表現し、
その奥の金字浮き彫り部分は普通のテクスチャのほかに「ノーマルマップ用テクスチャ」「テカリ用のモノクロテクス」を使っています。

ノーマルマップは聞いたけど、テカリ用のテクスチャってなんだ?と聞かれると、「なんだろね?」と答える程度にしか理解してないのですが。。。制作ツールの「材質」タブに通常は「テクスチャ(拡散)」 があるのですが、ソコをプルダウンすると「凸凹(標準)」「輝き(反射)」という項目が出てきます。

 「凸凹(標準)」がノーマルマップを貼り付けるところで、
 「テクスチャ(拡散)」にはテカルところを指定するテクスチャを貼ります(たぶん、間違ってないと思う。。。できてるしっ)
テカリ用のテクスチャは簡単で、モノトーンにしてテカらせたいところを白く、テカらせない部分は黒くしておけばOKっぽいです。。。たぶん。

実際におまるさんが用意したテクスチャがこちら


この3枚を使ってマテリアルを表現してるわけですが、
・一番上が普通のテクスチャ(ただ貼るだけ)

・真ん中のがノーマルマップのテクスチャ(まぁ、貼るだけ)

・一番下のがテカリ用のテクスチャ(パラメータをいぢることで環境光の反射や素材のテカリを設定)


一番上と一番下は簡単に作れるので置いといて。。。
真ん中のノーマルマップはどうやって作るか?

おまるさん的に、まず一番上のテクスチャをレイヤーコピーして濃淡がわかり易いようにモノトーンに変え、トーンカーブで立体感があるっぽい感じに調整しました。

そのレイヤー上でフィルター→NVIDIA Toolsを選択すると、
こんな感じのが出てきます。
消えちゃってた解説サイトによると、Invert Yにチェックを入れるのがお約束らしいので言われるままに。。。
他のチェックは見たとおりでなんとかいける感じです。

問題はScaleの右側の数字っ
ここで小さい数字にすると浅い掘りに、大きな数字にすると深い掘りになります。

んじゃ深くしてみようと思いっきり大きくすると、なんかガクガクな感じになって美しくない。。。
消えちゃった解説サイトではそんな時、 レイヤーを下から順に
浅い彫り、中くらいの彫り、深い彫りと3~4枚重ねて、一番下以外のノーマルマップレイヤーの透明度を調整することで滑らかにする手法が紹介されていました。

その際、ガクガクになりやすい深い彫りのレイヤーに「ぼかし」をほんのりかけてやることで、さらに滑らかになるようです。


写真ではいまいちどのくらいの彫りが出来ているのか判らないので、光に対してどう変化するか動画にとってみました。


これも判りづらいかも。。。なので、おまるさんがマテリアルを理解した時の動画をペタリとしておきます。

モデリングソフトを使わないでノーマルマップを作る方法でしたっ