無用の長物の彼方

・・・

           

SB3UGUIのSRTについて

まずは本題とは違いますが~
前回の「SB3UGUIのメタコの記述」で紹介しました、メタコのオブジェクト名のScaleについての説明をば。
WS000361.jpg
前回同様の画像ではありますがこの画面の右上のオブジェクト名に
(Scale=1000)」という記述があるかと思います。

この記述の本来の意味は、SB3Uで書き出したときに元のメッシュを1000倍にして書き出しましたよっと言う意味です。
元の物より1000倍にして書き出しているのですから、当然SB3Uで埋め戻す場合、1/1000にして埋め戻してくれます。
つまり、これを逆手に取れば、アイテム移植等でこの記述の無いメタコデータも「(Scale=1000)」を
あらかじめ記述してしまえば、とりあえずは1/1000で埋め込んでもらえるということです。

ですが、これはあくまでもSB3Uからメタコで書き出す際の仕様にすぎないため
このScaleの数値を変更したりして大きさを合わせる記述ではないので
大きさ合わせにはさほど役には立ちません。

では、なぜこのような仕様でSB3UがメタコでMeshを書き出す際にわざわざ1000倍にするのかと言いますと
メタコで扱える小数点以下が2桁しかなく、実際にゲーム内に有るMeshは小数点以下が少なくとも5桁あると思われ、
その小数点以下の数値の損失を防ぐためにこのような書き出し方法を取っていると思われます。

つまりは、書き出したMeshを改造する場合には、繋ぎ目などの座標のズレを最小限にしたいための仕様なのです。

ですが、あらかじめ基準となるMeshを書き出してそれに合わせて(Sclae=1000)の記述の無いMeshを
位置合わせや大きさ合わせした場合は、記述を加えることでメタコ内での大きさと
ゲーム内での大きさを同じような物には出来ますので移植の際でも一応記述を加えても良いかと。


では、本題ですが、SB3UのSRTについてですねぇ

まずは下の画像をご覧ください
WS000388.jpg
これはいま私が作っています水面をSB3Uで開いた物です。

赤丸で示したところに「SRT」と「Matrix」というウィンドウがあると思います
これの「SRT」の項目を弄るのですが
Translate が位置の移動
Rotate が回転
Scale が拡大縮小
ということで、
数値は左から、X座標、Y座標、Z座標に該当します。
数値を入力し適応する際には必ずSRTウィンドウ内にある「Apply Changes」ボタンを押してください
押せば入力した数値が適応されSB3U上での表示も変更内容と同じ物に変化します。

これを使いますと一旦埋め込んだメッシュを移動、回転、拡大縮小ができ、
いちいちメタコで大きさや位置合わせをしなくてもSB3U上で変更は可能です。

もし、SB3U上で位置や大きさ等を合わせたい場合は、あらかじめ基準となる別のMeshを表示させたまま、
位置合わせ等をしたいMeshを表示させ、そのうえでSRTを弄りますとSB3U上でも位置合わせが可能です。

SB3U上で複数のメッシュを表示させる方法ですが
同じAnimator内の場合はCtrl+クリックでMeshを選択すると同時表示でき、
(Shift+クリックでも出来ますがこちらはまとめて全部を選ぶときや隣合ったMeshを選ぶときに使う方が良い様です)
また、別Animatorの場合はAnimatorをそれぞれEditorで開き普通にMeshをクリックして表示させるだけで
同時にMeshがSB3U上で表示されます。

また、このSRTの変更も一つのフレームでするのではなく、Meshの親に当たるフレームをいくつか増やし
移動用、回転用、拡大縮小用とそれぞれに分けて調整した方が上手くいくようです。
一つのフレーム内で全ての変更をしようとしますと、入力した数値通りには動かないことがあります。
基本はMatrixなのでそれぞれの数値同士もある法則で干渉しあっている様ですねぇ。

以上がSRTの内容ですがここでプチ情報をば


SB3UGUIに限らず歴代SB3Uには、メタコで書き出す場合にワールド座標での書き出し機能がついてます。

現在では下の画像の様に「World Coodinates」になってます。
WS000389.jpg
簡単に言いますと、上記で述べたSRTの変更も踏まえた上でメタコに書き出ししてくれます。
つまり、SB3Uで位置合わせ等した物を書き出してくれるのでメタコでも確認が可能に。

んで、それで書き出したメタコの画像がこちら
WS000390.jpg
オブジェクト名が「MP10_Wate(Scale=1000)[0][W]」になってますよね

この記述の最後の[W]がワールド座標を表す表記の様で
この表記があれば同じAnimatorに埋め戻せるようですねぇ。
ただ、やったことが無いのでどうなるか解りませんがこの[W]表記があるMeshを
別のAnimatorに埋め込むとどうなるのかは不明ですが
もし、このままの状態を維持して埋め込んでもらえるならば、既存の物からMeshを抜き出す場合
SRT値を気にすることなく作業が出来ちゃうかもですよねぇ。
誰か一度お試しを~~~!(結果教えてね(^_-)-☆)

まぁ、SRTについてはこれぐらいしか知らないかなぁ
ゲーム内を覗いてみたら、デフォでもこのSRTはかなり活用されているので
参考に覗いてみるのもいいかもですねぇ。

それでは今回はこのぐらいで~っなイトでしたっと。

3 Comments

CL+  

詳しい説明 ありがとうございます。
(Scale=1000)がついてる体などを基準にオブジェクトを作ってる場合
すべての作業が終わってSB3Uに移植する直前に1/1000にすればいいのですね。

2016/12/11 (Sun) 23:02 | EDIT | REPLY |   

RLA  

おおっと!日本のイリゅMod界の池上彰こと解り易い解説でお馴染みの
イトさん講座がまた始まりましたのぉ!ホンマ感謝感激です。
ワテは今んところ年末でちと忙しゅうてノンビリ検証するよな暇はおませんが・・・
イトはんの今迄の技術の粋を集めたバイブルですよってにホンマ感謝してます(__)
ありがとう!

2016/12/12 (Mon) 00:29 | EDIT | REPLY |   

イト  

皆さんいらっしゃいませ~(;^_^A
最近、色々行き詰ってまして~なかなか思うようにMODを作れないのよねぇ。
ってか今週末には他の物の記事を書きたいんだけど~
どうなる事やら(;^_^A

2016/12/15 (Thu) 23:18 | EDIT | REPLY |   

Leave a comment