3Dモデルの腕を作る【Blender / Unity】

今回の記事では、Blenderで3Dモデルの腕を作る際のひじのウェイト塗りとUnityでの手首ひねりボーンの制作過程をまとめてみました。
腕は3Dモデルがなんとなくいまいちに見える要因になりがちだと思うので、可能な範囲でさりげなく補正できるといいかなと思います。

ひじのウェイト塗り

現実のひじは曲げた時に骨があるのが分かりますが、3Dモデルで骨の感じを出すのには工夫が必要です。
ひざの補助ボーンの記事と同じように補助ボーンを入れる方法などもありますが、今回はウェイト塗りで処理してみようと思います。

骨は皮や肉と違って伸び縮みしないので、ウェイトで言うなら「単一のボーンにウェイトが塗られている」という状態にすればOKです。
ひじの部分の飛び出す骨は前腕と一緒に回転しているので、ひじの骨にあたる部分を前腕(LowerArm)ボーンに割り当てます。

こんな感じです!

ボーンを動かしてみるとこんな感じです。

柔らかめの素材の服だったら骨は見えにくいと思うので、どのくらい骨感を出すのかは調整が必要ですね。

手首のひねりボーン

3Dモデルで、手首を大きくひねると不自然な変形になるという現象があります。
手をひねる時には本来前腕の先端寄りの筋肉・皮膚が手と一緒に回りますが、3Dモデルだと手と前腕が別々のパーツとして区切られているため起こってしまう現象です。

これをUnityで解消したい場合、前腕の先端寄りの部分に補助ボーンを入れることになります。

まずBlenderで前腕ボーンの子として前腕の手首側に補助ボーンを作ります。名前は好きにつけて大丈夫です。
前腕ボーンから押し出す際、逆向きにするとUnityのコンポーネントがバグっぽい挙動をするようだったのでボーンの向きは前腕と同じ方向にするのが良いかと思います。
(接続を切って位置を前腕の手首側にします)

ウェイトは前腕の先端の方にかけてグラデーションになるようにします。

この状態でUnityに持っていき、ひざの補助ボーンの記事と同様にRotation Constraintコンポーネントをつけます。
回転のコピー元はHandボーンに設定します。
Weightはモデルを確認しながら調整すればいいかなと思います。
更に今回はローカルY軸の回転だけをコピーしたいので、Freeze Rotation AxisのチェックをYのみにします。

出来上がり

手のボーンを回転させると前腕の先端寄りの部分も一緒に回転しているのが分かるでしょうか?(白いテクスチャで見づらくて申し訳ないです)
より人間の手首っぽい動きになったかと思います!

まとめ

ちょっとした工夫で見た目が改善されるポイントがあるので、作業面やモデルの雰囲気などを見ながら上手に反映させるのがいいかなと思います。
ただし、ゲーム用のモデルの場合はあまり凝りすぎずにほどほどでもいいのかなと…。
手首ひねりボーンはモデルをバストアップで大きく映さない限りあまり気にならないので、入れなくてもよい気もします。

シェアする

「Blender」の記事

最新記事

もっと読む>>