0

我有一个球体作为 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);
    }
4

0 回答 0