C# FBX模型在XNA 4.0中未正确显示
我有一个问题,XNA 4.0没有正确显示3D FBX模型 一个朋友创建了一个模型,当我在FBX查看器中打开它时,它会正确地显示出来 但当我将其加载到XNA并单击run时,它显示为 如果您能帮助解决此问题,我们将不胜感激C# FBX模型在XNA 4.0中未正确显示,c#,c#-4.0,xna,xna-4.0,game-engine,C#,C# 4.0,Xna,Xna 4.0,Game Engine,我有一个问题,XNA 4.0没有正确显示3D FBX模型 一个朋友创建了一个模型,当我在FBX查看器中打开它时,它会正确地显示出来 但当我将其加载到XNA并单击run时,它显示为 如果您能帮助解决此问题,我们将不胜感激 谢谢。每个网格都有一个骨骼。。。你应该用它来定位网格在正确的位置。。。此代码来自Microsoft private void DrawModel(Model m) { Matrix[] transforms = new Matrix[m.Bones.Count];
谢谢。每个网格都有一个骨骼。。。你应该用它来定位网格在正确的位置。。。此代码来自Microsoft
private void DrawModel(Model m)
{
Matrix[] transforms = new Matrix[m.Bones.Count];
float aspectRatio = graphics.GraphicsDevice.Viewport.AspectRatio;
m.CopyAbsoluteBoneTransformsTo(transforms);
Matrix projection =
Matrix.CreatePerspectiveFieldOfView(MathHelper.ToRadians(45.0f),
aspectRatio, 1.0f, 10000.0f);
Matrix view = Matrix.CreateLookAt(new Vector3(0.0f, 50.0f, Zoom),
Vector3.Zero, Vector3.Up);
foreach (ModelMesh mesh in m.Meshes)
{
foreach (BasicEffect effect in mesh.Effects)
{
effect.EnableDefaultLighting();
effect.View = view;
effect.Projection = projection;
effect.World = gameWorldRotation *
transforms[mesh.ParentBone.Index] *
Matrix.CreateTranslation(Position);
}
mesh.Draw();
}
}
您可以在上找到它,这更适合在gamedevelopment.stackexchange.com上找到
private void DrawModel(Model m)
{
Matrix[] transforms = new Matrix[m.Bones.Count];
float aspectRatio = graphics.GraphicsDevice.Viewport.AspectRatio;
m.CopyAbsoluteBoneTransformsTo(transforms);
Matrix projection =
Matrix.CreatePerspectiveFieldOfView(MathHelper.ToRadians(45.0f),
aspectRatio, 1.0f, 10000.0f);
Matrix view = Matrix.CreateLookAt(new Vector3(0.0f, 50.0f, Zoom),
Vector3.Zero, Vector3.Up);
foreach (ModelMesh mesh in m.Meshes)
{
foreach (BasicEffect effect in mesh.Effects)
{
effect.EnableDefaultLighting();
effect.View = view;
effect.Projection = projection;
effect.World = gameWorldRotation *
transforms[mesh.ParentBone.Index] *
Matrix.CreateTranslation(Position);
}
mesh.Draw();
}
}