FreshRSS

Normální zobrazení

Jsou dostupné nové články, klikněte pro obnovení stránky.
PředevčíremHlavní kanál

Building TMX in the MonoGame Pipeline using MonoGame Extended

I updated MonoGame to the latest development build and noticed the Tiled Map Importer and Processor wasn't in the content pipeline anymore (even after adding both MonoGame Extended Content DLL and MonoGame Extended Tiled Content DLL).

Am I supposed to build TMX maps into .xnb files using the MonoGame XML Importer and No Processing or am I doing something wrong?

  • ✇Recent Questions - Game Development Stack Exchange
  • I got some wierd bug while building TMX files in MonogameCode Watermelon
    Today I tried to implement tilemaps to my game that I'm developing on Monogame. Those tilemaps were created by using Tiled map editor. For implementing my tilemaps I used Monogame Extended. I installed Monogame.Extended.Content.Pipline of version 3.8.0 (latest). So after those stuff I added my tilemaps (TMX) and tilesets (TSX) to my Content Pipline Project but after building I got some wierd errors. With tilemap Processor 'TiledMapProcessor' had unexpected failure! System.MissingMethodException
     

I got some wierd bug while building TMX files in Monogame

Today I tried to implement tilemaps to my game that I'm developing on Monogame. Those tilemaps were created by using Tiled map editor.

For implementing my tilemaps I used Monogame Extended. I installed Monogame.Extended.Content.Pipline of version 3.8.0 (latest).

So after those stuff I added my tilemaps (TMX) and tilesets (TSX) to my Content Pipline Project but after building I got some wierd errors.

With tilemap

Processor 'TiledMapProcessor' had unexpected failure!

System.MissingMethodException: Method not found: 'Microsoft.Xna.Framework.Color Microsoft.Xna.Framework.Color.get_TransparentBlack()'.
  at MonoGame.Extended.Tiled.Serialization.TiledMapImageContent.get_TransparentColor()
  at MonoGame.Extended.Content.Pipeline.TiledMapProcessor.Process(TiledMapContentItem contentItem, ContentProcessorContext context)
  at Microsoft.Xna.Framework.Content.Pipeline.ContentProcessor`2.Microsoft.Xna.Framework.Content.Pipeline.IContentProcessor.Process(Object input, ContentProcessorContext context) in /home/runner/work/MonoGame/MonoGame/MonoGame.Framework.Content.Pipeline/ContentProcessor.cs:line 60
  at MonoGame.Framework.Content.Pipeline.Builder.PipelineManager.ProcessContent(PipelineBuildEvent pipelineEvent) in /home/runner/work/MonoGame/MonoGame/MonoGame.Framework.Content.Pipeline/Builder/PipelineManager.cs:line 717

Also with tilesets

Processor 'TiledMapTilesetProcessor' had unexpected failure!

System.MissingMethodException: Method not found: 'Microsoft.Xna.Framework.Color Microsoft.Xna.Framework.Color.get_TransparentBlack()'.
  at MonoGame.Extended.Content.Pipeline.TiledMapTilesetProcessor.Process(TiledMapTilesetContentItem contentItem, ContentProcessorContext context)
  at Microsoft.Xna.Framework.Content.Pipeline.ContentProcessor`2.Microsoft.Xna.Framework.Content.Pipeline.IContentProcessor.Process(Object input, ContentProcessorContext context) in /home/runner/work/MonoGame/MonoGame/MonoGame.Framework.Content.Pipeline/ContentProcessor.cs:line 60
  at MonoGame.Framework.Content.Pipeline.Builder.PipelineManager.ProcessContent(PipelineBuildEvent pipelineEvent) in /home/runner/work/MonoGame/MonoGame/MonoGame.Framework.Content.Pipeline/Builder/PipelineManager.cs:line 717

I tried to search this bug on Internet and even using ChatGPT but nothing gave me result.

I would be greatful for any help!

  • ✇Recent Questions - Game Development Stack Exchange
  • Getting the material name or index from a Blender FBX model in MonoGameLAK132
    I've imported Blender FBX models in to UE4 before, so I'm aware that some of the material information is saved in the model. How do I go about accessing this in MonoGame? To be clear, I don't specifically mean textures. I mean the materials that then refer to a given set of textures (colour, normal, etc). I'm currently parsing the same texture to the HLSL shader for the entire model, however I want to be able to change which texture is parsed based on the material information (or parse all tex
     

Getting the material name or index from a Blender FBX model in MonoGame

I've imported Blender FBX models in to UE4 before, so I'm aware that some of the material information is saved in the model. How do I go about accessing this in MonoGame?

To be clear, I don't specifically mean textures. I mean the materials that then refer to a given set of textures (colour, normal, etc).

I'm currently parsing the same texture to the HLSL shader for the entire model, however I want to be able to change which texture is parsed based on the material information (or parse all textures to the shader and have it choose, I'm not sure)

EDIT: it would seem this information is saved in the FBX as "LayerElementMaterial"

LayerElementMaterial: 0 {
        Version: 101
        Name: ""
        MappingInformationType: "ByPolygon"
        ReferenceInformationType: "IndexToDirect"
        Materials: 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
                   2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,
                   3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
                   2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
                   2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,
                   2,2,2,2,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
                   2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
                   2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
                   2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,1,1,1,1,

The question still stands, is this information accessible at runtime?

❌
❌