Pergunta

Estou tentando carregar um fbx (cubo.fbx) Modelo utilizando Monogame no Visual Studio Express 2013.Eu estive olhando em volta e do que posso dizer, esta deve ser de tal modo simples.No entanto, eu não encontrar uma solução para o meu problema.

Meu ambiente é o Visual Studio Express 2013 com Monogame.

Eu recebo o seguinte erro não importa o que eu tente:

"Não foi possível carregar o cubo de ativos como não o conteúdo do arquivo"

Eu mudei as configurações no arquivo fbx para:[Conteúdo, Copiar Sempre]

Não há nenhum "Conteúdo Importador" ou "Conteúdo do Processador" opções por: http://msdn.microsoft.com/en-us/library/bb203933.aspx

A inicialização da função é:

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();
    }

O programa lança o erro na linha onde ele tenta carregar o modelo.

Felizmente, é algo estúpido.

Fiz upload da solução de teste para recriar o problema aqui:https://www.dropbox.com/s/2a6lir2z04kyv7u/CubeTest.rar

Agradecemos antecipadamente por sua ajuda!

Editar:Adicionar a seguinte estrutura de diretório para mostrar como o aplicativo de teste está estruturado:

   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
Foi útil?

Solução

Seu conteúdo precisa estar em um projeto separado, um "projeto de conteúdo" nomeado de forma apropriada, para que ele seja construído corretamente.Em XNA, você adicionaria uma referência de conteúdo ao seu projeto principal, mas em monogame eu acredito que você precisa adicionar manualmente um link aos arquivos .xnb que são gerados quando o projeto de conteúdo é construído.

para mover Cube.fbx e Spot.png no projeto de conteúdo, em seguida, clique com o botão direito -> "Adicionar item existente" e adicionar cube.xnb e spot.xnb na pasta de saída do projeto de conteúdo.Certifique-se de clicar na seta no botão "Adicionar" e escolha "Adicionar como link", então você está sempre usando a cópia mais recente.

Outras dicas

Você verificou se o seu arquivo está no bom lugar?Eu tinha o erro como você para um tempo de longgg e é só porque eu não coloquei meus arquivos para o bom lugar no meu projeto.

(verifique os parâmetros do seu projeto e em seus arquivos no seu computador)

Na solução fornecida, o modelo FBX é chamado Cube.fbx, mas você está tentando "cubo".O maiúsculas C no nome do arquivo FBX é importante.Então tente carregar "cubo" em vez de "cubo"

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top