XNA MONOGAME는 간단한 FBX 모델로드를로드합니다
-
21-12-2019 - |
문제
Visual Studio Express 2013에서 Monogame을 사용하여 FBX (cube.fbx) 모델을로드하려고합니다. 나는 주변을 둘러 보았습니다. 나는 이것을 그렇게 간단해야합니다. 그러나 내 문제에 대한 해결책을 찾을 수 없습니다.
내 환경은 Visual Studio Express 2013과 함께 MONOGAME입니다.
다음과 같은 오류가 발생하지 않습니다 :
"큐브 자산을 비 콘텐츠 파일로로드 할 수 없음"
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();
}
.
프로그램은 모델을로드하려는 행에 오류를 throw합니다.
잘하면 어리석은 일입니다.
테스트 솔루션을 업로드하여 여기에서 문제를 해결했습니다. 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에서는 콘텐츠 프로젝트가 빌드 될 때 생성 된 .xnb 파일에 링크를 수동으로 추가해야합니다.
이므로 cube.fbx와 spot.png를 콘텐츠 프로젝트로 이동 한 다음 -> "기존 항목 추가"를 마우스 오른쪽 버튼으로 클릭하고 content 프로젝트의 출력 폴더에서 cube.xnb 및 spot.xnb를 추가하십시오."추가"버튼의 화살표를 클릭하고 "링크로 추가"를 선택하여 항상 최신 복사본을 사용합니다.
다른 팁
파일이 좋은 곳에 있는지 확인 했습니까?나는 Longggg 시간 동안 오류가 있었고, 제가 내 파일을 내 프로젝트의 좋은 장소에 넣지 않았기 때문입니다.
(프로젝트의 매개 변수 및 컴퓨터의 파일에서 확인하십시오)
제공된 솔루션에서 FBX 모델은 cube.fbx라는 이름의 "큐브"를 시도하고 있습니다.FBX 파일 이름의 대문자는 중요합니다.그래서 "큐브"대신 "큐브"를로드하십시오