【发布时间】:2013-08-21 20:54:10
【问题描述】:
如果我这样做:
Model test1 = content.Load<Model>(@"Models/floorTile");
Model test2 = content.Load<Model>(@"Models/floorTile");
Model test3 = content.Load<Model>(@"Models/floorTile");
foreach (ModelMesh mesh in test1.Meshes)
foreach (Effect effect in mesh.Effects)
((BasicEffect)effect).DiffuseColor = Color.Red.ToVector3();
所有三个模型都将被分配红色,而不仅仅是 test1。
这是我的问题的简化版本,在实际版本中,我使用的是实际的 HLSL 效果,虽然我知道如何克隆单个效果以在多个唯一 fbx 上工作,但我不确定如何创建更多而不是一个 3dmodel 实例,并为每个实例分配它自己的纹理,而不是它们都引用一个纹理/效果,因此我场景中的每个“floorTile”看起来总是一样的。
我能想到的唯一解决方法是为每个模型创建不同的地砖 fbx 模型,但我有很多地砖,所以这远非理想。
【问题讨论】:
标签: c# reference xna instance 3d-model