怎么在unity3d中,怎么在场景里显示线框?

我想要在unity3d运行的时候,模型能显示线框,有什么方法可以实现??... 我想要在unity3d运行的时候,模型能显示线框,有什么方法可以实现?? 展开
 我来答
_秀才_
2013-11-18 · TA获得超过285个赞
知道答主
回答量:67
采纳率:100%
帮助的人:39.8万
展开全部
可以自己写一个Shader

Shader "Custom/WireFrame"
{
Properties
{
_LineColor ("Line Color", Color) = (1,1,1,1)
_GridColor ("Grid Color", Color) = (1,1,1,0)
_LineWidth ("Line Width", float) = 0.2
}
SubShader
{
Pass
{
//Tags { "RenderType" = "Transparent" }
// Blend SrcAlpha OneMinusSrcAlpha//这句可以注释掉,能够避免线框太粗出现的模糊效果。
//AlphaTest Greater 0.5
//Cull Off//这句是后加的,取消遮挡消隐,体现出透明

CGPROGRAM
#pragma vertex vert
#pragma fragment frag

uniform float4 _LineColor;
uniform float4 _GridColor;
uniform float _LineWidth;

// vertex input: position, uv1, uv2
struct appdata
{
float4 vertex : POSITION;
float4 texcoord1 : TEXCOORD0;
float4 color : COLOR;
};

struct v2f
{
float4 pos : POSITION;
float4 texcoord1 : TEXCOORD0;
float4 color : COLOR;
};

v2f vert (appdata v)
{
v2f o;
o.pos = mul( UNITY_MATRIX_MVP, v.vertex);
o.texcoord1 = v.texcoord1;
o.color = v.color;
return o;
}

fixed4 frag(v2f i) : COLOR
{
fixed4 answer;

float lx = step(_LineWidth, i.texcoord1.x);
float ly = step(_LineWidth, i.texcoord1.y);
float hx = step(i.texcoord1.x, 1.0 - _LineWidth);
float hy = step(i.texcoord1.y, 1.0 - _LineWidth);

answer = lerp(_LineColor, _GridColor, lx*ly*hx*hy);

return answer;
}
ENDCG
}
}
Fallback "Vertex Colored", 1
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
t13658238098
2013-05-31
知道答主
回答量:11
采纳率:0%
帮助的人:8.8万
展开全部

点击Gizmos

追问
可是在发布后就没有了,我希望发布后有线框。
追答
对不起,这个实在是没发了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
懒懒得木马
2013-05-21
知道答主
回答量:5
采纳率:0%
帮助的人:3.1万
展开全部

麻烦给分谢谢

追问
我想要运行的时候也有线框效果。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式