FBX(時には Filmbox と呼びます)は3Dアニメーションデータを別のアプリケーション間で交換するファイルフォーマットです。これにはジオメトリ、ライト、カメラ、NURBS、アニメーション、スキンなどのシーン全体を含むことができます。
Note
FBXフォーマットの仕様は通常ではHoudiniのパーティクルシステムや流体のようにポイントの数が変化したり接続性が変わるようなアニメーションオブジェクトには対応していません。これらのタイプのオブジェクトをエクスポートする場合には、それぞれ三角形に分解するしかありません(とはいえ、それらの三角形は1つのFBXノード内にあります)。
これらのオブジェクトを別のアプリケーションに取り込んだ時に元の外観に戻すには、頂点を結合して適切なメッシュのエッジすべてにsmooth
を設定しなければなりません。
また、それらのタイプのオブジェクトを適切にMaya™ にインポートするには、MayaのFBXインポーターの Use FBX Framerate in Maya オプションを 有効 にしなければなりません。
パラメータ ¶
Save to Disk
直近のレンダーコントロール設定でレンダリングを開始します。
Controls
レンダリング前にレンダーパラメータの調整が可能なRender Controlウィンドウを開きます。
Valid Frame Range
このレンダーノードが現行フレームまたは Start/End/Inc で指定された画像シーケンスのどちらを出力するのかを制御します。
Render Current Frame
現行フレームのみをエクスポートします。
Render Frame Range
Start/End/Inc で指定された範囲のフレームをエクスポートしますが、その範囲内のフレームが参照しているフレームのエクスポートも許可します。
Render Frame Range Only (Strict)
Start/End/Inc で指定された範囲のフレームのみをエクスポートします。 その範囲内のフレームが参照している他のフレームのエクスポートを許可しません。
Start/End/Inc
レンダリングするフレーム範囲(開始フレーム、終了フレーム、増分フレーム)を指定します。 どの値にも浮動小数点値を指定することができます。この範囲は、開始フレームと終了フレームを含みます。
Start/End/Inc パラメータは、出力ドライバの以下のローカル変数の値を決めます。
$NRENDER
出力ドライバでレンダリングされるフレームの数。
$N
レンダリングされている現行フレーム(1から$NRENDER
までの値)。
例えば、これらのパラメータが以下のように設定されている場合:
Start |
End |
Inc |
---|---|---|
10.5 |
12 |
0.5 |
…4フレーム分(10.5, 11, 11.5, 12)レンダリングされるので、$NRENDER
の値が4になります。$N
は各フレームで以下の値になります:
Frame |
|
---|---|
10.5 |
1 |
11 |
2 |
11.5 |
3 |
12 |
4 |
Render with Take
レンダリング時に、指定したテイク内の設定を使います。現行テイクを使うのであれば、 Current を選択します。
Export
エクスポートを開始するノード。
デフォルトは/obj
です。これは、/obj
以下のすべてのオブジェクトとサブネットワークがエクスポートされます。
エクスポートするノードがネットワークなら、その内容のみが書き出され、ネットワークそのものが書き出されるわけではありません。
Create Root for Subnet
有効にすると、サブネットワークの時に、Export
ノード用に余分なルートが作成されます。
これにより、サブネットワークノードをエクスポートすると、それがFBXファイルで表現されます。
Output File
ジオメトリを保存するファイル(拡張子を.fbx
にしてください)。
Skip Existing Frames
既存フレームのレンダリングをスキップします。このパラメータには3つの値があります。
Overwrite existing frames
このオプションは、ディスク上のファイルの有無に関わらず、すべてのフレームをレンダリングします。
Skip frames that exist
vm_picture
パラメータに該当するディスクファイルが存在すれば、そのレンダリングを実行しません。
Skip frames that are valid images
ディスクファイルが存在すれば、レンダリングを実行する前に、その画像の整合性をチェックします。 このオプションは、画像の読み込みに負荷がかかりますが、完全にレンダリングされなかった画像を再レンダリングします。
Build Hierarchy from Path Attribute
文字列Primitiveアトリビュートを使用して、出力ファイル内にシェイプノードを作成します。 各文字列値は、プリミティブが作成される先となるシェイプノードのパスとして扱われます。 中間ノードは、必要に応じて単位行列のトランスフォームを使って作成されます。 そのプリミティブがパックプリミティブの場合、その親ノードがそのプリミティブのトランスフォームを継承します。
このパス値に絶対ファイルシステム接頭辞(例えば、op:
、http:
、C:
など)が含まれていれば、まず最初にそれらの接頭辞が除去されます。
Note
このパラメータは、Geometryコンテキストから使用した時、または、 Export パラメータにGeometryオブジェクトを設定した時にのみ利用可能です。
Note
アニメーションエクスポートのサポートは、現在のところプリミティブのトランスフォームのエクスポートにのみ制限されていて、 各プリミティブのアトリビュート値が必ず固有のパスでなければなりません。 頂点キャッシュへのエクスポートもジオメトリトポロジーの変化にも対応していません。
Path Attribute
Build Hierarchy from Path Attribute で使用されるパスを含んだアトリビュートの名前。
FBX ¶
Export in ASCII
有効にすると、エクスポートするFBXファイルは人が解読できるASCIIフォーマットになります。 無効にすると、ファイルはバイナリFBXフォーマットとしてエクスポートされます。
FBX SDK Version
FBXファイルのエクスポートに使用するSDKバージョン。
Vertex Cache Format
エクスポートされる頂点キャッシュファイルフォーマット。
Maya Compatible (MC)
Mayaのネイティブ頂点キャッシュフォーマット。
3DS MAX Compatible (PC2)
3DS MAXと互換性のある頂点キャッシュフォーマット。
Export Invisible Objects
不可視オブジェクトのエクスポートの方法を決めます。 これはシーンに、非常に複雑だけどエクスポートする必要のない隠しオブジェクトが含まれている時に役に立ちます。
As Visible Full Nodes
それぞれの隠しオブジェクトをFBXでは適切なタイプとして表現し、可視にします。処理時間はオブジェクトが非表示の時と変わりません。
Don’t Export
不可視オブジェクトをエクスポートしません。
Axis System
座標系変換を決めます。
Y Up (Right-handed)
右手Y Up変換(デフォルト): Up = +Y, Front = +Z, Cross = +X。これは、Houdini、Maya Y-Up、MotionBuilder、OpenGLで使用します。
Y Up (Left-handed)
左手Y Up変換: Up = +Y, Front = +Z, Cross = -X。これは、LightWave、DirectXで使用します。
Z Up (Right-handed)
右手Z Up変換: Up = +Z, Front = -Y, Cross = +X。これは、Maya Z-Up、3ds Maxで使用します。
Current (Y Up or Z Up Right-handed)
現在のシーン座標系の設定を使用してエクスポートします。
Convert to Specified Axis System
有効にすると、FBXシーンは、現在のHoudiniシーン座標系から Axis System パラメータの座標系に変換されます。
Convert Units
有効にすると、FBXシーンが(Houdiniプリファレンスの Edit ▸ Preferences ▸ Hip File Options で指定された)現行のHoudiniシステム単位(デフォルトはメートル)からネイティブのFBXのセンチメートル単位に変換されます。
Conversion Level of Detail
非ポリゴンオブジェクトをポリゴンに変換する時に使用する詳細レベル。 値が高いほどポリゴンの細分化レベルが細かくなり、低いほど荒くなります。
Detect Constant Point Count Dynamic Objects
有効にすると、エクスポーターは、ポイント数が変化しない、もしくはポイントの接続性が変化しないアニメーションオブジェクトを検出しようと試み、そしてそれらのオブジェクトを個々の三角形に分割しません。 パーティクルシステムや流体でも同じ処理が実行されます。 これはRBDやClothオブジェクトを単一、スムースオブジェクトとしてエクスポートし、それと同時にトポロジーが変わるオブジェクトをエクスポートすることができます。
これは、ポイントの接続性が変わるオブジェクトがたまたまエクスポートするアニメーションのフレーム全体にわたってポイント数が同じになると失敗する場合があります。 その場合は、この Detect Constant Point Count Dynamic Objects を無効にしてください。
Convert NURBS and Bezier Surfaces to Polygons
有効にすると、エクスポーターはすべてのNURBSとBezierサーフェスをメッシュ密度を決める詳細レベルを使ってポリゴンメッシュに変換します。 無効にすると、NURBSとBezierサーフェスはNURBSとしてエクスポートされます。
Preserve Names of Shape Primitives
有効にすると、エクスポーターは、通常通りだとシェイププリミティブの名前の接尾辞として追加されるタイプとオブジェクト数を除去します。 これは、BezierまたはNURBSのカーブやサーフェスだけでなく、ポリラインでも有効です。
Conserve Memory at the Expense of Export Time
頂点キャッシュと一緒にエクスポートしたオブジェクトにのみ影響があります。 有効にすると、エクスポート中に計算した内部の頂点ポジションを破棄してキャッシュ化しないので、全体のメモリ使用量が減ります。 とはいえ、これはエクスポートの時間が増えます。 無効にすると、エクスポーターの実行が速くなりますが、メモリを多く必要とします。
Export Deforms as Vertex Caches
有効にすると、Deform SOPを含む任意のジオメトリオブジェクトは重み情報のない頂点キャッシュとしてエクスポートします。 無効にすると、これらのノードはスキンとそれに相当する重みのあるオブジェクトとしてエクスポートします。
このパラメータは、 Valid Frame Range が Render Frame Range または Render Frame Range Only (Strict) に設定されている時にのみ利用可能です。
Force Blend Shape Export
有効にすると、ジオメトリノード内のBlend Shapes SOPsが常にエクスポートされます。 Blend Shapes以降のジオメトリ修正するノードが無視されるので、これが原因でその情報が失なわれる可能性があります。
無効にすると、Blend Shapes SOPs以降のジオメトリに何も修正がされていないBlend Shapes SOPsのみがエクスポートされます。
Force Skin Deform Export
有効にすると、ジオメトリノード内のDeform SOPsが常にエクスポートされます。 Deform以降のジオメトリ修正するノードが無視されるので、これが原因でその情報が失なわれる可能性があります。 現在のところ、Bone Deform、Bone Capture、Capture Overrideのみが対応しています。
無効にすると、これらのノード以降のジオメトリに何も修正がされていないノードのみがエクスポートされます。
Export End Effectors
有効にすると、スケルトンの各ブランチの末端にある余分なEnd Effector NullノードがFBXファイルのエクスポートに含まれます。 これによって、FBXファイルを正しくHoudiniにインポートし直すことができます。
無効にすると、余分なEnd Effector NullノードがFBXファイルのエクスポートに含まれません。 これは、FBXファイルにエクスポートされるジョイントの数を減らすのに役立ちますが、スケルトンのブランチ毎に1個のジョイント/ボーンが事実上足りなくなるので、そのFBXファイルをHoudiniに適切にインポートし直すことが できなくなります 。
Embed Media
有効にすると、シーン関連のメディアファイル(テクスチャ、音声、動画)がエクスポートファイルに埋め込まれます。 無効にすると、シーン関連のメディアファイルの相対参照のみがエクスポートファイルに追加されます。
Compute Smoothing Groups
有効にすると、メッシュの頂点マップされた法線からスムーズグループ情報を計算し、エクスポート時にそれをFBXに保存します。
これらの法線は、Normal SOPを使用してジオメトリ上に設定することができます。 Normal SOPの Add Normals to パラメータを Vertices に設定することで、ウェイト付き/分割された法線をポリゴングループ別に適用することができるので、スムージンググループ情報の計算に使用されるソフト/ハードエッジデータを指定することができます。 頂点法線をプリミティブまたはエッジに適用( Group Type を Primitives または Edges に設定)して、 Cusp Angle を設定すると、出力されるFBXで期待したスムージングデータが得られます。
Export Animation Clips (Takes)
有効にすると、アニメーションクリップがエクスポートされます。 クリップ(他のソフトウェアでは、テイクとも言います)の名前は、アニメーション内のフレーム範囲から付けられます。 これを使用することで、複数のアニメーションを単一FBXファイルにエクスポートすることができます。
このパラメータは、 Valid Frame Range が Render Frame Range または Render Frame Range Only (Strict) に設定されている時にのみ利用可能です。
Clip #
アニメーションクリップを示した文字列。
Frame Range
アニメーションクリップのフレーム範囲。
Scripts ¶
様々な実行ステージで実行されるスクリプトコマンドを指定することができます。 スクリプトパラメータに対して選択されたエクスプレッション言語によって、このコマンドがHScriptなのかPythonなのか判断されます。
実行する前に、このノードが自動的にグローバル現行ノードとして設定されます。
ファイルからステートメントを実行したいのであれば、
.cmd
拡張子(言語が HScript に設定されている場合)または.py
拡張子(言語が Python に設定されている場合)が付いたファイルのパスを指定してください。
スクリプトには追加で引数を指定することもでき、シェルと同様の方法で引数が解析されます。
Pre-Render Script
任意のレンダリング前に、このスクリプトを実行します。
Pre-Frame Script
各フレーム前に、このスクリプトを実行します。
Post-Frame Script
各フレーム後に、このスクリプトを実行します。
Post-Render Script
すべてのレンダリング後に、このスクリプトを実行します。