検索はキーワードに基づいています。
例:「手順」
自然言語で検索しないでください
例:「新しいプロシージャを作成するにはどうすればよいですか?」
レゾルバ
リゾルバーは、データを正しい最終フォームに取り込むために、実際のレンダリングの前に実行する必要があるOpです。通常、これらは、マテリアルの割り当て、オーバーライドの実行、制約の効果の計算などに使用されます。
あるOpから次のOpに渡すことができる唯一のデータは、その属性を持つシーングラフです。リゾルバは、属性データだけで実行できる手続き型プロセスです。これにより、実行中の手続き型プロセスを2つの段階に分けることができます。
| 1. | 実行するプロセスとプロシージャに渡す必要があるパラメータを定義する適切な属性をシーングラフに設定します。 |
| 2. | これらの属性を読み取り、手続き型プロセスを実行するリゾルバーを実行します。 |
この2つの段階への分離は、すべての手続きプロセスをすぐに実行する必要がある場合よりもはるかに柔軟性があります。シーン内の場所に設定されている正しい属性にのみ依存しているため、プロセスを設定するための構成はさまざまな方法で実行できます。
たとえば、マテリアルの割り当ては、という名前の単一の文字列属性に基づいていますmaterialAssign、使用するマテリアルの場所へのパスを提供します。次に、この属性はMaterialResolveと呼ばれるリゾルバで使用されます。このリゾルバは、 materialAssign属性とローカルコピーを作成し、関連するすべての属性を正しい値に設定します(マテリアルのオーバーライドなどを考慮に入れます)。MaterialResolveは、という属性のみを検索するためmaterialAssign、マテリアルの割り当てはさまざまな方法で設定できます。
• MaterialAssignノードを使用して、 materialAssignノードのCEL式と一致する場所の属性。
• OpScriptを使用して値を設定するmaterialAssign Luaスクリプトを使用します。
• カスタムOpを使用して値を設定するmaterialAssign。
の正しい値を解決するLookFileを使用することもできますmaterialAssign与えられたオブジェクトに。
LookFileシステムには、アセットに割り当てられたマテリアルを処理するための特別な動作があります。これにより、他のユーザーがマテリアルの値を編集およびオーバーライドできるようになります。また、変更の必要がないほとんどの場合、処理の効率を維持できます。この動作は、ショットで使用されるルックファイルのバージョンが複数ある場合や、複数の出力パスが存在する場合、およびパスの選択にオーバーライドを適用する必要がある場合を処理するようにも設計されています。レンダラーの手続きも、マテリアルと同様の方法で処理されます。
LookFileResolveは、シーングラフの特定の場所でマテリアル(およびレンダラープロシージャル)の存在を探すように設計されています。これらの場所で材料が見つかった場合、 materialAssign属性は、それらのマテリアルを使用するアセット内の場所に設定されます。これにより、LookFileのマテリアルを使用するすべてのオブジェクトに、マテリアルオーバーライドなどの変更を加えることができます。検索場所のいずれにも素材が見つからない場合、LookFileの素材は、使用せずにアセット内の場所に直接適用されますmaterialAssign。
このシステムの主な理由は効率です。ほとんどのアセットのほとんどのマテリアルは、おそらくオーバーライドなどの変更を必要とせず、関連する属性値をアセットに単純に貼り付ける方が効率的です。ただし、オーバーライドを適用する場合は、マテリアルをシーンに直接持ち込み、割り当てられたマテリアルとして設定する方が便利です。
異なるLookFilesから取り込まれた同じ名前のマテリアル間の衝突を避けるために、 namespace path材料が持ち込まれる場所として使用されます。これは、次のオプションを使用して構築されます。
• カスタムパス(LookFileOverrideEnableのパラメーターで指定)または次を使用するLookFileアセットに基づいてアセット管理システムが提供するパスgetUniqueScenegraphLocationFromAssetId()。
• アセット管理システムがルックファイルのバージョン番号を提供する場合、パスにはバージョン番号を明示的に含めることができます。これは、明示的なバージョンのLookFileを使用するアセットにのみオーバーライドが適用されることを意味します。 LookFileの任意のバージョンを使用するアセットに適用されます。
リゾルバーを使用すると、リゾルバーが実行されるまで、プロセスから出てくるデータのみを操作するのではなく、プロセスの実行方法を記述する属性をユーザーが直接操作できるため、データを可能な限り高レベルで意味のある状態に保つことができます。
たとえば、材料の割り当てはmaterialAssignできる属性:
• 1つの属性の値を変更することにより、オブジェクトが取得するマテリアルを変更します。
• 元のマテリアルの属性を変更して、特定のマテリアルが割り当てられているすべてのオブジェクトのマテリアルを変更します。
本質的に、リゾルバーは、プロセスから出てくるデータだけでなく、プロセスのパラメーターを操作し、 Katana属性の検査、変更、およびオーバーライド用。
申し訳ありませんが、これは役に立ちませんでした
なぜこれが役に立たなかったのですか? (当てはまるもの全てをご確認ください)
ご意見をいただきありがとうございます。
探しているものが見つからない場合、またはワークフローに関する質問がある場合は、お試しくださいファウンドリサポート。
学習コンテンツを改善する方法についてご意見がある場合は、下のボタンを使用してドキュメントチームにメールしてください。
フィードバックをお寄せいただきありがとうございます。