码迷,mamicode.com
首页 > 编程语言 > 详细

Unity中根据角度和距离生成物体

时间:2015-08-31 15:20:02      阅读:182      评论:0      收藏:0      [点我收藏+]

标签: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);
        }
    }
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

Unity中根据角度和距离生成物体

标签:unity

原文地址:http://blog.csdn.net/sinat_20559947/article/details/48133475

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!