Unity 之圓環算法


  首先我們要明白圓環生成的原理,其實說白了並不是圓環,而是圓。因為我們使用的預制物體時Cube(物體本身是有大小的)難免會有發生實物的折疊看起來給人的感覺是圓環而已。

1.1 幾何中我們要畫一個圓,因為圓的標准表達式是

 

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

  

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

  在Unity中創建測試工程,添加代碼circles.cs

  

 1 using UnityEngine;
 2 using System.Collections;
 3 
 4 
 5 public class circle : MonoBehaviour
 6 {
 7     public GameObject circleModel;
 8     //旋轉改變的角度
 9     public int changeAngle = 0;
10     //旋轉一周需要的預制物體個數
11     private int count;
12 
13     private float angle = 0;
14     public float r = 5;
15 
16     // Use this for initialization
17     void Start()
18     {
19         count = (int)360 / changeAngle;
20         for (int i = 0; i < count; i++)
21         {
22             Vector3 center = circleModel.transform.position;
23             GameObject cube = (GameObject)Instantiate(circleModel);
24             float hudu = (angle / 180) * Mathf.PI;
25             float xx = center.x + r * Mathf.Cos(hudu);
26             float yy = center.y + r * Mathf.Sin(hudu);
27             cube.transform.position = new Vector3(xx, yy, 0);
28             cube.transform.LookAt(center);
29             angle += changeAngle;
30         }
31     }
32 }

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

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

運行即可看到效果確實是圓環。

如果有好的意見和建議請@我哦,共同學習!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM