Unity 的绘制线段代码
发布时间:2020-12-15 07:49:54 所属栏目:Java 来源:网络整理
导读:using UnityEngine; using System.Collections; public class Line : MonoBehaviour{ public Material mat; public Color color = Color.red; public Vector3 pos1; public Vector3 pos2; public bool isReady = false ; void Start() { mat.color = color;
using UnityEngine; using System.Collections; public class Line : MonoBehaviour { public Material mat; public Color color = Color.red; public Vector3 pos1; public Vector3 pos2; public bool isReady = false; void Start() { mat.color = color; } void Update() { if (Input.GetMouseButtonDown(0)) { pos1 = Input.mousePosition; } if (Input.GetMouseButtonUp(0)) { pos2 = Input.mousePosition; isReady = true; } } void OnPostRender() { if (isReady) { GL.PushMatrix(); mat.SetPass(0); GL.LoadOrtho(); GL.Begin(GL.LINES); GL.Color(color); GL.Vertex3(pos1.x / Screen.width,pos1.y / Screen.height,pos1.z); GL.Vertex3(pos2.x / Screen.width,pos2.y / Screen.height,pos2.z); GL.End(); GL.PopMatrix(); } } } 拓: ?Light Probe:光照探头,模拟场景运行时候的实时光照,可有效节省系统光照开销。设置时一般遵循一下准则:1.将光照探头放在灯光和阴影转换处,可以有效地降低系统光照运算开销;2. 移动物体,相机等,移动不到的范围,以及光影没有明显地变化区域就没必要设置光照探头了。 ? ? Reflection Probe:反射探头:模拟光对物体表面的反射,在特定的需要光照反射的地方,比如金属物体表面,我们就可以设置反射探头,系统会获取CubeMap里面的属性,对物体表面进行渲染,实现 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |