1

XNA 4 でハードウェアのインスタンス化を機能させようとしています。Microsoft のサンプル コードに従い、最後の数行のコードまですべてが機能しています。

私が抱えている問題は効果です。テクニックには基本的な効果しかありません。ソースコードをコンパイルして実行すると、コピーしたものではなく、ハードウェアのインスタンス化オプションがあります。彼らのプロジェクトが持っている InstancedModelPipeline と関係があるかもしれませんが、実際にプロジェクトにどのようにリンクされるのかわかりません。彼らの InstancedModelPipeline は、HardwareInstancing を含む InstancedModel.fx を取り込みます。

Effect effect = meshPart.Effect;

effect.CurrentTechnique = effect.Techniques["HardwareInstancing"];
effect.Parameters["World"].SetValue(modelBones[mesh.ParentBone.Index]);
effect.Parameters["View"].SetValue(Camera.ViewMatrix);
effect.Parameters["Projection"].SetValue(projection);

サンプルコード サイト

4

1 に答える 1

1

InstancedModelPipelineコンテンツ パイプラインの拡張機能です。これを使用するには、コンテンツプロジェクトを右クリックし、[参照の追加] をクリックして、InstancedModelPipelineプロジェクトを選択する必要があります。

コンテンツ プロジェクト リファレンス リストの InstancedModelPipeline

(注:ゲームプロジェクトからコンテンツ パイプライン拡張機能を参照しないでください。)

このInstancedModelPipelineプロジェクトでは、 と呼ばれる、モデル用の新しいコンテンツ プロセッサが利用可能になりますInstancedModelProcessor。コンテンツ プロジェクトでモデルを選択し、[プロパティ] パネル (F4) に移動して、このプロセッサを使用するようにモデルを設定する必要があります。

InstancedModelProcessor が選択されました

デフォルトの XNA モデル プロセッサがBasicEffectモデル (ModelMeshPart.Effectプロパティ) に組み込まれます。InstancedModel.fx代わりに、このコンテンツ プロセッサが組み込まれます。これには、HardwareInstancing探している効果が含まれます。

于 2012-08-13T08:28:21.830 に答える