BlenderとUnityで作ったものをVR(Meta Quest/Oculus Link)で動かします

ブログの女の子を作る #96 手を修正してSubsurface Scatteringの爪を作る【Blender】

 
前回はひじと手首がねじれ過ぎるのを補助ボーンで修正しました。
 
今回は、関節系を修正してる時にずっと気になっていた手を修正します。
なんか長さや角度がおかしいんですよね。
 
指先には爪を作り、マテリアルにSubsurface Scatteringを設定してみました。
良い感じになりましたよ。



開発環境

・Blender 3.0.0
・CPU:AMD Ryzen 7 3700X
・グラボ:ASUS ROG-STRIX-RTX2060S-O8G-GAMING
 

(1) 手をリトポロジーする

いまのメッシュ状態を確認しつつ、手のリトポロジーを進めて行きます。
 

修正前のすがた

まずは現状です。
 
ぱっと見た感じでは問題なさそうに見えますが、指を曲げるとおかしな感じに。
 
それぞれの指を曲げただけですが、変な方向に曲がってますね。
回転軸がおかしい?
 
あと、曲げた時のすきまも気になります。
握りこぶしができる感じが欲しい。
 
横から見ると、指の太さも違和感ありますね。バランス悪い感じです。
この辺りを重点的に修正していきましょう。
 

指をまっすぐ滑らかにする

上から見てみると、指がまっすぐでなく、太さも不ぞろいになってました。
手はモデリングし始めた時に作って以来、まったく修正してませんでした。今見ると、粗さが目立ちますね。
 
まっすぐ滑らかになるよう頂点を修正します。
 
方向を変えて見てみると、指が広がり過ぎな気がしました。
 
プロポーショナル編集で、内側に指を移動して隙間を減らします。
 
横から見てみました。手が傾いてますね。
キャラはTポーズをとってるので、もう少し水平方向にも調整した方が良さそう。
 
手先の頂点をすべて選択して、少し回転します。
これでほぼ平行になりました。
この方が修正作業もしやすいはず。
 

指の形を整える

親指の位置も内側に移動しておきましょう。
 
これくらいでしょうか。
 
指の先端部分も下がり過ぎです。
 
水平になるよう調整します。
 
指先を良く見ると、なぜか上部分が丸まってました。。。
まだ爪を作っていないとは言え、丸くなるのは指の腹側なのでかなりおかしい。
 
指先の頂点を持ち上げて、上部分は平らに、下部分は丸くなるよう修正します。
 
指先の方が太いのも変ですね。
 
指先は細く、根本はやや太くなるよう修正しました。
 

頂点もまっすぐしておく

指を拡大してみると、頂点がガタガタです。
 
まっすぐになるよう、頂点の位置を調整しておきます。
まっすぐになりました。
 
ついでに、関節部分の内側の辺を消しておきましょう。
こうすることで、曲げた時に関節部分が破綻しにくいらしい。
 

手のひらを厚くする

指先は良い感じになりましたので、他の部分も修正していきます。
 
手の甲が薄い感じですので、プロポーショナル編集で手の中央あたりをつかんで持ち上げておきます。
 
厚くなりましたね。
 
下部分も同じ要領で、下方向にひっぱります。
 
これでバランスが取れました。
 
最後に、親指をもう少し小さくしておきましょうか。
 
これくらいで良いでしょう。
これで、ざっくりとした修正ができました!
 


(2) 爪を作る

次に、指先に爪を作っていきます。
 
テクスチャで爪を描くことも考えましたが、爪を描くのが面倒なのと立体感が欲しいので、メッシュで作ることにしました。
 
この辺りにナイフツールで辺を増やして、爪の形を作ります。
 
なんとなく爪の形にしてみました。
 
爪の先端部分を上に上げることで、爪っぽくします。
 
下から見るとこんな感じに。
 
ピンク色のマテリアルを設定すると、更に爪っぽくなりました。
方向性はこれで良さそうですね。
 

全ての指の爪を作る

