(エンジニア向け)めちゃくちゃちょろいモック用3Dモデルの雑な作り方。

簡単な3Dモデルの知識

1からちゃんとモデリングできるようになるのは敷居がめちゃくちゃ高い。
モデリングって工程数めちゃくちゃ多いですし。

いちいちモデラーとデザイナーに相談しなくてもテストできる素材の作成目的で
Blenderを使うようになったので
いつもやってる雑なモックアップ用モデリングの流れをメモします。
「モデリング途中まで勉強したけど敷居高すぎて辞めた。」
みたいなエンジニアの救済になればいいなと。

モデラーからは怒られそうな雑さですが副産物として
setPassCall(いわゆるドローコール)だけはめちゃくちゃ少なく作れます。
大量にオブジェクトを表示させるゲームとかにはもってこいです。
(作り方にもよりますがモバイルでも200体とかは余裕でした)
しかし近くでは見るに堪えないモデリングです。(俯瞰とか小さく使うならギリ許される感じ)

本来の制作の流れとは違ったりするので3dモデルに興味が出てきたら
ちゃんと参考書読んでくださいね。

知識ゼロでもだいたい1時間くらいで終わると思います。

1.雑なテクスチャ

photoShopなどで適当に配色した小さい画像を用意します。
texture.png
これはpixel合わせもやっていないものです。
配色考えるのもダルいと言う方は「配色 デザイン」とかで検索してみてください。
配色デザインのサンプルサイトがいっぱい出てくるので
そこから選ぶと脳みそ使わなくていいので楽です。

2.雑にやる準備

日本語化

blenderを開くと最初この白箱が一個置かれてる画面になります。
qiita0A.gif
iconを選択してUserPreferenceに変更してください。

この画面になったら
qiita0B.gif
1.Systemタブを選択して
2.InternationalFontsを日本語にして
3.Interfaceボタンを押します。
4.ユーザー設定の保存を押して完了です。

画面が日本語になったら成功です。

ラップトップ用準備

qiita1.gif

1.入力タブを選択して
2.テンキーを模倣にチェック
3.ユーザー設定の保存を押して完了です。

何したのかっていうとこれ入れとかないと
数字キーがショートカットの時に使えないんです。
Blenderには謎仕様がちょいちょいあるのです。
終わったら保存してさっきのテクスチャと同じフォルダに置いてください

3.雑なモデリング

qiita10.jpg

一番雑なやり方で人型モデルを作ります。

準備

新規のunityプロジェクトを作ってAssetフォルダに先ほどのテクスチャとBlenderファイルを入れます。
qiita2.gif

blenderファイルを開いて
1.3Dビューに変更
2.数字キーの5を押して平行投影に変更
上の表示が平行投影になっていればOKです。
もう一度5を押すと元に戻ります。
1.3.7を順番に押してみてください。
「1」で正面
「3」で真横
「7」で真上
だけ覚えておけばOKです。

ミラーモディファイアー

Blenderで一番違和感があったのが右クリックめちゃくちゃ使うってトコなんですが
これはもう慣れでしかないので慣れてください。
右クリックで白箱を選択してtabを押してください。
編集モードに入ります。
編集モードでしかモデルの形状をいじることはできません。
qiita3A.gif
tabで切り替えできます
編集モードに入ったら
qiita3B.gif
1.Ctrl+Rで縦に輪切りにします。紫の表示が出たら2回クリックでOK
2.1を押して正面になったらZを押してワイヤー表示にします。(Zは表示切り替え。option+Zでシェーダー表示)
3.Aを押して選択を外して(Aは全選択と選択外し)
4.Bのグループ選択で左側の頂点を選択して
5.Xで消します。(Xは消去)
半分になったらOKです。
qiita4.gif
1.tabで編集モードからオブジェクトモードに戻します。
2.右の方にあるモディファイアーアイコンをクリックします
3.追加ボタンを押して一覧にあるミラーを選択します。
4.クリッピングにチェックを入れてください
半分になった白箱が補完されたら成功です。
これで右だけ作れば自動的に左も補完されます

ゴミを消しておく

qiita5.gif
1.作業しにくいのでカメラとライトのオブジェクトを選択してXで消去します。
2.Shit+Cで軸をセンターに合わせられるようになります。(パニックになったら一旦Shit+Cで落ち着きましょう。)

面を追加

qiita6.gif
1.qiita6.jpg左から頂点、辺、面選択ツールのを選択して
2.Eで面を増やしてSで縮小します。
3.さらにEで面を増やして伸ばします。
これで胴体を作ります。
同じ要領で手足も作ります。
足を追加するときはミラーモディファイアのクリッピングのチェックを外してからやってください。
チェック外さないと足が左右くっついてしまうので。

座標合わせ

qiita8.gif
1.人型ができたら編集モードにしてAで全選択します
2.そのまま矢印をドラッグして足元に黄色い点を合わせます

4.雑なUV展開

qiita9A.gif
1.右上にあるシマシマの部分をドラッグしてウインドウを増やします。
2.UV/画像エディターに変更します。
qiita9B.gif
3.ツールバーの開くをクリックして一番最初に作ったテクスチャを選択します
qiita9C.gif
4.カーソルを左に移して編集モードにして全選択した状態でUを押します。
(カーソルがウィンドウに乗ってないと反応しないのはBlenderの謎仕様です)
5.UVマッピングメニューが出るので展開を選択します。
6.UVマップがテクスチャに書き出されます。
qiita9D.gif
7.カーソルを右に移して全選択の状態にしてからS > Z > 0の順番に押します。
8.UVが一点に集約されますので今度はGを押してお好きな色においてください
(option + Zのシェーダー表示で色を確認できます。)
qiita9E.gif
9.もうUV/画像エディターに用はないのでシマシマの部分をドラッグしてウインドウを潰します。

