在XNA中从FBX加载材料参数

时间:2010-06-05 16:37:23

标签: c# 3d xna models

我有一些材料参数存储在FBX文件中(DiffuseFactor,ShininessExponent,SpecularFactor等),但我无法使用Effect.Parameters或BasicEffect(他们只有基本的东西 - 如EmmisiveColor或alpha)。我知道,我可以尝试编写一个Effect-derived类,但还有其他方法吗?一个内置的功能,或者某些半原始参数存储在某个地方?

1 个答案:

答案 0 :(得分:1)

如果您创建自定义模型处理器(用于内容管道)并覆盖ConvertMaterial方法,则可以在输入MaterialContent.OpaqueData集合中访问此类数据。

我知道如果您从此方法输出EffectMaterialContent,就像在Skinned Model示例中一样,您可以将此数据附加到EffectMaterialContent的OpaqueData集合,并使用您提供的名称在着色器中显示它。无论如何,这是XNA 3.1,我不确定现在是否有更好/替代方法。

编辑:哇,没想到这个问题已经差不多一年了。

相关问题