我正在尝试在Visual Studio Express 2013上加载FBX(Cube.fbx)模型。我一直在环顾四周,从我可以说出来应该如此简单。但是,我找不到我的问题的解决方案。

我的环境是2013年的Visual Studio Express 2013,Monogame。

我没有母体得到以下错误:

“无法将多维数据集资产加载为非内容文件”

我已将FBX文件上的设置更改为:[内容,始终复制]

没有“Content Importer”或“内容处理器”选项,如每周: http://msdn.microsoft.com/en-us/library/b223933.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中,您将为您的主项目添加内容引用,但在Monogame中,我相信您需要手动添加链接到内容项目时生成的。

因此将cube.fbx和spot.png移动到内容项目中,然后右键单击 - >“添加现有项目”并从内容项目的输出文件夹中添加多维数据集.xnb和spot.xnb。确保在“添加”按钮上单击箭头,然后选择“添加为链接”,因此您始终使用最新的副本。

其他提示

您是否检查了您的文件是否在好地方?我有一个朗吉格的时候出错,它只是因为我没有把我的文件放在我的项目上的好地方。

(检查项目的参数以及计算机上的文件)

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top