我正在尝试在Visual Studio Express 2013上使用Monogame加载fbx(cube.fbx)模型。我一直在环顾四周,从我所知道的应该是如此简单。但是,我无法找到解决问题的方法。
我的环境是带有Monogame的Visual Studio Express 2013。
我得到以下错误,无论我尝试了什么:
"无法将多维数据集资产加载为非内容文件"
我已将fbx文件的设置更改为:[内容,始终复制]
没有"内容导入器"或"内容处理器"选项根据: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
答案 0 :(得分:5)
您的内容需要位于一个单独的项目中,这是一个恰当命名的“内容项目”,以便正确构建。在XNA中,您将向主项目添加内容引用,但在MonoGame中,我认为您需要手动添加指向构建内容项目时生成的.xnb文件的链接。
将cube.fbx和spot.png移动到内容项目中,然后右键单击 - &gt; “添加现有项”并从内容项目的输出文件夹中添加cube.xnb和spot.xnb。确保单击“添加”按钮上的箭头并选择“添加为链接”,这样您就可以使用最新的副本。
答案 1 :(得分:0)
您是否检查过您的档案是否在好地方?我有一个错误就像你在一个longggg时间,它只是因为我没有把我的文件放在我项目的好地方。
(检查项目参数和计算机上的文件)
答案 2 :(得分:0)
在您提供的解决方案中,fbx模型名为Cube.fbx,但您正在尝试&#34; cube&#34;。 fbx文件名中的大写C很重要。所以尝试加载&#34; Cube&#34;而不是&#34; cube&#34;