美文网首页
Unity围绕一个点生成一圈物体

Unity围绕一个点生成一圈物体

作者: Clean_1306 | 来源:发表于2019-03-24 15:30 被阅读0次

    有时候,会有一些这样的需求,就是围绕一个点,生成一圈物体。
    首先,要记住一个固定的公式:
    原点 + 半径 * 邻边除以斜边的比例, 邻边除以斜边的比例 = cos(弧度) , 弧度 = 角度 *3.14f / 180f;
    原点 + 半径 * 邻边除以斜边的比例, 邻边除以斜边的比例 = Sin(弧度) , 弧度 = 角度 *3.14f / 180f;
    以上公式,就可以求出平面坐标系的XY,
    具体哪个是Y哪个是X看需求,Cos的为X,Sin的为Y时,生成顺序为逆时针,反之顺时针

    示例代码:

        {
    
            angle = 360f / iObjCount;
    
            for (int i = 0; i < iObjCount; i++)
            {
                GameObject objTemp = Instantiate(spawnGmObjPrefab);
                objTemp.transform.SetParent(transform, false);
    
                //设置位置 位置公式:  x = 原点x + 半径 * 邻边除以斜边的比例,   邻边除以斜边的比例 = Sin(弧度) , 弧度 = 角度 *3.14f / 180f;(Y同理弧度Cos(弧度))  
                float x = fRadius * Mathf.Sin((angle * i) * (Mathf.PI / 180f));
                float y = fRadius * Mathf.Cos((angle * i) * (Mathf.PI / 180f));
    
                objTemp.transform.localPosition = v30;//new Vector3(x, 0, y);
                objTemp.transform.localEulerAngles = new Vector3(0, angle * i, 0);
                objTemp.name = i.ToString();
            }
    
        }```

    相关文章

      网友评论

          本文标题:Unity围绕一个点生成一圈物体

          本文链接:https://www.haomeiwen.com/subject/weeuvqtx.html