他の指にも爪を作るのですが、最初から作るのは大変すぎるので、先ほど作った爪を複製しておきます。
 
そして、爪を入れる部分の頂点を消しておき、
 
回転や拡大・縮小を使って、指先に合うように大きさや角度を調整していきます。
 
最後に、スキマに面を張れば完成です。
 
残りの指も同じ感じでやっておきます。
これで爪ができました!
 
 

(3) 反対側に手をコピーする

左手が出来ましたので、これを右手にコピーします。
 

指が短い?

と、その前に、手を上から見てみるとなんか違和感あります。
 
ボーンを表示してみると、かなり指が短くなってることに気づきました。
調整を繰り返しているうちに、短くなってしまっていたようです。
 
指全体をつかんで、プロポーショナル編集で長くします。
これで違和感が無くなりました。
 

右手にミラーコピーする

まず、右手の頂点をばっさりと削除します。
 
これで下準備ができました。
 
先ほど作成した左手の頂点をすべて選択し、「Shift + Dキー」で複製したあと、
 
メッシュ -> ミラー -> X Global」でミラー反転します。
実行前に、3Dカーソルを原点に移動しておくのを忘れないように。これを忘れると、正しい位置に反転コピーしてくれないんですよね。。。
 
コピーできました!
 

手をつなげる

反転コピーした後は、法線を表示して外側を向いているか確認しましょう。法線の方向が内側を向いていると、Unity側でマテリアルの表示がおかしくなりますので。
確認してみると、手首と手のひら付近の法線の方向が内側になってますね。
 
「面の向きを外側に揃える」を実行しておきます。
これで良いですね。
 
最後に、手と腕の面をつなげば完了です。
 
念のため、「対象にスナップ」も実行しておきましょうか。
 
これで今後は左右対称で作業できるようになります。
 


(4) ボーン調整

手のリトポロジーが完了しましたので、次はボーンを調整していきます。
 

指のボーンの付け根を移動する

ネットで良いボーン位置を探していると、「みゅーおすしの(@miut_dayo)」様のツイートが見つかりました。
 
 
指の付け根では無く、もう少し手首側に移動する必要があったようです。
 
握りこぶしを作った時の位置ですね。
ありがとうございました!
 

ボーン配置を外側にする

次に、ボーンの位置を外側に移動しました。画像では上方向ですね。
以前、ひざやひじでも使った方法です。これで指を曲げた時のすきまを減らせます。
 
ボーン配置が曲がっていたのも、まっすぐにしておきます。
 
メッシュとボーンをいろいろ修正しましたので、ここで一度、「自動のウェイトで」を実行しておきます。
 

ボーンのロールを調整する

次は、ボーンのロール調整。ロールは「ヘッド・テール軸周りのボーン回転」ですね。
 
そういえば指ボーンのロールはデフォルトのままで修正したことはありませんでした。
 
ボーンの座標軸を表示して、指を曲げてみました。
それぞれの指をローカル座標で曲げただけですが、やはり変な方向に曲がってますね。
 
指ボーンの座標軸に赤枠を付けてみました。
水平ではなく、少しずれていることが分かります。15度くらいずれてるっぽい。
 
指に対して水平・垂直になるようにロール角度を修正します。
 
親指は最初から45度くらい曲がってますが、これも親指の角度に合わせてロール角度を調整します。
これで良いですね。
 

指ボーンのロールを内側に向ける

この状態で指を曲げてみると、
 
今度はまっすぐな方向になりました!
ですが、指と指のすきまが気になります。。。
 
ネットで調べてみると、指ボーンのロールをまっすぐではなく、少しだけ内側にすると良いらしい。
 
やってみました。
 
握りこぶしっぽくなって、指のすきまがなくなりました!
素晴らしい!!
 
下から見ても良い感じですね。
 

少し手を細くしておく

最後の調整です。
 
手をグーの形にした時、手の左側が大きすぎる気がしました。
この辺りですね。
 
もう少し細くしておきましょう。
 
メッシュを修正したあとは、ボーン位置も変更して修正作業完了です。
 
これで手が小さくなりましたよ。
 

