在Unity 3D中显示对象的线框之间切换

时间:2017-08-14 16:22:00

标签: c# unity3d

我对Unity和C#相当新,但搜索得足以认为除了使用着色器之外,目前还没有其他解决方案。 (着色器在免费版本上不可用)

到目前为止,我已经能够使用以下内容更改我的模型是否以线框显示:

    // from http://docs.unity3d.com/ScriptReference/GL-wireframe.html
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour {
    void OnPreRender() {
        GL.wireframe = true;
    }
    void OnPostRender() {
        GL.wireframe = false;
    }
}

但是,这并不能让我根据需要在游戏中的两个之间切换。我假设解决方案是重新渲染,但不确定这是否是正确的方法。有什么建议吗?

1 个答案:

答案 0 :(得分:2)

唯一合理的解决方案是使用免费版本中 的着色器。自Unity 5以来,专业版和免费版仅根据许可证不同;如果您的游戏价值超过100,000美元,您需要支付专业版许可证。但是,两者都可以使用所有功能。

更新:要实际应用着色器,您需要确保模型已经过UV映射(也就是说:展开)。这是一个解释如何将2D纹理坐标转换为模型的3D表面的过程。可以把它想象成如何在礼品表面切割和折叠包装纸。

解释UV映射和展开非常不适合这个问题。这是一个解释Blender基础知识的链接

Error in Commands