最近一直在专心炒股,博客也没时间整。虽然很耗费精力,但是确实有意思。炒股不仅是对大盘形势的判断,有时候更是对自己全身心的考验。还是新鲜的小韭菜,还有很长的路要走。加油奥利给!
最近有个需求就是要给一个面片加边缘线。之前使用的边线贴图盖上面片上面,可是当面片拉伸时,边缘线也跟着拉伸,导致拉伸边缘线变粗或者变细。因为都是规则的方形,所以我使用gl自己画一个边缘线。效果如下:
最后一个是未添加外线的面片。代码贴在下面:
void OnRenderObject()
{
lineMaterial.SetColor("_Color", color);
lineMaterial.SetPass(0);
Vector3 v1=new Vector3(-size.x/2, size.y/2,0);
Vector3 v2 = new Vector3(size.x / 2, size.y / 2, 0);
Vector3 v3 = new Vector3(size.x / 2, -size.y / 2, 0);
Vector3 v4 = new Vector3(-size.x / 2, -size.y / 2, 0);
GL.Begin(GL.QUADS);
GL.Color(color);
GL.Vertex(transform.TransformPoint(v1));
GL.Vertex(transform.TransformPoint(v1) +new Vector3(-width,0, +width));
GL.Vertex(transform.TransformPoint(v2) +new Vector3(width, 0,width));
GL.Vertex(transform.TransformPoint(v2));
GL.Color(color);
GL.Vertex(transform.TransformPoint(v2));
GL.Vertex(transform.TransformPoint(v2)+new Vector3(width,0, width));
GL.Vertex(transform.TransformPoint(v3) + new Vector3(width, 0, -width));
GL.Vertex(transform.TransformPoint(v3));
GL.Color(color);
GL.Vertex(transform.TransformPoint(v3));
GL.Vertex(transform.TransformPoint(v3) - new Vector3(-width, 0, +width));
GL.Vertex(transform.TransformPoint(v4) - new Vector3(width, 0, +width));
GL.Vertex(transform.TransformPoint(v4));
GL.Color(color);
GL.Vertex(transform.TransformPoint(v4));
GL.Vertex(transform.TransformPoint(v4) - new Vector3(width, 0, width));
GL.Vertex(transform.TransformPoint(v1)- new Vector3(width, 0, -width));
GL.Vertex(transform.TransformPoint(v1));
GL.End();
}
注意:GL.Vertex(vector3 v)传入的是世界坐标。