gologiusの巣

プログラミングなどの技術メモです。誰かの役に立てるとうれしいです。

メタセコイア ロボットのようなものにボーンを入れる

メタセコイアでボーンを入れてモデルを動かす際に,人なら不自然にならないように変形してほしい場合がほとんどです.

しかし,ロボットや機械などの無機物の場合には,変形してほしくない場合はどうすればよいのでしょうか.

つまり,一つのオブジェクトに一つのボーンを適用したい,一つのオブジェクトに二つ以上のボーンの影響を与えたくない場合です.

需要は非常に多いはずなのに,Webに全然それらしきことが書いていない(調べ不足かもしれませんが...)

というわけで,自分がやった方法をまとめてみました

今回使用するモデル

f:id:kamiwo_koete:20170321095623p:plain

分り易いように色を変えました.以下の説明はウェイトの色とごっちゃになってわかりづらいので,白で着色してます.

ボーンを入れる

左のコマンドパネルにボーンから.リギングタブでボーンの追加ができます.これは直観的にできるのではないでしょうか.

f:id:kamiwo_koete:20170321101649p:plain

スキン設定

動かしたいすべてのオブジェクトを選択します.

f:id:kamiwo_koete:20170321101754p:plain

スキニング,ボーン影響,正規化はどうでもいいです.変形させる際の設定なので.

スキニング

オブジェクトに各ボーンの影響度(=ウェイト)を設定していきます.肩を例に説明します.

  1. 動かしたいオブジェクトの頂点を選択
    • 例:オブジェクトshoulderの頂点をCtrl+Aなどですべて選択します
  2. 対応するボーンをボーンリストから選択
    • 例:bone1をクリック
  3. スキニング->ペイント->頂点で,全ボーンからのウェイトをクリアをクリック
    • 正規化していたり,余計な操作が入っていると,ウェイトが設定されている場合があるため
  4. スキニング->ペイント->頂点100の部分をクリック f:id:kamiwo_koete:20170321104017p:plain

これらの処理をすべての動かしたいオブジェクト,ボーンに適用します.

例の場合は,選択された頂点(=shoulder)へのbone1の影響度を100%にした,ということです.つまりbone1のみにshoulderは従う,ということです. (ここらへんの説明間違っていたら指摘お願いします.

説明動画と結果

www.youtube.com

もっといい方法あったら教えてください

参考

Metasequoia BBS