我有一个球体作为 FBX 和一个着色器,使我能够在球体内部拥有纹理。在球体内我也有一个相机。目标是拥有一个由头部跟踪器驱动的简单全景查看器。
正在显示纹理,但相机以一种奇怪的方式做出反应:
旋转头部跟踪器时,图像到处都是,抖动,与实际运动完全不相关。不过,headtracker 输入本身是正确的。
有关进一步说明,请参阅此视频。每次我先让跟踪器保持稳定,然后再移动它。在下半场,评估前三个数字。其他三个值是陀螺仪。
我认为问题出在以下代码中,有关 Vectors(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);
}