2017-08-14 144 views
0

我对Unity和C#相当陌生,但已经足够搜索,认为除了使用着色器之外,目前还没有可用的解决方案。 (着色器不能在免费版)在Unity 3D中显示对象的线框之间切换

到目前为止,我已经能够改变我的模型是否显示在线框或不使用下列:

// 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; 
    } 
} 

然而这并未”不要让我按需要在游戏中切换。我假设解决方案是重新渲染,但不确定这是否是正确的方法。有什么建议吗?

回答

2

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

更新:要实际应用着色器,您需要确保您的模型已被UV映射(又名:展开)。这是一个解释如何将2D纹理坐标转换为模型3D表面的过程。想想看,如何将包装纸切割并折叠在礼物表面。

解释紫外线贴图和解包裹大大超出了这个问题的范围。这里有一个链接解释最基本的搅拌机

https://en.wikibooks.org/wiki/Blender_3D:_Noob_to_Pro/UV_Map_Basics

+0

使用着色器试图读取他们并没有付费版本工作岗位,但它似乎是工作。现在的问题是,我无法应用着色器,因为模型在混合器中不是“无法包装”的?我现在能做什么? –

+0

这不应该是一个论坛,但我会更新我的答案。 – Soviut