Vertex Animation Texturesは、ゲームエンジン内で複雑なシミュレーションを再生するための代替メソッドです。 これらのテクスチャを使用する利点は、テクスチャがGPUから読み込まれるため、複雑なアニメーションの再生に適していることです。 欠点は、その結果の精度を上げるためには、これらのテクスチャを無圧縮にする必要があるので、メモリ使用量を大量に消費してしまうことです。
パラメータ ¶
User Interface
Simple(デフォルト)は、変更頻度の高いパラメータに制限されたUIを表示します。 Normalは、パラメータが多いもののあまり使用しないコントロール付きでフル展開したUIです。
Start/End
ここには、エクスポートする開始フレームと終了フレームを指定します。開始フレームと終了フレームにさらに1フレーム分の余裕を考慮してください。 デフォルトでは、エクスポータは、作成時に動的変数を壊します。
Render With Take
テイクを使用している場合は、ここでエクスポータオプションを変更することができます。
Method
エクスポートするプライマリメソッド:
Soft - シミュレーション全体でトポロジーが変わりません。
Rigid - パックプリミティブスタイルのリジッドボディシミュレーション。
Fluid - シミュレーション全体でトポロジーが変わります。
Sprite - カメラ方向を向いたカード。ポイントはカメラ空間で移動します。
Engine
選択したゲームエンジンに適したスケール、テクスチャタイプ、座標系を設定します。
Initialize for Engine
各エンジンにプリセットオプションを適用します。 これは、その結果がUI内のパラメータを上書きするため、できるだけ早く適用してください。
SOP Path
SOPsのジオメトリのパス。
Data For Realtime Material ¶
Note
ゲームエンジンマテリアルにコピーする必要がある値には、その隣にコピーボタンがあります。
Frame Range
計算されるフレーム数。終了フレーム - 開始フレーム。 この値は、Renderをクリックした時にスクリプトによって設定されます。
Speed
1秒あたりのフレーム数をフレーム範囲で割ったHoudiniのレート。 あなたのエンジンでは、これはフレームレートが違っていたり可変していれば変わります。 この値は、Renderをクリックした時にスクリプトによって設定されます。
Position Max/Min
これらの値をゲームエンジン内のマテリアルにコピーして、正規化されたポジション値を元の範囲に広げます。
Pivot Max/Min
Rigidメソッドが選択されている時に表示されます。 ピボット値は頂点カラーに格納されます。 たいていのゲームエンジンは、これらの値を0から1の範囲にクランプします。 これらの値をゲームエンジン内のマテリアルにコピーして、正規化されたポジション値を元の範囲に広げます。
Scale Max/Min
Rigidメソッドが選択されている時に表示されます。 時間範囲全体にわたって最大スケールと最小スケールをリマップします。
Width/Height
Spriteメソッドが選択されていて、EngineがUnityに設定されている時に表示されます。 スプライトスケールの幅と高さをHoudiniから設定します。
Active Pixels
Pad to Power of 2が有効な時、これらの値は、オリジナルテクスチャのピクセル寸法を表現します。 これらの値は、Renderをクリックした時にスクリプトによって設定されます。
Padded Size
Pad to Power of 2が有効な時、これは、縦/横それぞれの2のべき乗の最小サイズです。このマテリアルは、これらの数値を使って、UVルックアップの比率を計算します。 これらの値は、Renderをクリックした時にスクリプトによって設定されます。
Normalize data range to 0-1 space
テクスチャ圧縮を使用する場合、テクスチャマップには正規化されたデータが必要です。
Pack normals into Position Alpha
ポジションマップのアルファチャンネル内に法線データを格納して、テクスチャ空間を保存します。 このメソッドでは法線の精度が悪くなります。
Pack Pscale into Position Alpha
ポジションマップのアルファチャンネル内にpscaleデータを格納して、テクスチャ空間を保存します。
Pad to Power of 2
有効にすると、すべてのテクスチャは縦/横それぞれ一番近い2のべき乗の値のサイズでエクスポートされます。 2のべき乗のテクスチャは、GPU上でテクスチャストリームを可能にします。
Double Textures (Higher Precision)
あなたのエンジンが8ビットテクスチャに制限されている場合、2枚目のテクスチャを使用して精度を上げることができます。
Target Texture Size
これはテクスチャの最大幅です。 テクスチャの最大高さは、この最大幅を基準としてアニメーションのフレーム数と頂点の数から決まります。
Target Prim Count
これは、流体メッシュのエクスポートで使用される三角形の最大数です。 理想としては、この数には入力メッシュの三角形の数より少ない数を指定してください。
Calculate Optimal Primcount
これは、入力メッシュの現行フレームでの三角形の総数をTarget Prim Countに設定します。
Paths ¶
enable_project
アセット名のオーバーライドを有効にします。
Project
親のプロジェクトディレクトリ。デフォルトでは、これは、スタジオ向けの$JOBです。
Component Enable
これは、ファイルパス内のアセット名をオーバーライドすることができます。 通常では、これは'opname(“..”)'、つまり、このSOP領域の親ノードです。 これによって、このレンダーオブジェクトまたは固有のアセットを必要なだけ何回もコピーアンドペーストすることができます。 サブネット内であれば、これはそのサブネット名が反映されます。
Component
デフォルトでは、これは、親オブジェクトの名前またはこのノードのサブネットの名前を参照するので、ネーム空間のテクニックを利用して、たくさんのコピーアンドペーストの実行によってアセットを複製することができます。必要に応じて、アセット名をオーバーライドして、そこに必要な文字列またはエクスプレッションを入力することができます。
enable_geo
ジオメトリのエクスポートを有効にします。
Geometry
ジオメトリの保存先のディスク上のパス。
Browse Path
リストしたディレクトリでエクスプローラウィンドウを開きます。
enable_pos
位置のエクスポートを有効にします。
Position
位置マップの保存先のディスク上のパス。
Position2
Double Texturesが有効な場合、2枚目のポジションマップの保存先のディスク上のパス。
enable_rot
回転のエクスポートを有効にします。
Rotation
回転マップの保存先のディスク上のパス。
enable_scale
スケールのエクスポートを有効にします。
Scale
エクスポートするメッシュに事前スケールを持たせて、さらに原点をデフォルトにすることができます。
enable_normal
法線マップのエクスポートを有効にします。 無効にすると、法線がアルファにパックされます。
Normal
位置マップのアルファに法線をパックしなかった時の法線マップの保存先のディスク上のパス。
Export Color Map
カラーのエクスポートを有効にします。
Color
カラーマップの保存先のディスク上のパス。
Update Mat
マテリアルインスタンスに対応したエンジン向けにそのマテリアルインスタンスのエクスポートを有効にします。 これは、それに対応したエンジン向けにマテリアルインスタンス内の値を更新します。
Material
エンジン用のコピーアンドペーストマテリアルコード。
Create Data
ソース管理できるように、リアルタイムシェーダ用データをJSONライブラリにエクスポートできるようにします。
Realtime Data
リアルタイムシェーダ用データの保存先のディスク上のパス。
Create Shader
シェーダ生成が可能なエンジン用シェーダの作成を有効にします。
Shader Path
シェーダの保存先のディスク上のパス。
Settings ¶
Initialize Simulation OPs
エクスポートする前にクックチェーンで実行するすべてのシミュレーションコンテキストを発動します。
Equalize Edges
流体エクスポート用。 これは、最適な圧縮ができるように三角形のエッジを均等にします。
Reverse Normals
メッシュの法線を反転させます。これは、スプライトなどの片面メッシュで役に立ちます。
Convert to Image Format’s Colorspace
これは、フォーマットのデフォルトであるsRGBルックアップを除去します。
Raster Depth
これは、Initialize for Engineがクリックされた時に設定されます。 エクスポートされる画像のビット深度を調整します。
Black/White Points
エクスポートする画像の最小ピクセル値と最大ピクセル値。 これは、テクスチャをリマップしないでフィットさせます。
BC 4Channel Split
異なるデータフォーマットで別々にチャンネルをレンダリングします。
Position Coord
これは、Initialize for Engineがクリックされた時に設定されます。 座標系に合わせてコンポーネントを並べ替えます。
Color Coord
異なる座標系のコンポーネントを並べ替えます。 カラーに関しては、おそらく、これはカラー以外の目的でこのマップをハイジャックする場合に役立ちます。
Name
エクスポートされるジオメトリオブジェクトの名前。名前を指定しなかった場合は、MESH.1のようになります。
Position ¶
Translate
エクスポートするメッシュに事前トランスフォームを持たせて、さらに原点をデフォルトにすることができます。
Rotate
エクスポートするメッシュに事前回転を持たせて、さらに原点をデフォルトにすることができます。
Pivot
エクスポートするメッシュに事前ピボットを持たせて、さらに原点をデフォルトにすることができます。
Delta (P.xyz)
エクスポータに渡す必要のある位置アトリビュート。
Normal (N.xyz)
エクスポータに渡す必要のある法線アトリビュート。
Rest (rest.xyz)
エクスポータに渡す必要のあるRestアトリビュート。
Rotation (orient.abcd)
エクスポータに渡す必要のある回転アトリビュート。
scale (scale.xyz)
エンジンに渡す必要のあるスケールアトリビュート。
pscale (pscale.x)
エクスポータに渡す必要のあるポイントスケールアトリビュート。
Pivot (pivot.xyz)
エクスポータに渡す必要のあるピボットアトリビュート。
Color (Cd.xyz)
エクスポータに渡す必要のあるカラーアトリビュート。
Alpha (Alpha.xyz)
エクスポータに渡す必要のあるアルファアトリビュート。
Delta (P)
エンジンに渡す必要のある位置アトリビュート。
Normal (N)
エンジンに渡す必要のある法線アトリビュート。
uv (uv.xy)
エンジンに渡す必要のあるUVアトリビュート。
Tiling Coord (uv2.xy)
エンジンに渡す必要のあるUV2アトリビュート。
uv3 (uv3.xy)
エンジンに渡す必要のあるUV3アトリビュート。
pscale (P.w)
エンジンに渡す必要のあるポイントスケールアトリビュート。
Pivot (Cd.xyz)
エンジンに渡す必要のあるピボットアトリビュート。
Color (Cd.rgb)
エンジンに渡す必要のあるカラーアトリビュート。
Alpha (Cd.a)
エンジンに渡す必要のあるアルファアトリビュート。
Sample Shader Code ¶
Note
Unreal Engine用: コピーボタンを使用すると、マテリアル関数にペースト可能なコードがコピーされます。 これは、マテリアルにペーストしても正しく動作しません。
Note
Unity用: Shader Pathオプションが有効になっていれば、プロジェクトパス内にシェーダファイルが自動的に生成されます。
Scripts ¶
Pre-Render
レンダリング前にこのコードを実行します。
Post-Render
すべてのレンダリングの後にこのコードを実行します。