はじめに
今回は、Blenderでキャラモデルにウエイトを塗って動かす方法を解説します。
第21回の続きになります。
このようなキャラクターのモデルがある状態で進めます。
(素体+靴下のウエイト付けまで完了していればOKです)
靴の側面作成
まず、靴底以外の形を作ります。
シュリンクラップで大まかな形の作成
Shift+A → メッシュ → 「平面」を作成。
Ctrl+Tab → 6キーで編集モード。
Aキーで全選択。
Gキー → Xキーで対称軸に重ならない位置に平面を移動。
モディファイアプロパティ → 「モディファイアーを追加」を選択。
「シュリンクラップ」を選択。
もう一度、モディファイアーを追加。
「ミラー」を選択。
下図のようになればOKです。
Shrinkwrap → ターゲットのスポイトをクリック。
その後、靴下のメッシュを選択。
すると、靴下の形に添って面が張られます。
この平面を脚の下に移動。
辺を選択 → Eキーで押し出し。
または、Ctrl+R → マウスの中ホイールを操作したループカットを使い分割を増やします。
Shrinkwrapのオフセット値を少し上げます。(0.015 m)
すると、靴の原形になってきます。
下図のように面貼り。
すると、やや靴っぽくなります。
この形ができたらオプジェクトモード。
Aキーで全選択 → 高さが0地点に合うように上に移動。
右クリック → スムーズシェードを入れます。
あとは、半分だけの凸形状のポリゴン割などを入れて、必要箇所の分割を増やします。
Kキーのナイフツールで分割。
(図は上の方でカットを失敗してます)
面の流れの変え方、凸形状のポリゴン割はこちらをご覧ください。
足元の分割が増えたので、カクカク感が減りました。
さらに水色のマテリアルを作成+割り当て。
靴に色を塗ります。
靴下との違いが分かりやすくなりました。
ある程度形ができましたら、Shrinkwrapモディファイアの上にマウスを移動。
Ctrl+Aで適用。
これで、大まかな形が完成です。
形の調整
この形をポリゴンモデリングで調整します。
Ctrl+Tab → 2キーのスカルプトモード。
Shift+クリックのスムーズブラシを入れるだけで、だいぶそれっぽくなります。
Kキーのスネークフックで靴の前方を押し出し。
必要であれは編集モードに切り替え。
Ctrl+Rのループカットなどで分割を増やします。
これで靴の側面が完成です。
つぎは、靴底関係を調整します。
靴底の作成
靴の底面のメッシュを選択。
Sキー → Zキー → 0キーで1靴底を押しつぶします。
この状態で足先の面を選択。
Gキーで下方向に移動。
さらに選択範囲を調整して、下図のような靴底の形を作ります。
これで、靴底の形になります。
靴底を選択。
Eキー → 下方向に押し出し。
Shift+Alt+クリックで押し出しで生成されたフチを選択。
茶色いマテリアルを作成して割り当て。
違いが分かりやすいように、靴底に色を塗りました。
Ctrl+Rで靴底の側面上部にループカット。
Alt+クリックで生成された細い面を選択。
Alt+Eキー → 「法線に沿って面を押し出し」を選択。
マイナス方向に面を押し出します。
すると、下図のように靴底の溝ができます。
これで、靴底の形が完成です。
かかとに立体物が無い場合は、これで完成。
かかとの作成
かかとの面を選択。
Eキー → 下方向に押し出し。
Ctrl+Rで靴底にループカット。
これは頂点法線を整えて、陰影の見え方を調整するのが狙いです。
頂点法線と陰影の関係はこちらで解説。
これで、かかとが完成です。
あとは、突き抜けなどを調整してください。
底面を作り直す
靴底が見える仕様の場合、なるべく靴底も綺麗に見えるように調整します。
靴底の面を選択 → Xキーの「頂点」などで削除。
この状態で、側面から合いそうな面を張り直します。
縦方向はループカットを入れて調整。
すると、少し面の流れが綺麗になります。
あとは、頂点法線を整えて陰影の見え方を調整します。
やる事の基本は、ループカットで分割を増やすだけです。
これで、靴の基本的な部分が完成です。
もし、ポリゴン数が多くても許される仕様の場合…
ループカットや半凸形状のポリゴン割を使い、カクカクした部分に分割を増やします。
こちらはつま先部分の分割を増やし、形を滑らかにしました。
これで、靴の形が完成です。
靴を動かす
まず、このモデルのボーンの説明をします。
このモデルには足の親指をまとめた親ボーンがあります。
これは、Unityのヒューマノイドに認証させる用です。
そして、脚を個別に動かすためのボーンがあります。
なので、本来の人間より関節が多い状態です。
Shift+クリックで靴のメッシュ → ボーンを選択。
Ctrl+P → 「空のグループで」を選択。
靴のモデルに「データ転送」モディファイアを追加。
ソースで「靴下のモデル」を選択。
(素体、靴にウエイトが入ってる事を前提に進めてます)
頂点データにチェック。
頂点グループを有効化。
マッピングを「最接近辺の補間」などに変更。
Ctrl+AでData Transferを適用。
これで、靴が動くようになりました。
多少破綻しますが…
足の指に合わせても動きます。
以上が靴を浮かす処理です。
動かした時の突き抜け対策
靴を動かすと、形が崩れることがあります。
特に、脚の指にボーンが入ってるモノは崩れます。
この修正方法は下記の4つ。
・素体、靴下との距離を大きくする
・ループカットやナイフツールで分割数を増やす
・三角面化する
・見えないところのポリゴンを消す(VRChatには向かない)
モデルを観察。このような面は、3画ポリゴンの解釈違いで突き抜けが起こってます。
四角ポリゴンは、PC上で三角ポリゴンに変換されて表示されてます。
その時の面の解釈が2通りあり、解釈の向き次第で思った陰影にならない事があります。
平面的な四角形ならいいですが…
現実は立体的な四角形です。
なので、この解釈の向きで形が大きく変わることがあります。
また、この解釈は面をアニメーションさせると途中で変わる事があります。
このようなカクカク、意図しない方向への解釈には「三角面化」が有効。
Kキーのナイフツールで三角面化します。
近くのポリゴンも解釈違いが起きないように、切り込みを入れました。
下図のような三角面が生成されました。
あとは、靴下との距離などを微調整。
これで、先ほどの突き抜けは無くなりました。
以上が、動かした時の突き抜け対策です。
靴の内側を作成
靴の中を作ります。
ややオーバースペックで、本来は不要な表現です。
細かな所まで見えるVRChatや “靴” というモチーフの単体表現が必要な時向け。
靴の側面を選択。
Shift+Dでその場で複製。
Alt+Sで内側に収縮膨張。
隙間を面貼りして埋めます。
下図のように面貼りできればOK。
側面を横方向に面貼り。
靴の中敷き部分を作ります。
靴底 → Alt+N → 「面から設定」を選択。
これで、靴底の頂点法線を編集。
陰影の見え方を調整します。
さらに、マテリアルを2つ作成して割り当てました。
靴底を作ったので、必要であればウエイト転送をやり直します。
突き抜ける面があれば、三角面化や分割を変えるなどで対策します。
以上で靴の内側が完成です。
靴の微調整
靴が足の指で大きく動く事は本来ありません。
なので、この不自然さは許容します。
仕様書を書く場合は、そこに靴を履いてる間は指を動かさない事を必須と書きます。
指を動かす時は靴を脱いでくれ…
つま先のカクカクが目立つので、凸形状のポリゴン割を応用して分割数を増やしました。
逆に、靴の中は見えないので分割数を減らしました。
動きは、脚の先がまとまったボーンを動かして綺麗であれば問題無いと思います。
以上で、靴のモデルが完成です。
まとめ
今回は靴の作り方を解説しました。
・大まかな形は、シュリンクラップで「足」か「靴下」にメッシュを添わせて作成
・細かな形は、シュリンクラップを適応して作成
・靴底は面を選択 → 拡大縮小で下方向に圧縮 → 押し出しで作成
・ウエイトはデータ転送を使って塗る
・動かした時の突き抜け対策は、分割数を増やす、靴下との距離を離す、3角面化
↓次回↓
また、ほかにも3DCGについて解説してます。
ぜひ、こちらもご覧ください。
コメント