문제

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 파일 이름의 대문자는 중요합니다.그래서 "큐브"대신 "큐브"를로드하십시오

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top