一、Unity API Random生成随机数
静态变量
value | 随机0 - 1之间的小数,包括0和1 |
---|---|
state | 获取当前状态 |
rotation | 获取随机四元数 |
insideUnitCircle | 以长度为1的圆,在圆内随机生成一个坐标 |
insideUnitSphere | 以长度为1的球体内随机生成一个坐标 |
静态方法:
Range(a,b):生成>=a且<b的随机数 若a和b都为整数,则生成整数
InitState(seed):使用随机数种子初始化状态
Random.InitState((int)System.DateTime.Now.Ticks);
二、Quaternion四元数
四元数:w, x, y, z 四个值组成一个四元数,表示一个物体的旋转
①欧拉角表示法
假如你使用一组欧拉角表示旋转,XYZ三个参数代表相应轴向按照顺归YZX的旋转,因此(0、90、90)代表先进行+Z轴旋转90度,再沿着+Y轴进行90度旋转。
三、Rigidbody
position 如果使用Rigidbody.position更改Rigibody的位置,则在下一个物理模拟步骤之后将会更新Transform。这比使用Transform.position更新位置要快,因为后者将导致所有附加的Colliders重新计算它们相对于Rigidbody的位置。如果想连续移动一个刚体,使用MovePosition来代替。
MovePosition 调用Rigidbody.MovePosition会导致渲染的任何中间帧中两个位置之间的平滑过渡。如果要在每个FixedUpdate中连续移动刚体,则应该使用此选项。 如果想将一个刚体从一个位置直接传送到另一个位置,不需要渲染中间位置,使用position设置位置。 如果刚体is Kinematic设置为false,调用Rigidbody.MovePosition还是会将一个刚体从一个位置直接传送到另一个位置。
playerRigid