發表文章

目前顯示的是 1月, 2023的文章

Unity角色移動~ Transform 常用屬性&常用方法

圖片
Transform類別 每一個在場景中的物件都有Transform,負責存取物件的座標位置、旋轉、縮放。   常用屬性: transform.Position = new Vector3(0, 0, 0); //以世界為中心的座標 transform.localPosition = new Vector3(0, 0, 0); //以父物件為中心的座標 常用方法: transform.Translate(Vector3.forward * Time.deltaTime);//位移方法 transform.Rotate(xAngle, yAngle, zAngle, Space.Self); //以自身為軸心旋轉 transform.Rotate(xAngle, yAngle, zAngle, Space.World);//軸心取決於世界(scene) ※Time.deltaTime--幀數之間的時差。( 此部分參閱 unity時間 ) 利用transform.Translate移動(使用位移方法) Vector2使用方式: private void movement()//方法 { //採用直接改變物件座標的方式 //一、向右走 if (Input.GetKey(KeyCode.D))//輸入.來自鍵盤(“d”) { this.gameObject.transform.Translate(new Vector2(5, 0) ); } //此類別.這個物件.座標系統.位移(delta向量) //二、向左走;依照一、的作法會發現物件飆很快,可以乘上Time.deltaTime來延遲。 else if (Input.GetKey(KeyCode.A)) { this.gameObject.transform.Translate(new Vector2(-5, 0) * Time.deltaTime); } //向上走 ,可以直接使用Vector的屬性Vector2.up,就不需要new一個變數 else if (Input.GetKey(KeyCode.W)) { this.gameObject.transform.Trans...

Unity Vector 向量變數的基本用法與預設值

圖片
  Vector 向量是在坐標系中有方向、大小的值。 Vector2,二維向量,在平面座標系中,與原點的差值。Vector2(x,y)。 Vector3,三維向量,在三維空間中,與原點的差值。Vector3(x,y,z)。 x,y,z是數字,可以寫成 整數 (int)或 浮點數 (float ※數字後要加 f,例如 0.0f )。 向量變數的基本用法: Vector2 vec2 = new Vector2(1,0);//int x=1 , int y=0 Vector3 vec3 = new Vector3(1.0f,0.0f,0.5f);//float x=1.0 , float y=0.0 , float z=0.5 Debug.Log(vec2.x); //結果為1 Debug.Log(vec3.z); //結果為0.5 Vector有屬性可以直接使用,直接呼叫就不用設值。(此部分參閱 unity官方文件 ) vector2的屬性: vector3的屬性: