今回はBlenderのモデリング&リギングのチュートリアルで、FPS用の腕の制作過程をご紹介しつつ
を丁寧に解説するという内容となっています。
私はFPSゲームを開発するのが好きで腕の3Dモデルを自作することが多いのですが、腕のモデリングやリギングは顔の次くらいに難しく毎回苦労します。しかし何度もチャレンジする中で徐々にコツをつかめてきたので、今回は初心者の方向けにその辺のノウハウをご紹介できたらいいなと思っています。
今回作る腕モデルのサンプル
今回のチュートリアルで作る腕のモデルの完成形は次のとおり。
あくまでもFPS用を想定しているのでほんとに腕だけのモデルとなっています。頂点数は5000程度でゲームに使うのに丁度いい感じですね。
ちなみにリグに関しては、Unityで使う場合はヒューマノイドアニメーションに対応させてもいいかなと思ったのですが、FPS用の腕の場合はFinal IKの「Arm IK」等で制御したほうが簡単なのでそちらに対応した最小限のボーンを持つリグにしました。
手・指・腕の作り方チュートリアル
ではここからFPS用の腕の作り方の手順を通して、Blenderで手・指・腕を作る方法を解説していきます。主な手順は次のとおり。
- 腕のモデリング
- 手のモデリング
- 指のモデリング
- 手袋のモデリング
- メッシュの細分化
- リギング
- ウェイトペイント
- マテリアル作成
- FBX形式でエクスポート
それぞれ詳しく見ていきましょう。
手順1:腕のモデリング
まず、はじめに腕からモデリングしていきます。腕の長さ(=肩~手首まで)は大体0.6m・太さは0.1m・肩幅は0.2mくらいなので、その寸法通りに縮小・移動した立方体を下の図のように配置します。
配置したら「全トランスフォームを適用」して位置・スケール等を適用しておきましょう(下図)。
次にミラーモディファイアを追加し、右側の腕も生成しておきます。
これで下準備ができたので編集モードに切り替えてモデリングしていきましょう。まずは立方体を肘の位置で二等分し、手首の部分の厚みを少し縮めておきます。
次にループカットツールでメッシュをもう少し分割し、下の図のように腕の筋肉による凹凸をつけます。
これで腕はひとまず完了です。まだメッシュがカクカクですが、あとで細かく分割して滑らかにするので今はこのままでOKです。
手順2:手のモデリング
お次は手のモデリングです。手首~指の根本までの長さは大体0.1mなので、腕の末端部分からその分だけ押し出しましょう。
そうしたら手のひらの幅を広げ・厚みを薄くして、ループカット(Ctrl+R)で下の図のように4等分します。
あとは親指の付け根の部分を押し出して少し形を整えれば手は完了です。
手順3:指のモデリング
ではここから少し難しい指のモデリングをしていきます。まず指の長さの目安は次のとおりなので、これを参考にして指を作っていきましょう。
- 親指:6cm
- 人差し指:8cm
- 中指:9cm
- 薬指:8cm
- 小指:6cm
はじめに親指からモデリングしていきます。親指の付け根の面に面の差し込み(Ctrl+I)を行い、その面を引っ張るような感じで次の関節までのメッシュを作ります(下図)。
そうしたら指先も押し出しツールを使って作りましょう。
次は残りの指をモデリングしていきます。親指以外の指の作り方は同じなので、ここではまとめてモデリングしていきますね。
まずは指の付け根から次の関節までを親指の時と同様にして「面の挿入」→面を引っ張る、というやり方で作ります。このとき、次の関節までの長さは指ごとに違うので注意してください(下図)。
あとは押し出しツールで残りの関節も作ります。
これで指のモデリングも完了しました。
手袋(グローブ)のモデリング
これで一応手をモデリングできたのですが、素手のままだとFPSに使うには少し寂しいのでグローブを追加します。まずは下の図のようにグローブで覆う範囲を選択し…
複製(Shift+D)→マウスを動かさずにEnterで確定します。そして複製したメッシュを選択した状態のまま分離(Pキー)を行いましょう。
そうしたら一旦オブジェクトモードにして、いま複製したグローブ部分を選択してから再び編集モードに戻ります。メッシュを全選択し、少しだけ法線方向に拡大(Alt+S)します(下図)。
これでグローブのモデリングもできました。まだ指とグローブの間に隙間がありますが、それはあとで埋めることにしましょう。
手順5:メッシュの細分化
さてこれで一通りモデリングが終わりましたが、いくらなんでもこのままではローポリすぎてカクカクしているのでメッシュを細分化して滑らかにしていきます。
まず一旦オブジェクトモードに移動し、メッシュを選んでスムーズシェードを選択します。見た目が若干滑らかになります(下図)。
ただこれだけだと不十分なので、サブディビジョンサーフェスモディファイアを追加してメッシュ全体を細分化し滑らかにしましょう。
かなりいい感じになりました。あとは納得いくまで微調整しましょう。
できたらモディファイアを全て適用し、グローブの穴の部分をグリッドフィルを使って埋めておいてください(下図)。
これでモデリング作業は完了です。
手順6:リギング
ではお次はなかなか難しいリギングを行っていきましょう。一旦オブジェクトモードに移動し、Shift+A→アーマチュアを選択して新しいアーマチュアを追加します。そうしたら下の図のように胸~手首までのボーンを押し出して作成します。
次に手と指のボーンを追加していきます。手のひらのボーンを押し出し、まずは親指のボーンを追加します(下図)。
上の図では手のひらのボーンと親指の根本のボーンが離れていますね。これはボーンプロパティの「関係」→「接続」をOFFにすることで実現できます。
あとは同様にして他の指のボーンも押し出しましょう。
これで左半分のボーンができたので、次にこれを対称化しましょう。すべてのボーンを選択し、「アーマチュア」→「名前」→「自動ネーム(左右)」を選択します。
そうしたら「アーマチュア」→「対称化」を選択して左右対称なボーンを作成します。
これでボーンは完成です。あとは腕のメッシュと手袋のメッシュをそれぞれこのアーマチュアの子にして、自動でウェイト設定を行いましょう。
一旦オブジェクトモードに戻り、「腕のオブジェクト→アーマチュアのオブジェクト」の順に選択したらペアレントの設定(Ctrl+P)を行い、「自動のウェイトで」を選びます。手袋のほうも同様にして自動でウェイト設定を行ってください。
手順7:ウェイトペイント
さて、これで腕と手袋のメッシュがボーンの動きに合わせて動くようになりました。ただし、このままでは例えば指を回転させたときに手のひらの一部まで動いてしまう…といった変な動きになってしまうことがあります。これは自動でウェイト設定を行ったためです。
そこでウェイトペイント機能を使ってウェイトを手動で修正していきましょう。特に修正が必要になりやすい箇所は
- 手首
- 指の付け根
です。面倒な作業になってしまいますが、ウェイトが変な箇所についていないかを一つずつチェックして必要なら修正を行ってください(下図)。
なお修正するときはブラシを左右対称にしておくと楽です。
ときどきボーズモードでボーンを動かして確認しながら作業するとよいでしょう。これでウェイトペイントもOKです。
手順8:マテリアル作成
ここまででモデリングとリギング作業が一通りできましたが、このままではメッシュ表面に色がついておらず真っ白なので、マテリアルを追加して色をつけてみましょう。
マテリアルはメッシュオブジェクトを選択し、マテリアルプロパティの「新規作成」から追加することができます。下の図のように適当な色を付けておいてください。
手順9:FBX形式でエクスポート
これでFPS用の腕が完成しました!最後にFBX形式でエクスポートし、Unity等のゲームエンジンで使えるようにします。
メニューの「ファイル」→「エクスポート」→「FBX」を選ぶとダイアログが出るので、下の記事の設定を参考にしてエクスポートを行ってください。
おわりに
以上、長くなってしまいましたがBlenderで手・指・腕のモデリング&リギングをする方法をチュートリアル形式で解説しました。
腕のモデリングやリギングで難儀する初心者の方は多いと思いますが、今回の内容が少しでも参考になれば幸いです。