【问题标题】:SkinnedModelProcessor and models with materialsSkinnedModelProcessor 和带有材质的模型
【发布时间】:2012-03-03 12:34:45
【问题描述】:

我正在使用 XNA 4.0 和 Blender 1.6.1。我在 Blender 中构建了一个模型,对其进行了装配,使用材料对其进行着色,然后将其导出为 .fbx。我的模型有所有网格的 UV 贴图,但它们没有纹理。当我使用带有 BasicEffects 的普通模型内容管道时,我可以很好地看到模型(包括材质)。

但是,我随后在http://create.msdn.com/en-US/education/catalog/sample/skinned_model 使用 SkinnedModelProcessor,现在我的模型要么透明渲染,要么根本不渲染。

查看问题后,我在http://create.msdn.com/en-US/education/catalog/sample/stock_effects 找到了StockEffects 教程,并用它来查看skinnedeffect 是如何渲染像素的。我更改了像素着色器(在所有适用的地方),以便:

float color4 = pin.Diffuse;

我认为这将允许我的模型在没有纹理的情况下使用 SkinnedModelProcessor 正确渲染,但我无法弄清楚如何让处理器使用我更新的效果而不是内置效果。如果有人知道如何让处理器使用更新的效果文件或让我的模型使用材质而不是纹理进行渲染的其他方式,我将不胜感激。

【问题讨论】:

    标签: c# xna


    【解决方案1】:

    在您的游戏中只需加载您编写的效果文件,然后将其分配给您的蒙皮模型

    public void SetModelEffect(Effect effect)
    {
      foreach (ModelMesh mesh in model.Meshes)
        foreach (ModelMeshPart part in mesh.MeshParts)
        {
          part.Effect = effect;
        }
    }
    

    希望有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-11
      • 2012-11-20
      • 2018-04-25
      • 1970-01-01
      • 1970-01-01
      • 2018-12-02
      • 2019-06-25
      • 2017-10-13
      相关资源
      最近更新 更多