セカンドライフでモデリング(メタセコイア編)

投稿日: 更新日:

セカンドライフでは、ユーザーが作ったポリゴンメッシュを持ち込むことができます
メッシュというのは、3Dの形状データのことです。
メッシュの形式は、いろいろありまして、たとえばDirectXでは、「.x」のファイルをロードできます。
セカンドライフでは、COLLADA形式(.dae)のファイルをアップロードできます。

このCOLLADA形式を吐き出せるツールはそんなにないですが、
使いやすい日本人が作成した有名な3Dモデリングツールであるメタセコイアで、
COLLADA形式を出力できるので、今回はこれを使用した場合の動作情報を紹介します。

※有料版でないと出力できないので注意。


座標とスケーリング

さて、メタセコイアで出力したファイルが
セカンドライフでも読み込めるということですが、いろいろ気になる点があると思います。
その1つとして、座標空間はどうなんだという点です。

座標軸の方向や意味がソフトによって異なるものであり、
たとえば正面を向いて作ったキャラクターを他のツールにアップロードしたら、
下を向いていたということもありうることなのです。

ほかにもメタセコイアでサイズを100として作ったモデルを、
他のツールにアップすると、超巨大なモデルになってしまったり、
ノミみたいな小さいモデルになってしまうこともあります。

まずは、この重要な座標軸、大きさがどのように反映されるのかテストしたいと思います。

dimtest_1s
こんなオブジェクトをメタセコイアで作ってみました。
正六面体で、6つの面にはそれぞれ次のような色の面の設定をしています。
ちなみにメタセコイアの座標家は、DirectXのような座標系になっています。
X+は赤、X-は水色 (Xは横)
Y+は緑、Y-は紫色 (Yは高さ)
Z+は青、Z-は黄色 (Zは奥行)
また、横×高さ×奥行を200x200x200で、立方体の重心を中心点に設定しています。

dimtest_2s
それをCOLLADA形式で出力します。
出力の際にダイアログでオプションが表示されますが、
とりあえずここはデフォルトのままで行きたいと思います。

dimtest_3s
これをアップロードします。
アップロード時でもスケールを設定できますが、ここではデフォルトの1.0倍(等倍)にしています。

dimtest_4s
さて、セカンドライフの世界では次のような表示になりました。
ここに表示されている座標軸をそのままみると、
セカンドライフのX軸+(東)は、メタセコイアのX軸+(左右)
セカンドライフのX軸-(西)は、メタセコイアのX軸-(左右)
セカンドライフのY軸+(北)は、メタセコイアのZ軸-(奥行)
セカンドライフのY軸-(南)は、メタセコイアのZ軸+(奥行)
セカンドライフのZ軸+(上)は、メタセコイアのY軸+(上)
セカンドライフのZ軸-(下)は、メタセコイアのY軸-(下)
一見座標軸は違うものの、作ったときと同じような見た目です。

dimtestX_1s
でも、実は注意点がありまして、最初からX軸で90度回転しています。

dimtestX_2s
そのため、90度の回転を戻すとこんな感じです。
セカンドライフのX軸+(東)は、メタセコイアのX軸+(左右)
セカンドライフのX軸-(西)は、メタセコイアのX軸-(左右)
セカンドライフのY軸+(北)は、メタセコイアのY軸+(上)
セカンドライフのY軸-(南)は、メタセコイアのY軸-(下)
セカンドライフのZ軸+(上)は、メタセコイアのZ軸+(奥行)
セカンドライフのZ軸-(下)は、メタセコイアのZ軸-(奥行)
軸はあっていますが、少しややこしいですね。
考えるのが面倒な場合や、動き系のスクリプトを組み込まない場合であれば、
X軸の90度回転を戻さずアップロードしても問題なさそうです。

dimtest_5s
スケールは、アップロード時にも見えていましたが、
メタセコイアで 200 と設定したものを、
メタセコイアのエクスポートで 0.001倍 にしてCOLLADAファイルを出力
これをセカンドライフで、等倍でアップロードすると 0.2 = 20cm となりました。
つまり、メタセコイアの1が、セカンドライフで1mに相当します。

ということは、メタセコイアで作ったデータで 200 を 200 cm とするならば、
メタセコイアのエクスポートで 0.01 倍にして出力すると期待した大きさになるということです。

select_s
ところで、今回メタセコイアで6つの材質を色をそれぞれ設定して、アップロードしました。
この場合、セカンドライフ上では、各面に色を設定した状態になる感じになります。
つまり材質で分けておくと、面選択でその材質のものを一括で選択できるということですね。

話は変わりますが、セカンドライフの世界では
X軸の+が正面(アバターの向いている方向)
Y軸の+が左(アバターの左側)
Z軸の+が天上(アバターの上側)
のようです。
何か作るときはこの軸を参考にアップロードしましょう。


テクスチャのUV

テクスチャのUVマッピングの座標がどのように反映されるか調べます。
これもUVの座標軸が異なると、テクスチャが正しく反映されない場合があります。
従ってメタセコイアからセカンドライフへデータを持って行った際のUVがどのようになるか、
とても重要な情報なのです。

textest
まずはテスト用のテクスチャをつくります。
このテクスチャのX軸がU軸、Y軸がV軸となっています。
学校で習ったグラフのように、
画像の右がX軸+、U軸+
画像の上がY軸+、V軸+

textest_2s
これを貼った平面を作りました。

textest_3s
これをアップロードしてみると、こんな感じに。
これをみると分かるようにメタセコイア上のUV座標のうち、
上下のV軸がセカンドライフでは逆になっているようです。

ちなみにプレビュー画面で実際のアップロード(有料)はまだしてませんので、
この時点で引き返せます。引き返しましょう!

textest_4s
さて、メタセコイアのエクスポート時の話に戻るのですが、
ここで「テクスチャのV方向を反転」というのにチェックしておきましょう。
ちなみに、先ほどのスケールの話から拡大率1.00 x 10^-2 としました。

textest_5s
これで上下の反転がなくなり、
正しくテクスチャを反映できたことが分かります。

textest_6s
実際にセカンドライフ上に設置してみると、こんな感じです。


その他のアップロード時のテクニック集

point_1s
描画詳細度 Level of Detail (LOD ) という項目があります。ここかなり重要です。
3D描写の負荷を下げるために、遠いオブジェクトはポリゴン数が少ない簡易モデルを表示させます。
ここでは、その簡易モデルの登録を行う設定となっています。

簡易モデルはいちいち作るのも面倒なので、通常は自動で計算したものを利用します。
ですが、たとえば今回、単純な平面や立方体をアップロードしたのですが、
あまりに座標数が少ないためか、自動計算で三角形が1となっています。
4点の座標が必要な平面を表示させるのに、
座標数が3と計算され、三角形1つとなってしまうのです。
とくに低ポリの場合は、しっかりここの設定について目を通しておきましょう。

point_3s
アップロードの設定に「テクスチャを含む」というのがあります。
これにチェックを打つと、後でテクスチャをアップロードして、設定するという手間が省けます。
なお、ここにチェックを入れてアップロードすると、
画像をアップロードするときにかかるお金はしっかり取られます。

texture_upload_s
テクスチャを含んでアップロードした場合、ここに自動で保存されます。


メタセコイア関係の本の宣伝コーナー

(2014年発売) (2005年発売)

2005年のメタセコイアは、今の2014年のメタセコイアと使い勝手が
大分違うので、ツールの使い方から知りたいという方は新しいほうがいいかもしれません。

以上!

広告

コメントをどうぞ(承認された後に公開されます。メールアドレスの記入は自由ですが、記入した場合でも一般公開されることはありません)

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中