fbx形式でエクスポートする時に注意する点
メインメニューの「ファイル」-「エクスポート」でfbx形式で出力する場合に、
fbx形式の持つことのできる情報、受け取る3DCGツールが受け取ることができる情報、
の差により制限や注意点があります。
形状名は半角の英字または数字を使用
fbxエクスポート時は、形状名やイメージ名/マスターサーフェス名は、ブラウザでの名前をそのまま使用します。
日本語を含む全角が含まれる場合、他の3DCGツールに渡したときに文字化けをしたり、
環境によっては動作が不安定になる場合があります。
そのため、形状名やイメージ名/マスターサーフェス名は、
半角の英字か数字を使用するように置き換えるようにしてください。
同一マスターサーフェス名/イメージ名は置き換えられる
マスターサーフェス名/イメージ名で同じ名前がある場合は、
「イメージ名_連番.png」「マスターサーフェス名_連番」のように置き換わります。
表面材質はマスターサーフェスで管理する
Shade3D内では、形状に対して直接表面材質で色やテクスチャを指定できます。
fbxでエクスポートする場合は、マスターサーフェスで表面材質はまとめるようにしておきます。
これは、fbx構造での表面材質(マテリアル)の指定方法や、受け取る3DCGツールでは
形状に対して直接マテリアルを指定する手段がないことが多いためです。
Shade3Dからマスターサーフェスを使用せずにfbx出力した場合は、自動的にマスターサーフェス名が割り当てられます。
表面材質のマッピングレイヤでのソリッドテクスチャは渡せない
表面材質のマッピングレイヤでの「チェック」「雲」「スポット」などのソリッドテクスチャは、
fbx構造では受け取ることができません。
表面材質のマッピングレイヤでの「ラップ」(UV)以外は渡せない
テクスチャを形状にマッピングする際の投影手段は「ラップ」(UVマップ)以外を指定しても、
fbx構造では受け取ることができません。
レンダリングブーリアン情報
レンダリングブーリアンの情報をfbxで渡しても
他の3DCGツールではレンダリングブーリアン用と判断することはできません。
レンダリングブーリアン情報はShade3D独自の情報になります。
形状名に記号を使用した場合は「_」に置き換えられる
形状名に「 \ / : * ? ” < > |」の記号を使用した場合は「_」(アンダーバー)に置き換えられます。
エクスポートできるジョイントの種類
ボーンとボールジョイント、回転ジョイントを使ったモーション出力のみに対応しています。
これらは、fbxに出力する際にボーン(fbxとしてはスケルトンと呼ばれます)に変換されます。
これは、fbx構造ではアニメーション要素として「回転や拡大縮小ジョイント」のような
特定のモーションだけに特化した形状要素を持たないためです。
スキンは「頂点ブレンド」を使用する
スキンを使用する際は「頂点ブレンド」形式を使用するようにします。
ボーンやボールジョイントの変換要素
「回転」「せん断」が0に、「スケール」が1.0になるようにします。
ポリゴンメッシュのサブディビジョン情報
3DCGツールによって、ポリゴンメッシュのサブディビジョン情報を受け取ることができる場合と
できない場合があります。
リアルタイム系のゲームエンジンの場合は、サブディビジョン情報を受け取れない場合が多いです。
この場合は、FBXエクスポート時に「ポリゴンメッシュのサブディビジョンをベイク」をオンにすると、
ポリゴンメッシュの面が再分割されて出力されます。
FBXエクスポート時のオプション指定
FBXエクスポート時に、オプションを指定するダイアログボックスが表示されます。
ここでは、以下の指定を行うと安定します。
- 「形式」-「座標系」-「FBXの単位」を「cm」にする
fbx構造での初期単位は「cm」であるため。 - 「ジオメトリ」-「面の頂点の法線を出力」をオンにする
法線を与えない場合は3DCGツール側で法線を自動計算しますが、ツールによって異なるのと、
法線を計算しないツールもあるため、法線は明示的に出力したほうがいいです。 - 「表面材質」-「イメージをFBXファイルに埋込み」をオフにする
特にゲームエンジンの場合は、イメージやマテリアル情報は重複させないように管理します。
このとき、形状の再インポートやプロジェクトの更新を行った場合に
イメージがfbxに埋め込まれているとテクスチャの再読み込みが発生します。
これを避けるために、イメージはFBXファイルと分けて与えたほうが効率がいいです。
マテリアルは、fbxを読み込んだツール側で再度構築するようにします。 - 「表面材質」-「イメージの反転や反復をベイク」をオフにする
テクスチャマッピング時は、イメージの反転や反復などは使用しないように構成します。
これは、他ツールに渡す際にテクスチャをベイクすることによる解像度の劣化や、
テクスチャ要素が増えてしまうのを抑えるためです。