肩Pの話

少し前に6666AAPが肩Pの組み方についてツイートしてました。 たぶんボーン/モーション沼の住人しかわからない話だったと思うので、その補足的な解説です。(そのうち御本人からあるかも?)

 

肩Pは準標準プラグインに入っている肩キャンセルボーンです。 肩の回転分を腕に逆回転することで回転キャンセルをします。 準標準プラグインに入っている肩Pは以下の構造になってます。

 

肩P  →  肩  →  肩C   →  腕            付与連動      ウェイト  

           肩Pの-1倍

 

Pが操作用のボーン、肩Cが付与連動によるキャンセル用のボーン(非表示)です。

実は肩Cを入れなくても腕に直接付与連動を設定すればボーン数を減らせるんですが、 肩Cを入れた方がボーンを削除しやすいとか腕IKを入れやすいとかあるのかもしれません。

ちなみに肩Cは肩Cancelの略だというのが定説ですが 肩Pは肩Parent、肩Plus、肩Positioon、肩P(P名)などの諸説あります。

 

で、今回6666AAPの言う肩Pの組み方が以下。

肩  →  肩P  →  肩C   →  腕   

     ウェイト  付与連動

           肩Pの-1倍

 

単純に肩Pを動かすだけだと同じ動作をするので違いはわかりません・・・ が、肩ボーンを動かしている場合に、肩Pのローカル軸が肩に合うか合わないかの違いが出ます。

肩Pと肩の両方を使ってモーションを作ってる時にローカル軸の狂い方が気になってた人もいるかもしれません。 (それに気が付く時点でモーション沼の住人くさいですが)

 

ローカル軸だけなら操作上の問題にすぎないのですが、これがvmdを流し込んだ時にも影響します。

vmdに記録されてる回転量は親ボーンが回転した後の軸を基準に計算してるので、 肩Pを親にしてるか上半身2を親にしてるかで回転の仕方が違うわけです。

どっちにしても合算されるから腕まで行けば同じじゃないの~と思いたいところですが、 付与連動でキャンセルする回転量の基本となる軸が違うのでここでも差が出ます。 キャンセルボーンとしては肩Pを肩の子に置く方が素直な動作をするんじゃないのという話なわけ。

 

で、これがTスタンスとAスタンスの変換の際にも関係してくる・・・という話になってくるわけですが、 ここから先はボーン沼の住人的な発想だし、この方法で変換するのが楽というわけでもないので割愛。 (腕から先にキャンセルボーンを入れる必要が出てくるという罠)

モデルを直接変形してTスタンスにするか、変換ツールを使う方が楽ですよ。

 

肩Pを組み直すことのデメリットですが、 ウェイトボーンが変わるので慣れてないとわかりにくいというのが1点目。 この辺はセットアップを繰り返していると感じる人がいるかもしれない?

もう1つはすでに以前の肩Pで組んであるモーションの動作を完全互換しないという問題。 肩Pを使っている配布モーションとか最近ありますよね、あれが正常動作しなくなるわけです・・・

 

まあこの辺の動作の違いは注意してみてないとよくわからないなんてことも結構ありそうです。 同じモデルで手を合わせる動作とかだと合わないってことになるけど、同じモデルに流し込むことがわりと少なそうですし。

 

この肩Pの作り方ですが、新規に作る場合は以下。

1.肩ボーンを複製(CTRL+D)

2.複製元の肩ボーンを肩Pにリネーム

3.肩Pを肩の下に移動(CTRL+↓)

4.肩Pの親を肩にする

5.腕ボーンを複製

6.複製した腕ボーンを肩Cにリネーム

7.肩Cを腕の上に移動

8.肩Cの親を肩Pにする

9.肩Cの付与親を肩Pに設定して倍率をマイナス1倍

10.腕の親を肩Cにする

 

すでに肩Pがある場合は以下

1.肩を肩Pにリネーム

2.肩Pを肩にリネーム

3.肩Pを肩の下に移動

4.肩の親を上半身2(上半身)にする

5.肩Pの親を肩にする

6.腕Cの親を肩Pにする

7.腕Cの付与親を肩Pに設定して倍率をマイナス1倍

 

・・・めんどくさい