天天看點

UNITY小白3D坦克大戰制作學習筆記13D模型物體的基礎操作

3D模型物體的基礎操作

1.點選模型在彈出的Import Settings 中設定Scale Factor的值,可進行對模型的縮放。

2.貼圖可直接托入材質球。

3.用物體坐标系的方法前進(update)。

//設定速度

float speed = 0.5f;

if (Input.GetKey(KeyCode.W))

{

//歐拉角位置,确定一個新位置及角度

transform.eulerAngles = new Vector3(0, 0, 0);

transform.position += transform.forward * speed;

}

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

{

transform.eulerAngles = new Vector3(0, 180, 0);

transform.position += transform.forward * speed;

}

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

{

transform.eulerAngles = new Vector3(0, 270, 0);

transform.position += transform.forward * speed;

}

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

{

transform.eulerAngles = new Vector3(0, 90, 0);

transform.position += transform.forward * speed;

}

4.擷取軸向:input.GetAxis(“Horizontal”)為擷取橫軸軸向的方法。意味着按下左鍵傳回-1,按下右鍵傳回1。Input.GetAxis(“Vertical”)為擷取縱軸軸向方法,按上傳回1,按下傳回-1。

5.Time.deltaTime:指兩次update執行的時間間隔。距離=速度*Time.deltaTime。

6.速度的方向。right、up、forward分别代表自身坐标系的X、Y、Z軸。移動位置 = 方向×速度。

7.以物體旋轉角度具體代碼

//旋轉速度

float rotate = 40;

float x = Input.GetAxis(“Horizontal”);//Horizontal水準的

transform.Rotate(0, x * Time.deltaTime * rotate, 0);

//前進後退

float speed = 5f;

float y = Input.GetAxis(“Vertical”);//Vertical垂直的

Vector3 s = y * speed * transform.forward * Time.deltaTime;

transform.transform.position += s;

繼續閱讀