本日はBlender枠です。
本日はコップを手に持つなどBlenderで何かを手に持つ動作を実装します。
〇環境
・Blender4.1
・Windows11PC
〇オブジェクトの追従の考え方
オブジェクトを手に持たせるということがどのようなこと考えてみます。
例えば次の立方体と直方体を考えます。
立方体を手、直方体を手に持たせるオブジェクトとして考えるとき、立方体を親オブジェクトとするように直方体を子オブジェクトに設定することで立方体(手)を動かすのに同期して相対位置が変わらず直方体が動きます。
しかし、このように親子関係にすることで"常に"手に対して追従するようになってしまいます。
これでは例えば机の上からコップをとって離すといったことができません。
常に机の上にありながら手の動きに合わせて動いてしまいます。
このために今回はオブジェクトコンストレイント
を使用していきます。
〇オブジェクトコンストレイントを使用した親子関係
Blenderではオブジェクトコンストレイント
と呼ばれる機能を使用することができます。
コンストレイント
とは制限を意味する言葉であり、そのオブジェクトをプログラミング的に挙動を制限することができます。
今回はこちらのキャラクターの左手にコンストレイントを使用して任意のオブジェクトを持たせていきます。
①手に持たせるオブジェクトを用意します。
②オブジェクトを選択している状態でコンストレイント
プロパティを開きます。
③チャイルド
を追加します。
チャイルド
コンストレイントはその名の通り一時的に別のオブジェクトを親とする子オブジェクトとしてふるまうように設定できます。
④ターゲット
にキャラクターのアーマチュアを、ボーンには親オブジェクトにしたいボーン名を登録します。
これによって手に対してオブジェクトが追従するようになります。
コンストレイントには影響
と呼ばれるパラメータがあり、このパラメータが1の時完全に親子関係、0の時親子関係としてはふるまわないようになります。
これによって任意のタイミングでオブジェクトを手に持たせたり、置いたりといった利用ができます。
〇逆補正
次に回転や細かい位置を修正します。
チャイルドコンストレイントには逆補正と呼ばれる機能があります。
一度逆補正を設定
を選択します。
この状態でオブジェクトモードでオブジェクトを移動させて手に追従するように設定します。
位置が決まったら再度逆補正を設定
を選択します。
これによって逆補正が設定され、任意の相対関係を調整できます。
本日は以上です。