不说废话,直接见山。
3d世界中,计算物体的移动和方向的通常会使大家头疼。这里用到一些数学知识。即向量。我们学过,向量就是既有大小,又有方向的。在三维世界中,向量用x,y,z的值来表示。任意一个(x,y,z)可以表示为由原点到此点的向量。把这个(x,y,z)单位化,它就可以只表示一个方向。单位化的(x,y,z)乘以一个距离,就可以得到物体在某个方向上移动的距离。用物体当前所在位置的坐标加上我们刚才得到的向量,最终能够得到物体要移动的目标位置。最好不要直接transform.position=(x,y,z)。而要用transform.move(targetPosition),这样可以使物体在移动的过程中不是那么突然,不会出现意想不到的问题。
再来探讨一下物体角度的变换和世界角度关系。
世界的坐标永远是不动的,永远是物体的参照点。而物体的坐标角度可以调整物体相对于世界的角度变换。物体角度变换时,是以它自己为参照的变换。但是,我们得到的物体的各个角度值、坐标却是物体相对于世界的。具体的说法我在前面一篇提到过,这里就不多说了。