XNA Monogame加载简单的FBX模型
-
21-12-2019 - |
题
我正在尝试在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是重要的。所以尝试加载“立方体”而不是“立方体”