・各パーツの構造参考


■パーツの構造参考

キャラクターのしっぽや目などの構造の例を載せていきます。しっぽの構造は髪など他のパーツにも応用してください。

【しっぽ】

①Riging からジョイント作成を選んでジョイントを作る。(Skeleton >Create Joints)
(まっすぐ作りたい場合はShiftを押しながら生成)

②親子関係を形成。(子⇒親 の順番に選択しPキー)名前もわかり易い名前に変更する。

③ジョイントの軸を統一
 Xを子に向けるように軸を統一します。

Toggle Local AxesVisibility で軸の表示/非表示ができます。

 ※回転値が入っている場合は、この時点でModify >FreezeTransformationしておきましょう。

<既にバインドされているジョイントに加える場合>

既にバインドされているジョイントに接続する場合は、追加したジョイントもバインドされている状態にしなければいけません。
追加するすべてのジョイントを選択(親だけでなくすべてを選択)し、Skin >Edit Influences >Add Influences で追加します。
「Paint Skin Weight Tool」でインフルエンスになっているか確認しましょう。

・しっぽをIKで制御する

しっぽのような形状のものは、IKで制御するのが便利です。(IK制御しないと大変。)

IKで制御する際にジョイントが少しでも曲がっているとその方向に曲がりますが、まっすぐの場合は曲がってくれないので、「曲がってほしい方向」を設定します。

アウトライナーで設定したいジョイントをダブルクリックしアトリビュートエディターを表示、曲がってほしい軸(ここではZ)の「Preferred Angle」に数値を入れます(数値は適当で良い。)これでZ軸回転に曲がりやすくなります。

↓更に、回転範囲を制御したい場合は、「Rotate」で回転のリミットを付けます。

これでジョイントの設定完了。次はIKの設定。Riggingの左から3番目のアイコンCreate IK Handle(Skeleton > Create IK Handle)を選択、
制御したい根本ジョイント⇒先端ジョイントの順に選択すると、先端に制御ロケーターができます。これでIK制御可能になります。

制御ロケータはFreezeTransformation しておきましょう。

曲げる方向を制御する(Pole Vector)(極ベクトル)

次は曲げる方向の制御です。

新規ロケーターを作成 → しっぽの真ん中下あたりに配置(&FreezeTransformation) → ロケーターとIK先端の制御ロケーターを選択、→Constrain >Pole Vector 。しっぽ下のロケーターが、曲がる方向制御のロケーターになります。


バインドスキン時の設定(ジョイントを曲げる際に凹まない設定)

Bind Skin時の設定「Skinning Method」でClassic Linear ではなく[Dual quaternion]にすると、ジョイントを曲げるときに凹まず、筋肉の動きのような処理になります。人間の関節には有効な機能だと思います。ただし問題点もあります。

それは、Dual quaternionはUnityやUnrealEngineなどミドルウェアでは対応していない という事です。処理が重いので対応していないようです。MAYAで完結する作業であれば問題ありませんが、ゲームエンジンで現状は対応していないようなので使用できません(おそらくClassicLinearと同じ結果になる)。

↓ジョイントを曲げてもねじっても、変形がそこまで不自然に凹んだりしません。(下がDual quaternion方式)

↓Bindした後でも変更可能です。オブジェクトのSkinClasterを開くと設定が現れます。



●【まばたき、表情】

※記事は■フェイシャルアニメの参考情報に移動しました。



page top

トップに戻る