【发布时间】:2014-12-18 00:04:57
【问题描述】:
我开始使用 silverlight 3d,我认为我使用了不正确的方法来调整相机位置。我有一个滑块控件,其最小值为 0,最大值为 360。
我想根据滑块值移动更改相机角度。相反,只要滑块值发生变化,相机就会不停地围绕对象旋转。
这是调整相机角度的代码:
_rotationMatrix = Matrix.CreateFromAxisAngle(new Vector3(0, 1, 0), MathHelper.ToRadians(_cameraAngle));
// set camera position
_cameraPosition = Vector3.Transform(_cameraPosition, _rotationMatrix);
// set view matrix and projection matrix
_view = Matrix.CreateLookAt(_cameraPosition, objectPosition, Vector3.Up);
_projection = Matrix.CreatePerspectiveFieldOfView(MathHelper.PiOver4, 1.667f, nearClip, farClip);
我暂时将同一 Draw 事件中的 _cameraAngle 更新为 0.0f 以停止旋转,但必须有更好的方法来做到这一点?
【问题讨论】:
标签: silverlight xna silverlight-5.0