今回はリグ周りにある機能について

LightWave には2種類リグプリセットが用意されています

  • Rhiggit(ver2024以降)
  • Genoma(ver2024以前)

そのプリセットの中には、IK/FK の切り替えスイッチのようなものがありました

LightWave でどうやって作るのか調べてみましたが、いつものようにまったく情報がありません

じゃっく

悲しき事よ・・・

無いなら仕方がないということで、Genoma の中身を見ながらやってみた結果、思ったより簡単に作ることができました

情報共有のつもりで記録を残していきます

IK/FK 切り替えスイッチとは

ボーンの動かし方を切り替えるスイッチ

まずはこちらをご覧ください

スイッチを動かすと IK用のNull と FK用のNull が切り替わっています

このリグは Genoma というリグプリセットから作ったものです

古いリグですが、こちらに IK/FK の切り替えスイッチがありました

このスイッチが自分でも作れるようになったら、ボーンの扱いがより楽になりそうです

じゃっく

将来的には自分でリグを組んでみたいです

中身を確認してみた

エクスプレッションで制御していた

まずグラフ編集を開いて、中身を確認してみました

大量の文字列があって思わず圧倒されましたが、どうやらこのエクスプレッション( Expression )という機能で制御しているようです

黄色の文字列はうろ覚えですが、おそらく変位系の何かかなと予想

じゃっく

モーフの中身も黄色の文字列でした

オブジェクトディゾルブの数値で制御していた

次はオブジェクトプロパティのレンダリングタブを確認

すると、オブジェクトディゾルブ( Object Dissolve )という項目のグラフ編集が有効になっていました

切り替えスイッチを動かしてみると数値が変化して、100% になると消失します

じゃっく

ディゾルブは消える、溶けるという意味だそうです

どうやらこんな感じになっているようです

  • 非表示:100%
  • 表示:0%~99%

言い換えると 0 か 1 かで表示の切り替えをしていると考えられます

手順

大体分かったので、さっそく IK/FK の切り替えスイッチを作ってみます

以下手順です

Genoma の中身を見ながら作りましたが、だいたいこんな感じになるはずです

実際にリグを組むわけじゃないですが、組んだ想定で切り替えスイッチを作っていきます

Null を用意

まずは Null を三つ作っていきます

分かりやすいように名前と Null の形状を決めます

  • FK_Null:ボール
  • IK_Null:ボックス
  • Switch_Null:リング

じゃっく

いろんな形状があるのでお好みで

Switch_Null を設定

Switch_Null でコントロールするのですが、一方向にしか動かさないので制限をかけます

モーションオプションを開いて、今回はヘディング制限にチェック

範囲は 0.0° から 90.0° にしました

じゃっく

ついでに動かせる回転軸もヘディングだけにします

IK と FK の Null を設定

STEP1
オブジェクトプロパティを開く

IK_Null と FK_Nullのどちらかを選択して、 オブジェクトプロパティを開きます

レンダリングタブへ移動

オブジェクトディゾルブの隣にある E をクリックして、グラフ編集を有効にします

STEP2
グラフ編集から Switch_Null の 制御用の軸を探す

グラフ編集の中身を確認すると、 IK_Null に Dissolve が追加されているのが確認できます

Switch_Null で IK/FK をコントロールするので、Switch_Null へ移動

移動直後だとチャンネルが大量に表示されますが、Rotation.H をクリックして単一にします

STEP3
IK_Null 用のエクスプレッションを作る

右下のエクスプレッションタブに移動して、制御名と数式を入れていきます

まずは IK_Null 用から

  • 名前:IK_Switch
  • 数式:([Switch_Null.Rotation.H])/90

この 90 となっている数字は、先ほど制限をかけたヘディングの最大角度です

Switch_Null の角度が 0° から 89° の時は表示させたいので、この数式になっています

文字列が長くて入力が大変な場合は、左上のチャンネル名から「エクスプレッションに追加」を実行することで、簡単に入力することができます

じゃっく

入力が終わったら複製を押して、FK_Null 用を作ります

STEP4
FK_Null 用のエクスプレッションを作る

複製を押すと名前に Clone が入るので、名前を FK_Switch に変更

数式も FK_Null 用に変更します

  • 名前:FK_Switch
  • 数式:(90-[Switch_Null.Rotation.H])/90

じゃっく

(1-([Switch_Null.Rotation.H]/90)) でも大丈夫です

うまく入力ができていると複製ボタンの上にある、エクスプレッションに作ったものが入っています

STEP5
IKNull にエクスプレッションを割り当てる

各アイテムのチャンネルタブから IK_Null を開いて、IK_Null.Dissolve を選択します

エクスプレッションタブで、名前が IK_Switch になっていることを確認して適応

STEP6
FK_Null にエクスプレッションを割り当てる

FK_Null も同じように、FK_Null.Dissolve 探して適応します

適応したものはエクスプレッションタブに表示されます

これで設定が完了

じゃっく

実際に動かしてみましょう

動作確認

動かしてみたのがこちらです

うまく切り替わっているのが分かります

これ作り方も分かったので、将来リグを組むときに役に立ちそうです

まとめ

では、今回のまとめ

IK/FK 切り替えスイッチは思ったより簡単にできた
  • グラフ編集から設定できる
  • 数式結果が 0 か 1 かで判定している
  • エクスプレッションという機能を使っている
  • 表示と非表示はオブジェクトディゾルブで行っている

文字列が多くて難しい印象でしたが、思ったより簡単にできました

じゃっく

ただ数式で 0 か 1 で表示判定しているだけでした

今回作ったのは IK/FK 切り替えスイッチですが、時間経過でオブジェクトの表示・非表示にも使えそうです

今後もいろいろ調べていきたいと思います

それでは、お疲れさまでした

おまけ

Null を再編集する

Null の形状をもう一度設定したいときは、オブジェクトプロパティ内のアピアランスから設定できます

「カスタムオブジェクト追加」から「アイテム形状」を追加すれば、形状や色・名前を変えることができます

ただ文字のサイズや位置が、もう少し変えられたら良いのにとも感じました

使用したソフト

3DCG
  • LightWave3D
画像
  • CLIP STUDIO PAINT PRO
動画
  • Bandicam
  • ScreenToGif