对于我的项目,将当前屏幕的位置和旋转设置为数学平面或某种平面将非常有用,因为我的模型需要垂直于该平面而不是相机本身定向。
我将当前的CameraWorldPosition作为Vector3,将CameraWorldRotation作为四元数。由于我对Quternios的经验不多,因此我有以下问题:
如果您有任何想法或可以帮助我的事情,请告诉我。
谢谢。
答案 0 :(得分:0)
四元数的x,y和z分量确实定义了矢量。该矢量是旋转轴。但是,它通常不是单位向量。它的长度等于sin(theta / 2),其中θ是旋转角度。因此w不是旋转角度,而是cos(theta / 2)。
不是,因为相机可以绕任何轴旋转。
对于定义平面,只要有两件事就足够了:法线向量和平面中的一个点。平面上的点是最简单的点,您已经知道了。这是CameraWorldPosition。对于平面的法线向量,您需要在没有旋转的情况下(即当旋转是恒等四元数时)知道相机的法向向量。举例来说,假设相机最初始终具有与Z向量重合的法线向量。然后,平面的法线就是由四元数CameraWorldRotation旋转的Z向量。因此,如果您知道相机的初始条件(即初始法线向量),则可以随时定义具有相机位置和相机旋转的平面。