Unity中根据角度和距离生成物体
时间:2015-08-31 15:18:31
收藏:0
阅读:247
using UnityEngine; using System.Collections; public class CreateGameObject : MonoBehaviour { private Vector3 centerPos; //圆心的位置 private float radius = 5; //半径 private float angle = 0; //角度 public GameObject cube; // Use this for initialization void Start () { CreateMosquitoCoil (); } public void CreateCubeAngle30() { centerPos = transform.position; // 每隔30度就生成一个小方块 for (angle = 0; angle < 360; angle+=30) { // 根据原点,角度,半径获取物体的位置. // x = 原点x + 半径 * 邻边除以斜边的比例, 邻边除以斜边的比例 = cos(弧度) , 弧度 = 角度 *3.14f / 180f; float x = centerPos.x + radius * Mathf.Cos (angle * 3.14f / 180f); float y = centerPos.y + radius * Mathf.Sin (angle * 3.14f / 180f); // 生成一个方块 GameObject obj = (GameObject)GameObject.Instantiate (cube, new Vector3 (x, y, centerPos.z), Quaternion.identity); } } // 生成蚊香 public void CreateMosquitoCoil() { centerPos = transform.position; // 每隔30度就生成一个小方块 for (int i = 0; i < 30; angle+=20,radius+=0.3f,i++) { // 根据原点,角度,半径获取物体的位置. x = 原点x + 半径 * 邻边除以斜边的比例 float x = centerPos.x + radius * Mathf.Cos (angle * 3.14f / 180f); float y = centerPos.y + radius * Mathf.Sin (angle * 3.14f / 180f); // 生成一个方块 GameObject obj = (GameObject)GameObject.Instantiate (cube, new Vector3 (x, y, centerPos.z), Quaternion.identity); } } }
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文:http://blog.csdn.net/sinat_20559947/article/details/48133475
评论(0)