天天看點

[腳本]Unity3D一些基本功能的腳本

Unity3D入門:一

*添加天空盒子:

添加天空盒 有兩種方式 

1 : 在目前相機上添加skybox

2 : 在目前場景上添加skybox

上面的兩種方式的結果是一樣的   第一種方式的優勢在于 如果 世界中有多個錄影機的話,切換錄影機 需要看不同的天空 就可以使用這種方式實作

我們先來試試unity 給我們的提供的天空盒 吧 

要使用 unity 當然要先導入天空資源包啦 導入方式 :

assets -> import package ->skyboxes 

然後點選camera屬性的skybox後面的一個小圓按鈕(中間有個實心的點),然後選擇自己想要的天空盒效果

*動态建立一排附有剛體屬性的cube:

for (int i = 0; i < 4; i++)

        {

            for (int j = 0; j < 4; j++)

            {

                 GameObject goNew = GameObject.CreatePrimitive(PrimitiveType.Cube);

                 goNew.transform.position = new Vector3(i, j, -1);//x,y,z坐标

                 goNew.AddComponent<Rigidbody>();

            }

        }

*如果點選滑鼠,給目前剛體添加一個向前的推力:

if (Input.GetMouseButtonDown(0))

{

this.gameObject.rigidbody.AddForce(Vector3.forward*10,ForceMode.Impulse);//一個力方向的基本向量,然後乘以倍數,顯得力就大一些

}

*按下鍵盤某鍵,然後程式作出反應:

var MoveSpeed=5;

var RotateSpeed=20;

function Update () {

if(Input.GetKey(KeyCode.W))

this.transform.Translate(Vector3.forward*Time.deltaTime*MoveSpeed);

else if(Input.GetKey(KeyCode.S))

this.transform.Translate(Vector3.forward*Time.deltaTime*-MoveSpeed);

else if(Input.GetKey(KeyCode.A))

this.transform.Rotate(Vector3.up*Time.deltaTime*-RotateSpeed);

else if(Input.GetKey(KeyCode.D))

this.transform.Rotate(Vector3.up*Time.deltaTime*RotateSpeed);

繼續閱讀