Unity3D如何用腳本旋轉物體(多種方式旋轉)

關於旋轉物體:
第一種:Rotate(vector,中心點);有兩個參數:
第一個參數是需要旋轉的方向+速率,第二個參數是指旋轉選擇的中心(第二個參數可帶可不帶,默認以自己爲中心)

transform.Rotate(x,y,z):以自身座標系爲參考,而不是世界座標系,分別以x度y度z度繞X軸、Y軸、Z軸勻速旋轉
transform.Rotate(vector3,Space.Self):以自身座標系爲參考
Transform.Rotate(vector3,Space.World):以世界座標系爲參考
放在Updata會出現每幀都在旋轉

第二種:rotation = rotation;看等號就知道是用來賦值的
transform.rotation = Quaternion.Euler(new Vector3(x, y, z));
這樣就能改變物體的角度
放在Updata會出現也不會每幀旋轉,因爲說了這是賦值
如何使它旋轉呢?
例如:
在這裏插入圖片描述

第三種:transform.localEulerAngles = new Vector3(x, y, z);看等號就知道是用來賦值的
這段代碼就可以實現賦值旋轉了
放在Updata會出現也不會每幀旋轉,因爲說了這是賦值
如何使它旋轉呢?ctrl+V:(逐漸枯燥)
例如:
在這裏插入圖片描述
第四種:transform.eulerAngles = new Vector3(x,y,z)
是賦值
要旋轉:
在這裏插入圖片描述
第五種:transform.localRotation=Quaternion.Euler(x,y,z)
在這裏插入圖片描述

逐漸簡化~~
你應該能懂的~~

**第六種:transform.RotateAround(Vector3 point, Vector3 axis, float angle); **
//做了個蝴蝶
在這裏插入圖片描述
Wing.RotateAround(father.position,Vector3.up,45);
//2D蝴蝶,圍繞旋轉的物體時一個平面,比蝴蝶翅膀大,運行之後非常好看
transform.RotateAround(Vector3 point, Vector3 axis, float angle)
Vector3 point ==圍繞旋轉的中心點。
Vector3 axis == 旋轉時,所繞的軸,如果是Vector3.up/down,是Y軸,是left/right是X軸。
float angle == 每次旋轉的角度。

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