Nodachisoft Nodachisoft logo, Katana Sword Icon
  
@あまじ✎ 2015年12月5日に更新

Blender ⇒ FBX ⇒ Unity 変換のスケール設定

この記事で書いていること

Blender⇒FBX⇒Unity 取込の時の大きさ(スケール係数)調整と注意点について記載しています。最終的に Unity に取り込んだとき、なんかサイズ大きくない?ってなることがあったので、それを防ぐための手順をまとめたものです。

BlenderのスケールとUnityのスケールの設定

3Dオブジェクトの作成にあたって、あらかじめBlender側と Unity 側の物体のスケールを意識しておいた方が良いようです。

スケールを意識していない場合のデメリット

取り込んだ後にUnity 内でサイズを調整することもできますが、そのためにひと手間増えてしまうという欠点があり、オブジェクトを作り直して取り込みしなおすときに毎回どれくらい拡大したかを覚えておかないといけないのが非効率です。

スケールを意識している場合のメリット

スケールをちゃんと定義してからモデリングをするとこんなメリットがあります。

  • 物理的に参考にしたモデルに合わせて長さを合わせられます。モデリングしたり、Unity上に置いたときに、オブジェクトのサイズを数値で把握しておけます。

  • Blender にしろ、 Unity にしろ、物理演算を行う時に正しい距離感でないと意図しない動きとなる場合があります。(※具体的には重力の加速度定数 g を用いた計算式に影響します。当然ながら1kmの距離と1mの距離では物体が落ちるのにかかる時間は違う)

Blender のスケールの種類と Unity のスケールの種類

Blender の3Dビュー、 Unity のシーンウィンドウ、両方とも距離の目安となる網目(グリッド)を利用できます。

ちょっと見えずらいですが、Blender も Unity も濃い色と薄い色の二種類のグリッドが描画されています。

ワンポイント 2018/3/23時点でのUnity2017,Unity2018も同様。

Blender上に表示されたグリッド Blender の 3Dビューのグリッド

Unity 上に表示されるグリッド Unity の 3Dビューのグリッド

Blender の1区画(細分化されたグリッドとグリッドの間の距離)は標準では 1 BU (Blender Unit )と定義されており、変更可能です。

デフォルトでは 1BU は 1メートルに設定されてます。

Unity もデフォルトでサイズ 1 = 1 メートルとなり、1 Unit と定義されます。

Unity では画面を拡大した時、拡大の度合いに合わせて、見やすいサイズのグリッドが自動生成されるようです。

Blender のスケール定義、 Unity のスケール定義

Blender の定義を意識してメートルとしておくことで、頂点間の距離を表示したりできます。

以下、設定前と設定後の画像です。Blender では BUメートル法英単位(インペリアル) の単位で表記を選択できます。。

BUからメートル法への設定変更 BUからメートル法への設定変更

メートル法に設定しておくと、位置など数値を入力するときに、単位(km:キロメートル、m:メートル、cm:センチメートル)をつけて指定することも可能になります。

Blender でサイズが小さい or 大きいものを作るとき

グリッドを表示する範囲を広げるには

Blender ではデフォルトで 10×10のグリッドの線(ライン)が表示されています。また、10本のラインごとに太いグリッドが表示されています。

以下の画面上、項目①「ライン」を10から変更すると、グリッドの線が外側に増えて表示されます。

画面では51本のラインを表示するよう増やした状態です。これで奥行きのあるオブジェクトを作るときにわかりやすくなります。

Blenderでグリッドの設定

Blenderでグリッドの設定

太いグリッドを描画する間隔を変更するには

画面の項目③「細分化」を変更します。(デフォルト10)例えば 3 にすると、3本のグリッド線(ライン)ごとに太いグリッドで表示されます。

グリッドの間隔を変えるには

メートル法にかえたものの、1m単位のグリッドではデザインしにくいような大きなオブジェクト、小さなオブジェクトを作るときはグリッドの間隔など定義を変更できます。

例えば項目②「拡大縮小」を 「2.000」と設定すれば、 グリッドの間隔が2メートル単位になります。

個人的には小物を作るとき「0. 20」(= 20 cm 間隔)くらい、細分化「5」に設定してあげると 1 m 単位で太いグリッド線が引かれ、感覚で距離感がわかって良いかと思います。

Blenderでグリッドの設定

Blenderでグリッドの設定

※グリッドの太い線と細い線の色を見えずらいのでそれぞれの変更方法がないのかちょっと検索してみましたが、海外のBlenderフォーラムなどで同じ質問をしている方がいて、2013年時点ではできないとの QA をやり取りしてました。

ちなみに、太い線と細い線を分けずに一括での色変更はファイルユーザ設定テーマ3Dビュー から設定できます。

Blender ⇒ FBX ⇒ Unity 変換時の大きさ調整(スケール係数設定)

Blenderで作った 3D データを Unity で使うため、一旦 FBX 形式を経由して取り込みます。

