modtoolで竜の頭21 - ウェイト調整1
レイアウトを変更します。画面左下に6つのレイアウトプリセットがあります。
それの左上をクリックすると3つのレイアウトに変わります。
左上がユーザービュー、右上がカメラビュー、したがアニメーションエディタです。
ただしここでは設定を少し変えました。
左上がユーザービュー、右上がスケマティック、したがアニメーションエディタです。
レイアウトプリセットのアイコンを右クリックし、「Customize Button…」でレイアウトの中身を変えることが出来ます。
set vw = Desktop.ActiveLayout.Views.Find( "View Manager" ) set oRoot = ActiveSceneRoot oCam = oRoot.FindChild( , sicameraprimtype) vw.setattributevalue "suspenddrawing","true" vw.setattributevalue "activecamera:a","user" vw.setattributevalue "viewport:b","Schematic" vw.setattributevalue "viewport:d","animation editor" vw.setattributevalue "layout","horizontal:d" vw.setattributevalue "suspenddrawing","false"
こちらのコードをペーストすると上記のようなレイアウトに変更できます。
それと、ユーザービューの「DisplayTypeメニュー」から、「Display Option…」を開き
Display Option>Shaded Mode>XRay Modeのチェックを入れるとシェードモードでの骨のX線表示が可能になります。
シェーディング時にも骨が見えます。
これで下準備がそろいました。
シンメトリーコピーはこちらで紹介した。エンペローブの対称化スクリプトを使用することを前提に進めます。
心構えとしてはオブジェクトに向かって画面右側のウェイトを調整することに重点を置きます。
あくまでも気持ちの重点なので厳密でなくてもかまいません。
スクリプトで反映されるものが右側のウェイトなだけです。
スケマティックから「bone1」を選択します。
大本の「bone」をまわしても全体が回ってしまうだけです。
回転ツール「c」に設定してユーザービューで骨を回します。
回転ツールにすると画面右の「Transform」で軸が「Add」になるかと思います。
なっていなければ変更してください。
これは親の軸に追加する、という意味だと思います。確かなことは忘れました。
ただ、骨に直接アニメーションをつける場合はこれ以外の軸にしてアニメーションをつけると
やりたいアニメーションと結果が異なりますので注意してください。
その場合はコンストレインを組んでアニメーションを組むことをお勧めします。
それではここでは一番変化の大きいであろうZ軸、青いリングにポインタを当てて
回転します。
その上の「bone02」も同じように回転させました。
ここでも同じように一番変化が激しいであろう後ろ方向に骨を回します。
要は仰け反らせます。
デフォルトのウェイトの数値が入っているので影響を受けて欲しくない所にも影響が及んでしまっています。
ちなみにSoftimageXSIでは、Animate>Deform>Envelope>ResetActorを行うことで
骨がウェイト割り当ての初期値に戻ります。
要はどれだけ回転させてもリセットできる、ということです。安心して骨を回すことが出来ます。
ただ、リグを組んでから、コンストレインを設定してからリセットをすると意図しない形になってしまうので
注意が必要です。ウェイト調整はリグを組む前に済ませておいた方が無難ではあります。
ただ、リグを組んで動かしてから破綻が分かる場合もあるのでその時は注意して調整すれば大丈夫です。
度々わき道に逸れます。
書いていて我ながら丁寧に説明していると思ってしまいます。
どうもウェイト調整などが久しぶりだからでしょうか。
アニメーションも専門ではないのでそうなりそうな気がしますが、機能的な説明だからなのでしょうか。
それも今後分かってゆくことだと思います。
骨を回転させたら、
オブジェクトを選択し(一度「Space」キーを押して回転ツールをドロップしてからオブジェクトをクリック)、
「i」でエッジ選択モードにし、「Alt」を押しながら一番下のエッジ、首が切れているリング状のエッジを選択します。
SoftimageXSIの独特な選択方法なのですが、ループエッジを選択する時等に使われます。
マウスの中ボタンを使いクリックではなく、選択部分をなでるようにするとループエッジが選択できます。
なんと表現して良いのか分かりません。微妙な操作方法です。
「Ctrl」+「e」でウェイトエディタを出します。
この部分は大本の骨に「100」で良いかと思います。
エディタ内の「bone」と書かれた縦のマスをクリックするとそこに含まれるウェイトが選択できます。
エディタ内にあるスライダを適当な位置でドラッグし始め、一番右にすることで簡単に「100」に設定できます。
エディタ内の「Abs」は絶対値を意味しております。「Add」は追加です。
もとある数値を置き換えるのか、追加するのかの違いです。
用途に合わせて変更させてください。この場合はデフォルトの「Abs」でかまいません。
リアルタイムで表示するモデルは一つの頂点いくつの骨が関連付けられているかが問題になります。
出来るだけ少ない方が負荷が少なくなります。
しかし、見た目的には多くの骨が関連付けられている方がモデルがきれいに曲がります。
そこでせめぎあいが発生します。
よりロースペックな環境、pspやdsでは関連する骨は2本までで数値も0か100、
50か50などの制約が出てきます。エンジンにもよりますが。
今回は最終的にパソコンでDirectXを使うのでその制限は持っているPCのスペックによります。
まぁ、最近のパソコンは、ということで今回はそれほど負荷を考えずに進めてゆきます。
それと、リアルタイムモデルではブラシを使ってウェイトを設定することはまずありません。
それは上記の理由が主です。確実に設定したいからです。
では、後はそれらのことを意識しつつウェイトを調整してゆきます。
次回ウェイトを調整したモデルのシーンデータをアップして解説を交えます。
では、今回はこの辺で。
コメントする
トラックバックする
トラックバック用URL: