效果如下,红色圆圈就是用GL接口画的。
1.实现思路:
(1)用半径(可设置),sin和cos函数,预选计算和圆上每个点并存储,在我的实现中我算了360个点,1度1个点。
(2)用GL的画线接口 (GL.LINES)把这些点连接起来。GL接口在MonoBehaviour的OnPostRender函数中写。
(3)脚本挂在相机上
2 具体实现
(1)C#代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
class GL_Circle
{
Vector3[] points;
int pointIdx = 0;
Vector3 center;
Color color;
public void Init(Vector3 center, float r, Color color)
{
this.center = center;
this.color = color;
points = new Vector3[361];
CalcAllPoints(r);
}
float DegreetoRadians(float x)
{
return x * 0.017453292519943295769f;
}
float RadianstoDegre