日別アーカイブ: 2016年7月4日

■UnityでFBXのデータを使用する注意点

VoxelをUnityで使う際に、「MagicaVoxel」で作って
「Blender」でリギングや調整をしてFBX形式で出力
UnityでFBXを取り込んで、使いますがScale値が1にならない場合がありました
(Scale100になったりする・・・これは気持ち悪い)
今回はこれを直していきたい!
※あくまで初心者が調べた結果なので、問題があるかもしれません

始めにVoxelのCube1つ分はBlender上で「1m」になります
FBXでUnityに読み込んだ場合も、「1m」になっているようですね
scale_test_1
※適当に身長比較、右から1番目がUnityのCube 、右から2番目がVoxelのCube

しかしSceneに配置したVoxelのCubeの「Inspector」からScaleを見ると
Scaleが100となっていて、当然これを1にすると
1mの100分の1なので、1cmと小さくなります
scale_test_2

したらばUnity上の読み込んだFBXデータの「Inspector」からScale Factorを
100に設定すると元サイズが100倍され、Sceneに配置したオブジェクトの
Scaleを1にすれば見え方も変わらず、1mになります!
Sceneに配置する際に巨大なモデルが出てきますが・・・
scale_test_3

しかしこれはFBXデータの元になったBlender側のモデルが小さい場合の
対処になりますね。(Blender側の拡大縮小率1.0)

ではBlender側の拡大縮小率を100にして、FBXを出力
Unityで取り込んで、ScaleFactorは1のまま、Sceneに配置したら
配置オブジェクトのScaleを1にしても大丈夫そうですね
ということで実験!

自前のBlender上のボクセルゆかりんは
寸法を身長1m54cm程度にして、拡大縮小率を1.0にしております
scale_test_4

FBX出力の際には、拡大縮小率を100に設定して出力
scale_test_5

Unityで取り込むこんで、Sceneに配置、Scaleを1にすると
Unity上でBlender上の身長のサイズとなる
scale_test_6

しかしこれが正しいのか結構不安が残ります・・・
下記の参考にさせていただいた資料を見ると、Unity上でScaleを
変更することは書かれていないような・・・

とりあえずこれで制作を進めていこうかな

※参考資料
http://yukuto.net/blog/201512blender_fbx_unity_export_setting_of_scale_factor/
http://wildpractice.blog.fc2.com/blog-entry-9.html
http://d.hatena.ne.jp/tueda_wolf/20120106/p1
http://semakimomo.net/post-102/