我无法在指定范围内调整我的相机。目前,我的相机可以不受任何限制地围绕模型进行俯仰。我试图将 Y 轴限制在 6 到 36 之间,但如果我继续俯仰,Z 轴将继续向前移动相机。
我正在使用控制器摇杆来控制运动。最终,我想要做的是:“如果相机与目标(模型)的角度超过我的极限角度,无论是否有更多的俯仰(人连续举起拇指杆或下)被应用。”
注意:这是第三人称相机
public void cameraPitch(float pitch)
{
cameraDirection = ModelLoad.CameraPos - ModelLoad.camTarget;
axisPitch = Vector3.Cross(Vector3.Up, cameraDirection);
// pitch constrained to model's orientation
axisPitch.Normalize();
ModelLoad.CameraPos = Vector3.Transform(cameraDirection,
Matrix.CreateFromAxisAngle(axisPitch, pitch)) + ModelLoad.camTarget;
if (ModelLoad.camPos.Y > 36.0f)
{
ModelLoad.camPos.Y = 36.0f;
}
if (ModelLoad.camPos.Y < 6.0f)
{
ModelLoad.camPos.Y = 6.0f;
}
}