目录
2. Transform.rotation 或 Transform.localRotation 属性与四元数
小案例 :目标旋转角度计算:targetRotation(Quaternion类型)
3. Quaternion.LookAt 或 Transform.LookAt 方法
5. 插值方法(如 Quaternion.Lerp 和 Quaternion.Slerp)
transform.rotation = 类型是 四元数
transform.eularAngle =
transform.LookAt () 类型是 vector3
平滑的插值--------------------
slerp lerp
vector3.slerp(vector3 a,vector3.b,float t); 意思是从a点到b点旋转时候,时间t
Quaternion.Lerp (quaternion类型,quaternion类型,float);
1. Transform.Rotate
方法
使用
transform.Rotate(Vector3.up * speed * Time.deltaTime);
描述:Rotate
方法直接对物体的本地坐标系应用旋转。它接受一个Vector3
参数,表示沿X、Y、Z轴的旋转角度(以度为单位)。也可以接受一个额外的参数来指定旋转是在世界坐标系还是本地坐标系中进行。
特点:
- 直观易用,适用于简单的旋转需求。
- 由于是直接对角度进行累加,长期旋转可能导致数值不稳定或漂移。
2. Transform.rotation
或 Transform.localRotation
属性与四元数
Transform.rotation
= quaternion类型Quaternion.Lerp (quaternion类型,quaternion类型,float)
//返回的是quaternion类型 //参数也是quaternion类型
使用方式:
Quaternion targetRotation = Quaternion.Euler(90, 0, 0);
transform.rotation = targetRotation; //接受的是四元数或者
Quaternion newRotation = Quaternion.Lerp(transform.rotation, targetRotation, Time.deltaTime * rotationSpeed); //四元数插值(本身的旋转角度,目标旋转角度,时间)
transform.rotation = newRotation;
小案例 :目标旋转角度计算:targetRotation(Quaternion类型)
Quaternion.LookRotation ( ve3-ve3);//返回的是Quaternion
Quaternion.Lerp()//参数(Quaternion,Quaternion,float)//返回值Quaternion