我有一个球体作为FBX和一个着色器,使我能够在球体内部有一个纹理。在球体内部,我有一个相机。目标是拥有一个由头部追踪器驱动的简单全景观察器。
正在显示纹理,但相机却以一种奇怪的方式作出反应:
当旋转头部追踪器时,图像遍布整个地方,抖动并且根本不与实际运动相关联。但是,headtracker输入本身是正确的。
有关进一步说明,请参阅this video。每次我保持跟踪器稳定,然后我移动它。在下半部分,评估前三个数字。其他三个值是陀螺仪。
我认为问题出现在下面的代码中,关于向量(Vector3.whatever)的内容可能会关闭:
protected override void Draw(GameTime gameTime)
{
GraphicsDevice.Clear(Microsoft.Xna.Framework.Color.CornflowerBlue);
foreach (ModelMesh mesh in skyDome.Meshes)
{
foreach (BasicEffect ef in mesh.Effects)
{
float aspectRatio = (float)graphics.GraphicsDevice.PresentationParameters.BackBufferWidth / (float)graphics.GraphicsDevice.PresentationParameters.BackBufferHeight;
Vector3 camPosition = Vector3.Transform(Vector3.Up, Quaternion.CreateFromYawPitchRoll(drehung, neigung, rollen));
ef.View = Matrix.CreateLookAt(Vector3.Zero, camPosition,Vector3.Forward);
ef.Projection = Matrix.CreatePerspectiveFieldOfView(MathHelper.PiOver4, aspectRatio, 0.1f, 10000.0f);
ef.TextureEnabled = true; //Textur zulassen
ef.Texture = panoramaTextur; //Textur auf Model darstellen
}
mesh.Draw();
}
base.Draw(gameTime);
}