相对运动

transform.Translate(), 可以实现物体的运动

transform.Translate( dx, dy, dz, space )

第四个参数:Space.World 相对于 世界坐标系 Space.Self 相对于本地坐标系

运动的方向

获取目标物体 GameObject flag = GameObject.Find( "红旗" );

转向目标 this.transform.LookAt( flag.tranform );

向“前”运动, forward, +z方向 this.transform.Translate( 0, 0, dz, Space.Self );

物体的旋转

Quaternion 四元组 ( x, y, z, w ) 复杂,不推荐

欧拉角 Euler Angle

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

transform.localEulerAngles = new Vector3( 0, 45, 0 );

在Update()修改角度,持续旋转

Vector3 angles = transform.localEulerAngles;

angles.y += o.5f;

transform.localEulerAngles = angles;

优化,使之匀速旋转

float rotateSpeed = 30; //每秒旋转30度

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