【Blender】手・指・腕の作り方!FPS用の腕をモデリング&リギングしてみよう

Blender 手・指・腕の作り方 Blender

今回はBlenderのモデリング&リギングのチュートリアルで、FPS用の腕の制作過程をご紹介しつつ

Blenderを使った手・指・腕の作り方

を丁寧に解説するという内容となっています。

私はFPSゲームを開発するのが好きで腕の3Dモデルを自作することが多いのですが、腕のモデリングやリギングは顔の次くらいに難しく毎回苦労します。しかし何度もチャレンジする中で徐々にコツをつかめてきたので、今回は初心者の方向けにその辺のノウハウをご紹介できたらいいなと思っています。

今回作る腕モデルのサンプル

今回のチュートリアルで作る腕のモデルの完成形は次のとおり。

FPS用の腕モデルのサンプル

あくまでもFPS用を想定しているのでほんとに腕だけのモデルとなっています。頂点数は5000程度でゲームに使うのに丁度いい感じですね。

ちなみにリグに関しては、Unityで使う場合はヒューマノイドアニメーションに対応させてもいいかなと思ったのですが、FPS用の腕の場合はFinal IKの「Arm IK」等で制御したほうが簡単なのでそちらに対応した最小限のボーンを持つリグにしました。

手・指・腕の作り方チュートリアル

ではここからFPS用の腕の作り方の手順を通して、Blenderで手・指・腕を作る方法を解説していきます。主な手順は次のとおり。

  1. 腕のモデリング
  2. 手のモデリング
  3. 指のモデリング
  4. 手袋のモデリング
  5. メッシュの細分化
  6. リギング
  7. ウェイトペイント
  8. マテリアル作成
  9. FBX形式でエクスポート

それぞれ詳しく見ていきましょう。

手順1:腕のモデリング

まず、はじめに腕からモデリングしていきます。腕の長さ(=肩~手首まで)は大体0.6m・太さは0.1m・肩幅は0.2mくらいなので、その寸法通りに縮小・移動した立方体を下の図のように配置します。

腕の原型となる立方体

配置したら「全トランスフォームを適用」して位置・スケール等を適用しておきましょう(下図)。

全トランスフォームを適用

次にミラーモディファイアを追加し、右側の腕も生成しておきます。

ミラーモディファイアの追加

これで下準備ができたので編集モードに切り替えてモデリングしていきましょう。まずは立方体を肘の位置で二等分し、手首の部分の厚みを少し縮めておきます。

腕のモデリング(1)

次にループカットツールでメッシュをもう少し分割し、下の図のように腕の筋肉による凹凸をつけます。

腕のモデリング(2)

これで腕はひとまず完了です。まだメッシュがカクカクですが、あとで細かく分割して滑らかにするので今はこのままでOKです。

手順2:手のモデリング

お次は手のモデリングです。手首~指の根本までの長さは大体0.1mなので、腕の末端部分からその分だけ押し出しましょう。

手のモデリング(1)

そうしたら手のひらの幅を広げ・厚みを薄くして、ループカット(Ctrl+R)で下の図のように4等分します。

手のモデリング(2)

あとは親指の付け根の部分を押し出して少し形を整えれば手は完了です。

手のモデリング(3)

手順3:指のモデリング

ではここから少し難しい指のモデリングをしていきます。まず指の長さの目安は次のとおりなので、これを参考にして指を作っていきましょう。

  • 親指:6cm
  • 人差し指:8cm
  • 中指:9cm
  • 薬指:8cm
  • 小指:6cm

はじめに親指からモデリングしていきます。親指の付け根の面に面の差し込み(Ctrl+I)を行い、その面を引っ張るような感じで次の関節までのメッシュを作ります(下図)。

親指のモデリング(1)

そうしたら指先も押し出しツールを使って作りましょう。

親指のモデリング(2)

次は残りの指をモデリングしていきます。親指以外の指の作り方は同じなので、ここではまとめてモデリングしていきますね。

まずは指の付け根から次の関節までを親指の時と同様にして「面の挿入」→面を引っ張る、というやり方で作ります。このとき、次の関節までの長さは指ごとに違うので注意してください(下図)。

その他の指のモデリング(1)

あとは押し出しツールで残りの関節も作ります。

その他の指のモデリング(2)

これで指のモデリングも完了しました。

手袋(グローブ)のモデリング

これで一応手をモデリングできたのですが、素手のままだとFPSに使うには少し寂しいのでグローブを追加します。まずは下の図のようにグローブで覆う範囲を選択し…

手袋のモデリング(1)

複製(Shift+D)→マウスを動かさずにEnterで確定します。そして複製したメッシュを選択した状態のまま分離(Pキー)を行いましょう。

そうしたら一旦オブジェクトモードにして、いま複製したグローブ部分を選択してから再び編集モードに戻ります。メッシュを全選択し、少しだけ法線方向に拡大(Alt+S)します(下図)。

