Unity3d如何画线段

请列出除插件、LineRenderer之外各种画2D或3D线段的方法... 请列出除插件、LineRenderer之外各种画2D或3D线段的方法 展开
 我来答
步虚真人
2017-07-18 · TA获得超过1344个赞
知道小有建树答主
回答量:601
采纳率:91%
帮助的人:513万
展开全部
不能用插件,也不能用LineRender,那我暂时只能想到这个两种方法了,但是个人还是推荐前面这俩个,比较方便。
1 用Cylinder弄成很细的那种做成预设物,需要显示的时候调出来,然后自己用代码调整位置缩放朝向就可以当做3D的线段来用,我个人用这个做过类似指示方向的东西,算是简单粗暴。
2 用GL方法,在摄像机上面挂载脚本,然后写OnPostRender()画线,貌似屏幕坐标和世界坐标需要换一下,所以要复杂一点了(有点像OpenGL的那种写法,我个人也只是泛泛了解)。
额外,如果你只是调试,Debug.DrawLine()还是很有用的。
GL示例
void GLdemo()
{
GL.PushMatrix(); //保存当前Matirx
GL.LoadPixelMatrix();//设置pixelMatrix
GL.Begin(GL.LINES);
mat.SetPass(0);//mat是一个材质,注意shader的选择,否则颜色无效
GL.Color(Color.magenta);
GL.Vertex3(0, 0, 0);
GL.Vertex3(Screen.width, Screen.height, 0);
GL.End();
GL.PopMatrix();//读取之前的Matrix
}
void OnPostRender()
{
GLdemo ();
}
来自:求助得到的回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式