5.雑なリギング

qiita10A.gif
1.Shift+Aで追加メニューを出してアーマチュア > 単一ボーンを選択します
2.アーマチュアが選択された状態で人の形をしたiconを選択します
3.表示カテゴリのレントゲンにチェックを入れます。
4.表示タブのスティックを押しといた方がやりやすいけど押さなくてもいいです。ボーンの形が変わるだけなので。
qiita10B.gif
5.アーマチュアを選択してtabを押すとボーンの選択モードになります。
6.端っこの球を選択してEでボーンを追加できます。胴体頭はこれと同じ要領で追加してください
qiita10C.gif
7.左メニューのオプションにあるX軸ミラーにチェックを入れます
8.Shift+Eで左右両方に同じようにボーンを追加できます。

6.雑なウェイト付け

qiita11.gif
1.ボーン配置が終わったらオブジェクトモードに戻してShiftを押しながらモデル > アーマチュアの順番に選択します。
2.Ctrl + Pでペアレント対象メニューを出して自動のウェイトでを選択します。
qiita12.gif
3.アーマチュアを選択した状態でCtrl + tabでポーズモードに移行します。
4.モデルを選択して同じくCtrl + tabでウェイトペイントモードになります。
5.試しに曲げてみて(ボーン選択してRで回転できます)くっついてきていればOKです。
(R回転、S拡大縮小、Gで移動)
(option+Rで回転消去、option+Sで拡大縮小消去、option+Gで移動消去)

7.雑なアニメーション

走るアニメーションを付けます。
qiita13A.gif
1.下にあるタイムラインウインドウの右のシマシマをドラッグしてiconをクリックしドープシートを選択します。
qiita13B.gif
2.ツールバーのドープシートになっている部分をアクションに変更
3.すかさずFボタンを押します。(押さないとやばいです。アニメーション付けても消えます。Blenderの謎仕様です)
4.任意の名前にしてください。
(Fボタン横の+ボタンでアニメーションを増やせます)
qiita14.gif
5.タイムラインウインドウのrecボタンを押します。(ポーズモードのボーンを動かしたら自動的にキーフレームを打ってくれます)
qiita15A.gif
6.タイムラインの終了が250は長すぎるので30に変更します
qiita15B.gif
7.ボーンを選択してCtrl + tabでポーズモード(ボーンのアウトラインが青くなってればOK)にします。
8.ボーンを個別に選択してRを押すと回転がいじれるようになるのでいい感じのポーズになるように調整します。
9.逆サイドのボーンに同じポーズをさせたい場合はCommand + C > Command + Shift + Vで逆側のボーンにコピペできます。
qiita15C.gif
10.キーフレームを打つためのタイムラインが狭すぎるのでCtrl + 横スクロールで間隔を広げます。
qiita15D.gif
11.ポーズをAで全選択してCommand + Cでコピーします。
12.キーフレームを15まで進めて(緑のラインが15にきてればOK)Command + Shift + Vで反転コピーします。
13.キーフレームを30まで進めてCommand + Vで普通にコピーします。
qiita16A.gif
14.ハンドルをドラッグして高さを調整します。
15.同じ高さになるように最初に設定したボーンをコピペします。
qiita16B.gif
16.中間部分の高さを補正します。

8.雑なunityへのインポート

ここまできたらあとは動かすだけです。
qiita17.gif
1.ProjectパネルのBlenderFileを選択しインスペクタでActionのアニメーションをLoopにします。
qiita18A.gif
2.AnimatorControllerを作ります
qiita18A0.gif
3.BlenderファイルをHierarchyにドラッグしAnimatorControllerを設定します。
qiita18B1.gif
4.AnimatorControllerを開きStateを作ります。
qiita18B2.gif
5.StateにAnimationを設定します。
qiita18C.gif
6.実行

こんな感じです。

まとめ

本来必要なめちゃくちゃめんどくさい作業とか説明が難しいところ全部カットしてみました。
(3面図からのモデリング、シーム付け、UV展開、ウェイト塗り、IK、テクスチャ描きなど)
上に書いたのは慣れたらには10分くらいで終わる作業になります。
でも文章化したらでもそこそこ物量ある風に見えますね。

3dの本買ったけど積ん読になってる人や
試したけど途中で挫折した人はこれ一回試してみてください。

細かい部分は動かして、興味が湧いてから補完すればいいと思います。
覚えたらサクサク素材作れて思いつきを形にするのが楽になります。
エンジニアが考えた面白いを人に伝達することでロストしちゃう
そんな部分も形にするまで一人でやれるようになると
残したままでイケるのもいいところです。

qiitaFixed.gif
こんだけ入れて最適化全くしなくてもSetPass callsは35−37くらい
でコマ落ちもないです。マップも同一Materialならあんま変わらないです。
余計なこと考えないでゲームの実装に集中できます。

後半になるにつれて文章も雑になっていますが許してください。
眠かったんです。

お疲れ様でした。