(5) Unityでの動作確認とボーンのリセット

Unityで動作確認しましょう。
BlenderでFBXファイルをエクスポートして、Unity側にインポートします。
 

爪にSubsurface Scatteringを設定する

爪部分のマテリアルには、「Subsurface Scattering(サブサーフェススキャタリング)」を使ってみます。
拡大してみると、想像以上に爪でした!
透明感もありますね。爪を作って良かったですよ。
 

Unityで動かすと指がおかしな方向に曲がる

で、キレイな爪で喜んでいたのですが、UnityのPlayボタンを押して動かして見ると、指がおかしな方向に曲がってしまいました。。。
 
これはやばい。
 

手動で曲げると良いが…

「Unityにインポートする時にボーン設定がおかしくなった?」と思いつつ、手動でボーンを曲げてみます。
 
指はまっすぐ曲がりますね。この状態では問題なさそう。
 
ですが、Playで動かすとやはり指の曲がり方がおかしい。
困った。
 

ボーンの Pose を再設定する

かなり悩んだのですが、やっと解決方法が見つかりました!!
 
まず、Unityでリグ設定を行う設定画面を表示します。
ここで、画面右下の「Pose -> Reset」を実行します。
 
すると、メッシュとボーンの形がBlenderで修正したのと同じ状態になります。どうやら、ボーンを修正した時は Reset を実行する必要があったようですね。。。
ボーンは直ったっぽいですが、画面左上に警告出てますね。「キャラクターがTポーズになっていない」らしい。
見た目はTポーズなんですが、指の角度が若干まっすぐでないようです。細かい。。。
 
手動で修正しても良いですが、面倒なので先ほどの Reset の2つ下にある「Enforce T-Pose」を実行します。
警告が消えました!
 

Unityを動かしても指がまっすぐになった!

この状態で、Unityを動かしてみます。
 
指がまっすぐになりました!!
 
一時はどうなることかと思いましたが、直って本当に良かった。。。
 


(6) 最後の調整

やっと手が正しく表示されるようになりました。
 
その他におかしいところが無いか確認していると、爪が角ばってる気がしました。
ポリゴン少な目にしてたのが原因ですね。
 

爪を丸くして伸ばす

もう少しだけ頂点を増やして、丸みを増やしておきます。
 
そして、ちょっと深爪っぽいので爪を伸ばしておきます。
 
爪の先端を選択して、押し出しすれば良いですね。
 
爪が伸びました!
 
その他の指も修正しておきます。
 
再度、Unityにインポートしなおしてみます。
 
まずは爪を伸ばす前です。
 
そして、伸ばした後はこんな感じになりました。
丸みが増えたおかげか、爪の両脇部分の光沢が増しましたね。
爪の先端部分の黒ずんだ感じも軽減されて、更に爪っぽくなった気がします。
 

手と爪ができた!

これで全ての作業が完了しました。
 
太陽の光が爪に反射してキレイに見えています。
 
拡大しても良い感じですね。
 
光源の反対方向に爪があると、光が透けたように見えますね。
Subsurface Scatteringすごい。
 
手を組んだポーズにしてみました。まずは修正前
 
修正後です。
 
手がスッキリして角度も直り、爪があることでキレイに見えてます。
 

まとめ 

今回はずっと気になっていた手を修正しました。
 
手のリトポロジーとボーン配置を修正して、爪のマテリアルにはSubsurface Scatteringを使いました。
爪がキレイに見えるのが良かったですね。
 
スポンサーリンク

コメント

  • トラックバックは利用できません。

  • コメント (0)

  1. この記事へのコメントはありません。

ブログの女の子を作る #95 ひじと手首のねじれ過ぎ問題を補助ボーンで修正する【Blender,Unity】

ブログの女の子を作る #97 アーガイル柄のフリル付きスカートを作る【Blender,Unity】


最近のコメント

だーしゅ
IT関係のお仕事してます。
3Dモデルの女の子は「アリス・ブロコ」。VRは楽しいですね。

[当ブログについて]