On this page | |
Since | 18.0 |
How to ¶
このノードは、Create LODノードと併用することを前提に設計されています。
Create LODノードは、LOD_0
、LOD_1
、LOD_2
のように生成された名前を使ってバリアントを作成します。
各バリアントは、PolyReduceを使って元のディテールのある程度の割合を維持した結果になっています。
-
Create LODとカメラが既にネットワーク内にある時に、Auto Select LODを追加します。
-
Auto Select LODノードのパラメータエディタ内で、 Primitive Pattern パラメータにLODバリアントを作成したPrimのパス(例えば、
/my_model
)を設定します。 -
Camera パラメータにUSDレンダーカメラのパスを設定します。このノードは、このカメラと選択したPrim間の距離を使ってLevel of Detailを選択します。
-
Variant Set パラメータにCreate LODノードで作成した Variant Set 名(例えば、
levels
)を設定します。 -
Number of LODs パラメータにCreate LODノードの Number of LODs パラメータと同じ数を設定します。
-
Threshold Distance パラメータにそのレベルの 内側距離 を設定します。最初の距離は
0
にしてください。例えば、Create LODの Keep Percent パラメータを
100, 75, 50, 25
に設定し、このノードの Threshold Distance パラメータを0, 5, 10, 15
に設定すると、以下の挙動が得られます:-
カメラがPrimから
0
から5
ユニットまで離れている時、第一レベルを表示します(LOD_0
。元のモデルの100%を維持)。 -
5
から10
ユニットまで離れている時、第二レベルを表示します(LOD_1
。75%を維持)。 -
10
から15
ユニットまで離れている時、第三レベルを表示します(LOD_2
。50%を維持)。 -
カメラがPrimから
15
ユニット以上離れると、第四レベルを表示します(LOD_3
。25%を維持)。
-
Tips ¶
-
最初のThreshold Distanceを
0
に設定しなかった場合、カメラがPrimから0
から最初の距離まで離れていると、そのPrimは バリアントを表示しない ので、不可視になります。 -
カメラとPrim間の距離は、カメラポイント位置とPrimの重心間で測定されます(実際の表面までの距離に基づいているわけではありません)。 例えば、モデルの表面が重心から平均で2ユニット離れている場合、その分をThreshold Distanceに考慮すると良いでしょう。
-
シーンを単一USDファイルとしてディスクに書き出す場合、アニメーション中にバリアントのLODを動的に切り替えることはできません。 その理由は、USD自体がアニメーションバリアントセットに対応していないからです。 しかし、Auto Select LOD LOPを使用してバリアントの動的な切り替えを行なう回避策があります。
-
フレーム単位でUSDレイヤーを書き出します。ファイル名に
$F
を入れることで、各USDフレームをディスクに書き出すことができます。 この欠点は、タイムサンプルアトリビュートの効率が悪くなることですが、レンダリングでhusk
に渡される各ファイルでバリアントを異なることができます。 このワークフローは、Mantraのifd
生成と同様に、 少数のファームマシンでUSDファイルを分割し、それぞれのファイルがレンダリングでhusk
に渡されます。 -
hython
で直接レンダリングを行ないます。 この手法は、SolarisをKatanaやNukeのように使用するためのオプションを広げ、アーティストがLOPグラフにHDAやノードを追加できるようになります。 そして、フレーム単位でUSDをディスクに書き出すことなく、プロシージャルにシーンを構築することができます。 -
もう1つ、より手の込んだオプションは、アセット内のすべてのLOPを子Primとして存在させることです。 そうすることで、バリアントセットの代わりにカメラからの距離に基づいて、LOD子Primの可視性を設定するWrangleを記述することができます。 同様のセットアップは、可視性だけでなく、カメラベースのシェーディングPrimvarも調整することができます。
-
パラメータ ¶
Primitives
このノードを動作させるPrim(s)。
Scene Graph Tree ペインからPrim(s)をこのテキストボックスにドラッグすることで、それらのパスを追加することができます。
または、このテキストボックスの隣にある 再選択ボタンをクリックすることで、ビューア内でPrim(s)を選択することができます。
他にも、この再選択ボタンを⌃ Ctrlクリックすることで、ポップアップツリーウィンドウからPrim(s)を選択することができます。
コレクション内のすべてのPrimsのマッチング(/path/to/prim.collection:name
)といった高度なマッチングには、プリミティブパターンを使用すると良いでしょう。
Camera
シーングラフツリー内のUSDレンダーカメラのパス。 このノードは、このカメラと選択されたPrim間の距離を使って、Level of Detailを選択します。
Variant Set
バリアントの選択元となるバリアントセットの名前。
Number of LODs
ここには、指定した Variant Set 内のLODバリアントの数を設定します。
Threshold Distance
カメラがターゲットPrimから この距離以上 離れている時、それに応じたバリアントが選択されます。 つまり、Multi-Parmセット内の1番目の Threshold Distance パラメータは、1番目のバリアントの最小距離を設定し、2番目の Threshold Distance パラメータは、2番目のバリアントの最小距離を設定します。
See also |