直接Blender( blendファイル形式 )を利用することもできますが、 カメラや照明などの設定も含まれるし、ちょっとファイルサイズは大きくなります。

公式サイトに記載してあるとおり、blend形式をUnity にドラッグ&ドロップして取り込むときは裏側でBlender の FBX エクスポーター機能を使ってFBX 形式に変換して Unity 内に取り込んでいるので、手動でFBX 形式に変換するのと結果的に同じですが。(2021.1.1追記:最新の Unity では動作が異なるようです)

Unity にFBXファイルを取り込んだときスケールが狂っていたとしても、大きさを 0.1 倍で取り込むようUnity側で設定するなど、スケール調整は可能なので安心です。

でもスケールは初めから考慮しておかないと、オブジェクトごとに丁度良いサイズで取り込めるようにファイルごとにスケール係数をメモっておく必要があるかも。時間をおいて、Blender ⇒ FBX ⇒ Unity に取り込もうとしたときに、どのファイルがどれくらいのスケール係数を設定していたか忘れてしまった、なんてことになりそう・・・。

なお、メートル法でデフォルトなら、Blender→FBX で 1 倍、 FBX→Unity 取り込みで 1 倍でサイズをそのままに取り込めるようです。

Blender から FBX に出力するときのスケール係数(Scale Factor)の設定

1.Blender から FBX 形式にエクスポートする時

以下のエクスポートで設定すれば大丈夫でした。

BlenderからFBXファイル出力するときのスケール係数設定 BlenderからFBXファイル出力するときのスケール係数設定

2.Unity で FBX 形式を取り込むとき

FBX をドラッグ&ドロップで取り込んだ後の、オブジェクトプロパティ以下の項目「Scale Factor」でスケール係数を設定できるようです。

Unityから3Dファイルを取り込むときのスケール係数の設定

非常に参考となったサイトさま

ページの更新履歴

更新日 更新内容
2015.12.5 ページ公開
2018.3.23 スマホからレイアウトが崩れて読みにくいので修正。ついでに文章構造と内容、参考サイトのリンク切れやhttps 対応済みリンク先を訂正。

 
 
送信しました!

コメント、ありがとうございます。

なんかエラーでした

ごめんなさい。エラーでうまく送信できませんでした。ご迷惑をおかけします。しばらくおいてから再度送信を試していただくか、以下から DM などでご連絡頂ければと思います。

Twitter:@NodachiSoft_jp
お名前:
 
連絡先:
 
メッセージ:
 
戻る
内容の確認!

以下の内容でコメントを送信します。よろしければ、「送信」を押してください。修正する場合は「戻る」を押してください

お名前:
 
連絡先:
 
メッセージ:
 
Roboto からの操作ではないという確認のため確認キーを入れてください。
確認キー=95
戻る
 / 
送信確認へ
コメント欄
コメント送信確認へ

関連ありそうな記事(5件)です!

Blenderで作成した3DファイルをUnityに取り込む方法

Blenderで作成した3DファイルをUnityに取り込む方法

#Blender#Unity✎ 2015-12-18
Unity に取り込むのを前提で Blender2.74 にてマテリアルおよびテクスチャの設定を行うときの手順や注意事項をまとめたものです。特に、Blender で割り当てた情報のどの3Dデータ情報(形状とか色など)が、 Unity に取り込めるのかを整理するために書いたものです。
目次
Blender ⇒ FBX ⇒ Unity 変換のスケール設定
Blender ⇒ FBX ⇒ Unity 変換のスケール設定
この記事で書いていること
この記事で書いていること
BlenderのスケールとUnityのスケールの設定
BlenderのスケールとUnityのスケールの設定
スケールを意識していない場合のデメリット
スケールを意識していない場合のデメリット
スケールを意識している場合のメリット
スケールを意識している場合のメリット
Blender のスケールの種類と Unity のスケールの種類
Blender のスケールの種類と Unity のスケールの種類
Blender のスケール定義、 Unity のスケール定義
Blender のスケール定義、 Unity のスケール定義
Blender でサイズが小さい or 大きいものを作るとき
Blender でサイズが小さい or 大きいものを作るとき
グリッドを表示する範囲を広げるには
グリッドを表示する範囲を広げるには
太いグリッドを描画する間隔を変更するには
太いグリッドを描画する間隔を変更するには
グリッドの間隔を変えるには
グリッドの間隔を変えるには
Blender ⇒ FBX ⇒ Unity 変換時の大きさ調整(スケール係数設定)
Blender ⇒ FBX ⇒ Unity 変換時の大きさ調整(スケール係数設定)
Blender から FBX に出力するときのスケール係数(Scale Factor)の設定
Blender から FBX に出力するときのスケール係数(Scale Factor)の設定
1.Blender から FBX 形式にエクスポートする時
1.Blender から FBX 形式にエクスポートする時
2.Unity で FBX 形式を取り込むとき
2.Unity で FBX 形式を取り込むとき
非常に参考となったサイトさま
非常に参考となったサイトさま
ページの更新履歴
ページの更新履歴
Nodachisoft © 2021