Blenderで作った建物のスケールをUnityに合わせる

投稿者: | 2019-12-12


Blenderで建物を簡単に作ってUnityに持っていきます。

Unityのサイズの1単位(デフォルトのCubeの辺のサイズ)は1メートルです。
参考:https://docs.unity3d.com/ja/current/Manual/BestPracticeMakingBelievableVisuals1.html

なので、Blenderなどの外部のソフトでも1単位=1メートルに合わせると作業を進めやすいです。

BlenderではプロパティのScene -> Units でメートル法を選択できます。

メートル法にすると、BlenderのデフォルトのCubeのScaleが1のとき一辺が2メートルと表示されました。

そこで、エクスポートするときに左下のパネルでScaleを0.5、Apply ScalをFBX Allにしてみます。

このCubeをUnityに持ってきました。

左がUnityの一辺が1のCube、右がBlenderから持ってきた一辺が1のCubeです。

座標を合わせるとピッタリと一致します。

FPSコントローラからの見た目を確認する

Blenderで作った建物をUnityに持ってきました。

学校の一部を作りました

スタンダードアセットのFPSコントローラで中を歩いてみます。

コライダーをつけないとプレイヤーが建物をすり抜けて落ちていきます。複数選択して一度に付けると早いです。


法律で決まっているサイズに合わせて作り、Unityの1単位を1メートルとしてスケールをあわせたのですが、FPSコントローラのカメラから見ると建物がかなり狭く見えます。

なので建物の全体のスケールを大きくしたりして調節する必要がありそうです。

2倍にしてもまだ少し狭い感じがしますが、サイズはとりあえずこれで良いとして、今度はFPSコントローラのカメラが低くて、小さい子供からの視点のようになっているのを直してみます。

FPSコントローラにはキャラクターコントローラコンポーネントが付いていて、高さは1.8になっています。さらにキャラクターの子オブジェクトとして、カメラが付いていて、Y座標は0.8になっています。

試しにキャラクターコントローラの高さを2倍にしてみても、中心からのカメラの高さは変わっていないようです。

このときの頭のカメラのワールドのY座標を見ると2.6~2.7くらいです。

床のY座標は0にしています。

なのでこのようになっているかもしれません。

他の値でもこうなりました。

なので、キャラクターコントローラの高さを建物に合わせて2倍にして、カメラの高さも2倍にしてみます。

身長は良くなりましたが、やはり建物がまだ小さいです。
建物や家具は実際のサイズに合わせてBlenderなどの外部ソフトで作るとして、Unityでは見た目を確認しながら柔軟に全体のスケールを調節するのがいいかもしれません。

画像検索などをして、実際の学校の写真と見比べて調節することにします。

他にも、カメラのField of Viewでカメラの画角を変えると見た目がかなり変わります。

コメントを残す

メールアドレスが公開されることはありません。