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会出现也不会每帧旋转,因为说了这是赋值
如何使它旋转呢?
例如:
Unity3D如何用脚本旋转物体(多种方式旋转)_第1张图片

第三种:transform.localEulerAngles = new Vector3(x, y, z);看等号就知道是用来赋值的
这段代码就可以实现赋值旋转了
放在Updata会出现也不会每帧旋转,因为说了这是赋值
如何使它旋转呢?ctrl+V:(逐渐枯燥)
例如:
Unity3D如何用脚本旋转物体(多种方式旋转)_第2张图片
第四种:transform.eulerAngles = new Vector3(x,y,z)
是赋值
要旋转:
Unity3D如何用脚本旋转物体(多种方式旋转)_第3张图片
第五种:transform.localRotation=Quaternion.Euler(x,y,z)
Unity3D如何用脚本旋转物体(多种方式旋转)_第4张图片

逐渐简化~~
你应该能懂的~~

**第六种:transform.RotateAround(Vector3 point, Vector3 axis, float angle); **
//做了个蝴蝶
Unity3D如何用脚本旋转物体(多种方式旋转)_第5张图片
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 == 每次旋转的角度。

你可能感兴趣的:(Unity3D)