経緯
以下の要求から、最近アンリアルエンジンとブレンダーを触り始めた。
- マンガの背景の作画資料をCGで作りたい
- 出来合いのアセットを使って楽に建築物なんかを作りたい
- ちょっとした3D素材なら自作したい
しかし、CGの世界には現実世界のような絶対的な長さの単位がないので、ヴァーチャルな世界の大きさ感覚がつかめなくて混乱する。
アンリアルエンジンにインポートした素材のプロパティに「Approx size(おおよその大きさ)」という項目があり、ドアだとかの大きさを見たところどうもこの数字が現実世界でのセンチメートルと対応しているらしい。
- 100x100x100だったら100cmの立方体
そこで、身近な物体で建築物の大きさの理解の基準となる畳の大きさ(90cm×180cm)の板をブレンダーで自分で作り、それをアンリアルエンジンにインポートしたいと考えた。これができれば6畳とか8畳とかの床をコピペで作ることができ、アンリアルエンジンの世界での建物の大きさの基準を得ることができるはず。
目的
- ブレンダーで任意の大きさ、例えば畳約一畳分といえる90cm×180cm×10cmの大きさの立方体をブレンダーで作りたい
問題
- イラストレーターのように、キューブを選択して「大きさ」のプロパティの欄に縦横高さの希望の数字を入力するとその大きさになってくれる、ということがない
- 縦横高さのプロパティは元のポリゴンをどれくらいの比率で変形させるかというスケールの数字のみであるらしく、絶対的な大きさを示すプロパティがない
方法論
- ブレンダーのグリッドの大きさを設定し、メートル単位と対応するようにする
- オブジェクトをグリッドに吸着させ、グリッドで数えて任意の大きさの物体を作る
- アンリアルエンジンに書き出してインポート
ブレンダーのグリッドの設定
- ブレンダーの設定にグリッド表示があり、このグリッドの大きさが現実世界のどれくらいの大きさと対応するのかという設定ができる
- これをメートル法のグリッドにしておく
- シーン設定>単位(Units)からやるらしい
- ブレンダーで新規ファイルを作成する
- 立方体がディフォルトで配置されてるはず
- これをそのままfbxファイルにエクスポートする
- Geometory > Smoothing 設定を「Face」 にしておく
- 書き出したfbxファイルをアンリアルエンジンにインポートする
- アンリアルエンジンでインポートしたアセットのプロパティ > Approx size を確認する
↓
- ブレンダーの1グリッド=アンリアルエンジンでのApprox size 10 =現実世界での10センチメートルだと言える
ブレンダーで立方体を編集しやすいようにする
- モードをエディットモードにして、立方体の頂点を編集できるようにする
- さらに選択対象が「頂点」「エッジ」「面」とみっつの規模から設定できる。面選択のモードにする
- 面を選択し、表示をXYZのまっすぐ視点からのものにし、矢印で伸ばしたり縮ませたりする
グリッド吸着モードにする
- U字磁石のアイコンをクリックするとスナップのON/OFFを切り替えられる。ONにする
- さらに、吸着の詳細設定ができ、「Absolute Grid Snap」をオンにする
- キューブの大きさ編集で伸び縮みさせるとき、グリッドに吸着するようになる
アンリアルエンジンでの利用例
バージョンメモ
- Blender 2.93.4
- UnrealEngine 5.0.3