[Cheetah3D 5.7] ジョイント (2)

以前簡単なジョイントの設置方法を試してみたのだが、今回はキャラクターに全身用のジョイントを仕込んでみた。躓いた箇所がいくつかあったのでメモっておく。前回とかぶってる内容もある。

ジョイント

  1. キャラクターを読み込んで基本設定をする。
    ※サブディビジョンはOFFにしておく。後でウェイト調整する際にわかりづらいから。
  2. ジョイントを追加する。手足は片方だけ。
    ※下記の画像ではジョイントの色を赤にしてしまったが、赤は選択時の色に設定されているので赤以外の色にしたほうがいい
  3. imatakeさんに教えて頂いた、tg_jpさん作成のMirror Copy.jsをダウンロードして、[Users]>[ライブラリ]>[Application Support]>[Cheetah3D]>[scripts]>[Tool]に「Mirror Copy.js」を入れる。
    ※起動中に入れた場合はソフトの再起動が必要
  4. [ツール]>[スクリプト]>[ツール スクリプト]>[Mirror Copy.js]をクリックすると、「オブジェクトブラウザ」の上に「ツール」が表示される。
  5. 「オブジェクトブラウザ」で鏡面コピーするジョイントを選択して、[Mirror Copy.js]>[millor plane]を「X」(デフォルト)の状態で、[Mirror Copy.js]>[object copy]の「copy」をクリック。ジョイントが多いと多少時間がかかる。
    ※ジョイントの名前に「Left 」とあると、鏡面コピーされたジョイントは「Right」となる。今回日本語名称にしてしまったので「_Copy」と付いている。その他に「_L」⇔「_R」、「Top」⇔「Bottom 」、「_T ⇔「_B」

スケルトン

  1. ジョイントをすべて設定したら[タグ]>[スケルトン]を追加して、ジョイントのルートをスケルトンのプロパティにドラッグ&ドロップする。
  2. [スケルトン]>[自動ウェイト]>[メッシュにバインド]>[OK]をクリックして、ウェイトを表示させる。
    ※バーテックスウェイトの範囲を元に戻したい場合もこれ
  3. ウェイトの値を変更するには、[ツール]>[キャラクターツール]>[バーテックスウェイト]をクリックして、「ツール」を表示させ、「スケルトン」で任意のジョイントを選択して、ウェイトの値を変更する。
    ※デフォルトではモードが「効果減」になっていて、そのままペイント(クリックorドラッグ)するとウェイトが消える。「効果追加」に変更するとウェイトを追加できる。「最大値」は…なぞ。
  4. 「スケルトン」を追加後は、オブジェクトブラウザで任意のジョイントを選択した状態で「移動変形」で回転させるとオブジェクトが動く。
  5. ジョイント自体を修正したい場合は、「スケルトン」をOFFにする。

ポーズ

  1. [タグ]>[ポーズ]を追加。
  2. 何もポーズをつけない状態で、「新規ポーズ」をクリックする。クリックした時点で設定される。名称を「default」と変更した。
  3. ポーズをつけたら、「新規ポーズ」をクリックする。クリックした時点で設定される。
  4. 複数のポーズは、「セット」を押せば切替できる。

ジョイントツールやバーテックスウェイトなどは、別のツールを選択すると自動で選択が切れるので、再度メニューから任意のツールを選択する必要がある。まあ、あたり前なんだけど結構わからなくなったので。

今回はIKをちゃんと設定してないので、次回はIKハンドルとIKコンストレインを試してみようと思っている。いつになるかわからないけど。また、ジョイントの効率の良い組み方がまだわからないので、研究が必要だなぁ。

関連リンク