天天看點

Unity 之圓環算法

幾何中我們要畫一個圓,因為圓的标準表達式是

Unity 之圓環算法

圓心為(a,b),半徑為r。那麼我們隻要知道圓心和半徑就可以了。

Unity 之圓環算法

我們隻要知道圓心,半徑,和旋轉弧度就可以了。

在Unity中建立測試工程,添加代碼Circles

using UnityEngine;
using System.Collections;


public class circle : MonoBehaviour
{
    public GameObject circleModel;
    //旋轉改變的角度
    public int changeAngle = 0;
    //旋轉一周需要的預制物體個數
    private int count;

    private float angle = 0;
    public float r = 5;

    // Use this for initialization
    void Start()
    {
        count = (int)360 / changeAngle;
        for (int i = 0; i<count; i++)
        {
            Vector3 center = circleModel.transform.position;
            GameObject cube = (GameObject)Instantiate(circleModel);
            float hudu = (angle / 180) * Mathf.PI;
            float xx = center.x + r * Mathf.Cos(hudu);
            float yy = center.y + r * Mathf.Sin(hudu);
            cube.transform.position = new Vector3(xx, yy, 0);
            cube.transform.LookAt(center);
            angle += changeAngle;
        }
    }
}
           

代碼第28行cube.transform.LookAt(center);所有生成的物體都是朝向圓心的。

将此腳本管道MainCamera上即可,添加預制對象。