機械学習基礎理論独習

誤りがあればご指摘いただけると幸いです。数式が整うまで少し時間かかります。リンクフリーです。

勉強ログです。リンクフリーです
目次へ戻る

【Blender】手の腱を表現する

はじめに

本記事は、手の腱をボーンでそれっぽく実現するものです。
手の腱は第一関節を伸ばしたときに盛り上がり、第一関節を90度曲げたときに見えなくなるものとします。

手の腱は第一関節から第二関節の間と第一関節から手首の近くあたり(下図の赤線で囲った箇所)に見えるものとします。

手のモデルを直接使うのではなく、手の人差し指を模したもので説明します。

1. モデルを作成

まずは、手の人差し指を模したモデルを作成します。(今回の例ではループカットを100本入れました)
円柱に適当な変換をして、下図のようなアーマチュアを仕込みます。
とりあえず、ウェイトは自動で仕込んでください。


2. 補助ボーンを作成

下図のアウトラインを参考に補助ボーンを作成します。
この2つの補助ボーンは Disconnect bone しておく必要があります。

Index2 をZ軸に回転させたときに、以下のようになるようにしてください。


3. 補助ボーンにウェイトとコンストレイントを設定

補助ボーンのウェイトは以下を参考に設定してください。私はWeightが 0.5 のブラシで塗りました。
Auto normalize はチェック入れておいた方が良いです。
なお、2つの補助ボーンのウェイトが重なる箇所は手入力したほうが良いと思います。

Index2の0度~90度のZ回転をX 0.2から0.0に変換するように 2つの補助ボーンに Bone Constrains (Transformation) を設定します。


4. 動作確認

Pose Mode で Index2 のZ軸に回転させてみると手の腱のようなものが出たり消えたりするのが分かります。
以下にIndex2 のZ軸の回転角度が0度、45度、90度のものを載せておきます。お疲れさまでした。


最後に

実際の手のモデルで行う場合、腱に対応する点を作成して上記の手順を行ってください。
以上はパッと思いついた方法であり、YouTubeなどで見かける上級者はもっと高度なことをしていると思います。
うまい方法はいくらでもあると思うので、コメントで紹介してください。

目次へ戻る