backyard

元工学系デザイナーが3DCGで奮闘するブログ

キャラクターの末端の動きを作る

自動でリグ付けする

リギングメニューにした状態で、キャラクターモデルを選択し、「スケルトン」→「クイックリグ」

f:id:pick_puckn13:20190626092911p:plain


起動した段階では「キャラクタ:なし」になっています。「自動リグ」を押すと「QuickRigCharacter」になります。

f:id:pick_puckn13:20190626093013p:plain

 どこかをいじるとジョイントを編集できるらしいですが聞きそびれました‥‥

 

 

手動でジョイントを作成する

「ハイパーグラフ階層」のウィンドウを使うと一気に名前を変更したいときとかに便利

f:id:pick_puckn13:20190626094629p:plain

f:id:pick_puckn13:20190626094743p:plain

ジョイントをビューポートで選択するとハイパーグラフ階層で黄色く選択されます。

名前を変更するには右クリック→「名前の変更」

f:id:pick_puckn13:20190626094820p:plain

 

しっぽのIKハンドルの作成

「スケルトン」→「IKスプラインハンドルの作成」

f:id:pick_puckn13:20190626104143p:plain

ツール設定からスパン数を4にします。

f:id:pick_puckn13:20190626104324p:plain

ハンドルが作成されました。

 

IKハンドルのカーブのCVを移動させたりしてカーブを変形させることでIKをコントロールするらしい。

 

CVにアニメーション付けるの‥‥と疑問だったので聞いてみると、複数の頂点にアニメーションをつけたい場合は「クラスタ」が便利とのこと。頂点をまとめてくれるので管理しやすい様です。

まとめたい頂点を選択し、アニメーションメニューセットから「デフォーム」→「クラスタ

f:id:pick_puckn13:20190626125915p:plain

これがクラスタ

f:id:pick_puckn13:20190626130121p:plain

このクラスタ一つ移動させるだけで頂点が全部ついてきてくれます。

f:id:pick_puckn13:20190626130155p:plain

(と書きましたが正直なところIKカーブで使う目処は立ってない)
 

 

ドリブンキー

パラメータの変化を別のオブジェクトのパラメータに対応させることができる。

例として、ハンドルの回転と連動してドアが開閉するギミックを作ります。

 

アニメーションメニューセットから、「キー」→「ドリブンキーの設定」→「設定」

f:id:pick_puckn13:20190626112804p:plain

動きの元になるハンドルを選択し、「ロード」→「選択項目をドライバとしてロード」

f:id:pick_puckn13:20190626112955p:plain

動きを対応させるドア二つを選択し、「ロード」→「選択項目をドリブンとしてロード」

f:id:pick_puckn13:20190626113027p:plain

ハンドルの回転Xの数値が0の状態、360でそれぞれドアにキーを打っていく(「ドリブンキーの設定」ウィンドウ左下のボタン)。

f:id:pick_puckn13:20190626113152p:plain

ハンドルが0度のときドアも0度(閉じている)

ハンドルが360度のとき画面左側のドアはー120度、画面右側のドアは120度(全開)

でそれぞれハンドルに対してドアにキーを設定する。

f:id:pick_puckn13:20190626113554p:plain

 

サルの手の動きをドリブンキーで制御する

サルの腕のIKをロケータとグループ化し、ロケータを選択して「アトリビュートの追加」を選択、名前を「L_Grip」としてつかむ動き用のパラメータを作成します。

f:id:pick_puckn13:20190626114210p:plain

ロングネームに「L_Grip(任意)」、「数値リビュートのプロパティ」の「最小」に0、「最大」に10、「既定」に5を入力します。

f:id:pick_puckn13:20190626114310p:plain

左の指ジョイントのノード全てをアウトライナから選択し、「キー」→「ドリブンキーの設定」

f:id:pick_puckn13:20190626114556p:plain

 ロケータを先ほどのハンドルと同じようにドライバとしてロードします。指のジョイントは先に選択しておいたのでドリブンのリストに入ってある状態です。

f:id:pick_puckn13:20190626114745p:plain

f:id:pick_puckn13:20190626114808p:plain

アトリビュートエディタからL_Gripの数値を変化させ、

10のときは手が開いている状態

0のときは手を握っている状態

になるように、指のジョイントを一つずつ動かしてキーの設定をしました。

L_gripの数値のみで手の形を制御できるようになります。

既定を5に設定しておいたので、5にすると元の形になります。

f:id:pick_puckn13:20190626115626p:plain

f:id:pick_puckn13:20190626115657p:plain

f:id:pick_puckn13:20190626115721p:plain