我想知道是否有办法将精灵的旋转信息复制到平面中。似乎对于精灵来说,旋转是在材料中设置的,它只是一个值。我试着将精灵的矩阵复制到飞机的矩阵中,但没有运气。
答案 0 :(得分:0)
Sprite旋转在WebGL中定义,您可以在SpritePlugin.js中阅读。因此,如果您希望复制场景中现有精灵的旋转,最简单的方法可能是使用quaternion
。当它们要求旋转轴和角度值时,它们允许比x / y / z角定义的(欧拉旋转)更好地定义。在您的上下文中,您可以在每次相机移动时修改quaternion
。您可以使用quaternion.setFromAxisAngle(axis,angle)
进行设置。然后使用plane.setRotationFromQuaternion(quaternion)
将其应用到飞机上。
数学方面:
有关这些数学的更多信息,TrackBallControls中的函数getMouseProjectionOnBall
和rotateCamera
非常有用。
希望它有所帮助!