手袋のモデリング(2)

これでグローブのモデリングもできました。まだ指とグローブの間に隙間がありますが、それはあとで埋めることにしましょう。

手順5:メッシュの細分化

さてこれで一通りモデリングが終わりましたが、いくらなんでもこのままではローポリすぎてカクカクしているのでメッシュを細分化して滑らかにしていきます。

まず一旦オブジェクトモードに移動し、メッシュを選んでスムーズシェードを選択します。見た目が若干滑らかになります(下図)。

スムーズシェードを適用

ただこれだけだと不十分なので、サブディビジョンサーフェスモディファイアを追加してメッシュ全体を細分化し滑らかにしましょう。

サブディビジョンサーフェスモディファイアを適用

かなりいい感じになりました。あとは納得いくまで微調整しましょう。

できたらモディファイアを全て適用し、グローブの穴の部分をグリッドフィルを使って埋めておいてください(下図)。

グリッドフィルで穴を埋める

これでモデリング作業は完了です。

手順6:リギング

ではお次はなかなか難しいリギングを行っていきましょう。一旦オブジェクトモードに移動し、Shift+A→アーマチュアを選択して新しいアーマチュアを追加します。そうしたら下の図のように胸~手首までのボーンを押し出して作成します。

胸~手首までのボーンの追加

次に手と指のボーンを追加していきます。手のひらのボーンを押し出し、まずは親指のボーンを追加します(下図)。

親指のボーン

上の図では手のひらのボーンと親指の根本のボーンが離れていますね。これはボーンプロパティの「関係」→「接続」をOFFにすることで実現できます。

ボーンプロパティの「接続」チェックボックス

あとは同様にして他の指のボーンも押し出しましょう。

その他の指のボーン

これで左半分のボーンができたので、次にこれを対称化しましょう。すべてのボーンを選択し、「アーマチュア」→「名前」→「自動ネーム(左右)」を選択します。

自動ネーム

そうしたら「アーマチュア」→「対称化」を選択して左右対称なボーンを作成します。

ボーンの対称化

これでボーンは完成です。あとは腕のメッシュと手袋のメッシュをそれぞれこのアーマチュアの子にして、自動でウェイト設定を行いましょう。

一旦オブジェクトモードに戻り、「腕のオブジェクト→アーマチュアのオブジェクト」の順に選択したらペアレントの設定(Ctrl+P)を行い、「自動のウェイトで」を選びます。手袋のほうも同様にして自動でウェイト設定を行ってください。

手順7:ウェイトペイント

さて、これで腕と手袋のメッシュがボーンの動きに合わせて動くようになりました。ただし、このままでは例えば指を回転させたときに手のひらの一部まで動いてしまう…といった変な動きになってしまうことがあります。これは自動でウェイト設定を行ったためです。

そこでウェイトペイント機能を使ってウェイトを手動で修正していきましょう。特に修正が必要になりやすい箇所は

  • 手首
  • 指の付け根

です。面倒な作業になってしまいますが、ウェイトが変な箇所についていないかを一つずつチェックして必要なら修正を行ってください(下図)。

指のウェイト(修正前)

修正前

指のウェイト(修正後)

修正後

なお修正するときはブラシを左右対称にしておくと楽です。

ウェイトペイントの対称化

ときどきボーズモードでボーンを動かして確認しながら作業するとよいでしょう。これでウェイトペイントもOKです。

手順8:マテリアル作成

ここまででモデリングとリギング作業が一通りできましたが、このままではメッシュ表面に色がついておらず真っ白なので、マテリアルを追加して色をつけてみましょう。

マテリアルはメッシュオブジェクトを選択し、マテリアルプロパティの「新規作成」から追加することができます。下の図のように適当な色を付けておいてください。

マテリアルを追加して色を付ける

手順9:FBX形式でエクスポート

これでFPS用の腕が完成しました!最後にFBX形式でエクスポートし、Unity等のゲームエンジンで使えるようにします。

メニューの「ファイル」→「エクスポート」→「FBX」を選ぶとダイアログが出るので、下の記事の設定を参考にしてエクスポートを行ってください。

Blenderで作った3Dモデルのスケール・回転がUnity上でおかしくなる場合の対処法
Unityでゲームを作っているとBlenderで作った3Dモデルをインポートして使いたくなる場合がありますよね。しかし普通にFBX出力したモデルをUnityにインポートすると、下の図のようにスケールや回転がおかしなことになってしまいます(※...

おわりに

以上、長くなってしまいましたがBlenderで手・指・腕のモデリング&リギングをする方法をチュートリアル形式で解説しました。

腕のモデリングやリギングで難儀する初心者の方は多いと思いますが、今回の内容が少しでも参考になれば幸いです。