Unity中根據角度和距離產生物體,Unity距離產生物體
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); } }}
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。