XNA单游戏加载简单的FBX模型

本文关键字:简单 FBX 模型 加载 单游戏 游戏 XNA | 更新日期: 2023-09-27 18:15:25

我试图在Visual Studio Express 2013上使用Monogame加载fbx (cube.fbx)模型。我四处看了看,据我所知,这应该很简单。但是,我找不到解决问题的方法。

我的环境是Visual Studio Express 2013 with Monogame。

无论我尝试什么,我都会得到以下错误:

"无法将多维数据集资源加载为非内容文件"

我把fbx文件的设置改为:[Content, Copy Always]

没有"内容导入器"或"内容处理器"选项,详见:http://msdn.microsoft.com/en-us/library/bb203933.aspx

初始化函数为:

protected override void Initialize()
    {
        // TODO: Add your initialization logic here
        Model model;
        Texture2D tex2d;
        tex2d = Content.Load<Texture2D>("spot");
        model = Content.Load<Model>("cube");
        base.Initialize();
    }

程序在试图加载模型的那一行抛出错误。

希望是愚蠢的。

我已经上传了测试解决方案来重新创建这里的问题:https://www.dropbox.com/s/2a6lir2z04kyv7u/CubeTest.rar

提前感谢您的帮助!

编辑:添加以下目录结构来显示测试应用程序的结构:
   C:.
│   CubeTest.sln
│
└───CubeTest
    │   CubeTest.csproj
    │   Game1.cs
    │   Icon.ico
    │   Program.cs
    │
    ├───bin
    │   └───Windows
    │       ├───Debug
    │       │   │   CubeTest.exe
    │       │   │   CubeTest.pdb
    │       │   │   CubeTest.vshost.exe
    │       │   │   Lidgren.Network.dll
    │       │   │   MonoGame.Framework.dll
    │       │   │   SharpDX.Direct2D1.dll
    │       │   │   SharpDX.Direct2D1.xml
    │       │   │   SharpDX.Direct3D11.dll
    │       │   │   SharpDX.Direct3D11.xml
    │       │   │   SharpDX.Direct3D9.dll
    │       │   │   SharpDX.Direct3D9.xml
    │       │   │   SharpDX.dll
    │       │   │   SharpDX.DXGI.dll
    │       │   │   SharpDX.DXGI.xml
    │       │   │   SharpDX.MediaFoundation.dll
    │       │   │   SharpDX.MediaFoundation.xml
    │       │   │   SharpDX.RawInput.dll
    │       │   │   SharpDX.RawInput.xml
    │       │   │   SharpDX.XAudio2.dll
    │       │   │   SharpDX.XAudio2.xml
    │       │   │   SharpDX.XInput.dll
    │       │   │   SharpDX.XInput.xml
    │       │   │   SharpDX.xml
    │       │   │
    │       │   └───Content
    │       │           Cube.fbx
    │       │           spot.png
    │       │
    │       └───Release
    ├───Content
    │       cube.fbx
    │       spot.png
    │
    ├───obj
    │   └───x86
    │       └───Debug
    │           │   CubeTest.csproj.FileListAbsolute.txt
    │           │   CubeTest.csprojResolveAssemblyReference.cache
    │           │   CubeTest.exe
    │           │   CubeTest.pdb
    │           │   DesignTimeResolveAssemblyReferencesInput.cache
    │           │
    │           ├───InProcessTempFiles
    │           │       _CubeTest.g.cs
    │           │
    │           └───TempPE
    └───Properties
            AssemblyInfo.cs

XNA单游戏加载简单的FBX模型

您的内容需要在一个单独的项目中,一个恰当命名的"内容项目",以便正确构建它。在XNA中,你将添加一个内容引用到你的主项目,但在MonoGame中,我相信你需要手动添加一个链接到内容项目构建时生成的。xnb文件。

移动立方体。fbx和spot.png导入内容项目,然后右键单击->"添加现有项目"并添加多维数据集。XNB和现货。从内容项目的输出文件夹中获取XNB。一定要点击"添加"按钮上的箭头,然后选择"添加为链接",这样你就可以一直使用最新的副本。

你检查你的文件是否在正确的地方了吗?我和你一样有很长一段时间的错误,这只是因为我没有把我的文件放在我的项目的好地方。

(检查您的项目参数和您的计算机上的文件)

在您提供的解决方案中,fbx模型名为Cube。FBX,但你正试图"立方体"。fbx文件名中的大写C很重要。所以尝试加载"Cube"而不是"Cube"