Unity 3D 學習筆記(1)

暑假和好友開始嘗試搞遊戲,感覺自己寫遊戲引擎太難了,畢竟還是什麼都不會,那就從Unity開始吧,入門比較簡單。

先看了一點教學視頻,非常簡單,稍微有點編程基礎就能看明白,講了Unity如何使用,如何利用原子構建出一個牆壁、簡單房子、樓梯、圓和橢圓等。

腳本代碼如下(C#):

樓梯

using UnityEngine;
using System.Collections;

public class StairsCS : MonoBehaviour {
    public GameObject stairsModel;//傳入的原子塊
    private float angle=25;
    // Use this for initialization

    void Start () {
        Vector3 center = stairsModel.transform.position;
        for(int i=0;i<10;i++){
            GameObject stairsCube=(GameObject)GameObject.Instantiate(stairsModel);
            float hudu=(angle/180)*Mathf.PI;
            float xx=i;
            float yy=Mathf.Tan(hudu)*i;
            stairsCube.transform.position=new Vector3(center.x+xx,center.y+yy,center.z);
    }
}
}

每一個臺階是一個cube,樓梯角度在0至45度均可


橢圓(當R==r時爲圓)

using UnityEngine;
using System.Collections;

public class EllipseCS : MonoBehaviour {

    public GameObject cubeModel;//傳入的原子塊

    private float angle=0;
    private float r=3;
    private float R=5;
    private int cubeNum=360;
    // Use this for initialization
    void Start () {
        Vector3 center = cubeModel.transform.position;
        for(int i=0;i<cubeNum;i++){
            GameObject cube=(GameObject)GameObject.Instantiate(cubeModel);
            float hudu = (angle / 180) * Mathf.PI;
            float xx = center.x + R * Mathf.Cos (hudu);
            float yy = center.y + r * Mathf.Sin (hudu);
            cube.transform.position=new Vector3(xx,yy,center.z);
            cube.transform.LookAt(center);
            angle+=(360/cubeNum);
        }
    }

}

此圖用的原子塊是球,也可以是cube之類的

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章