我已经在opengl中实现了飞机运动,但是当我将摄像头放在飞机头上并且看着yawaxis时,它给了震撼的世界
eye = glm::vec3(
ball1.position.x + 25.0f * ball1.roll_axis.x+ball1.yaw_axis.x,
ball1.position.y + 25.0f * ball1.roll_axis.y+ball1.yaw_axis.y,
ball1.position.z + 25.0f * ball1.roll_axis.z+ball1.yaw_axis.z);
target = glm::vec3(
ball1.position.x + 60.0f * ball1.roll_axis.x+ball1.yaw_axis.x,
ball1.position.y + 60.0f * ball1.roll_axis.y+ball1.yaw_axis.y,
ball1.position.z + 60.0f * ball1.roll_axis.z+ball1.yaw_axis.z);
up = ball1.yaw_axis;
飞机运动是正确的
这可能是由万向节锁造成的。查看accumulative matrix transformations,或者,如果您正在使用GLM eulerAngleYXZ。