0

モデルのさまざまな部分のさまざまな材料のプロパティを維持しながら、モデルにさまざまなさまざまな効果を適用するにはどうすればよいでしょうか。

私はxnaでModelクラスを使用しており、blenderでモデルを作成しました(.fbxファイル形式を使用)。私の知る限り、xnaのコンテンツパイプラインを介してモデルをロードすると、さまざまなBasicEffectインスタンスのさまざまなマテリアルに関する情報(鏡面反射光や拡散色など)が保存されます。私がやりたいのは、モデルの光沢のあるセクションが(例として)光沢のある外観を維持しながら、モデル(私の世界のすべてのポイントライトを含む)にさまざまな異なるカスタムエフェクトを適用することです。私のアイデアは、モデルを再マップするのではなく、特定のマテリアルがどのように見えるかを参照するためにBasicEffectインスタンスを保持することでした。この場合、適切な効果を適用した後、各ModelMeshPartを手動で描画する必要があります。モデルに多くのグローバル効果を適用することを正しい方向に考えていますか?.fbxファイルの重要な情報にアクセスするためのより良い方法はおそらくありますか?モデルに詰め込む必要のあるすべてのテクニックを使用して、1つのエフェクトでモデルを再マッピングする必要がありますか?

4

1 に答える 1

0

描画ループでは、既にメッシュを反復処理して、メッシュ パーツごとに個別の描画を呼び出しています。そのループ内では、モデルに添付されたエフェクトを使用するのではなく、(モデルまたはその他から) 設定を独自のエフェクトに適用し、それを使用してメッシュを描画します。

XNA 開発者は、コンテンツ インポーターと Model クラスは、初心者のプログラマーがモデルを簡単に描画できるように、必然的に特殊化されていることに注目しています。残念ながら、それはあなたが達成したいテクニックには適していません. より高度な描画を行いたい場合は、Model クラスを拡張し、ベースをジオメトリ/テクスチャ ストレージ メディアとして使用する必要があります。

于 2012-08-03T21:03:53.870 に答える