Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

[SOLVED][1.10.2] Wavefront model texture issues (Modular Powersuits)


lehjr
 Share

Recommended Posts

I have some wavefront armor models that I'm having texture issues with. If I load and bake them manually, the texture displayed looks like it's the entire texture sheet instead of the model textures. For testing purposes, I created some dummy items and blockstate files for them, and going that route the models load fine and render fine. Any hints as to where to look to fix this would be appreciated. 

 

Models are all here: https://github.com/MachineMuse/MachineMusePowersuits/tree/1.10.2-Java/src/main/resources/assets/powersuits/models/item/armor

The working JSON files that I used to load with dummy items are here: https://github.com/MachineMuse/MachineMusePowersuits/tree/1.10.2-Java/src/main/resources/assets/powersuits/blockstates

Rendering is done through quads, starting here: https://github.com/MachineMuse/MachineMusePowersuits/blob/1.10.2-Java/src/main/java/net/machinemuse/powersuits/client/render/modelspec/RenderPart.java

and ending here: https://github.com/MachineMuse/MachineMusePowersuits/blob/1.10.2-Java/src/main/java/net/machinemuse/powersuits/client/render/modelspec/ModelPartSpec.java#L47-L63

And yes, the rest of the mod is still a bit of mess that I'm cleaning up. 

 

2017-03-06_11.42.48.png

2017-03-06_12.03.38.png

Edited by lehjr
Link to comment
Share on other sites

  • 4 weeks later...

So after digging into the model loading system it looks like the model loading is a different process than what it appears on the surface. When using JSON files to load models, textures are registered automatically in that process, but not if you load the textures yourself. There's also the OBJLoader's internal cache, which means that loading the OBJModel before the texture is registered will result in storing a broken copy of the model. This means that you won't be able to get the textures by OBJModel#getTextures() in order to register them. Of course you could just use your own loader and add a section that loads without the cache so you can use OBJModel#getTextures() to get the textures and register them. Then later on load again with the cache. 

 

So if your texture looks like this when you load the OBJ model, your mapping is lost: 

TextureAtlasSprite{name='powersuits:items/armor/diffuse', frameCount=0, rotated=false, x=0, y=0, height=0, width=0, u0=0.0, u1=0.0, v0=0.0, v1=0.0}

If it looks like this then it should work:

TextureAtlasSprite{name='powersuits:items/armor/diffuse', frameCount=1, rotated=false, x=1024, y=512, height=512, width=512, u0=0.25, u1=0.375, v0=0.25, v1=0.5}

 

Link to comment
Share on other sites

  • 4 years later...
Guest
This topic is now closed to further replies.
 Share



  • Recently Browsing

    No registered users viewing this page.

  • Posts

    • When my mod attempts to build and try to download the mappings, I get this error. > Could not find net.minecraftforge:forge:1.18-38.0.15_mapped_official_1.18_at_69dcb59b344338a3e5978a88158d63d53d0bea6b.      Searched in the following locations:        - https://repo.maven.apache.org/maven2/net/minecraftforge/forge/1.18-38.0.15_mapped_official_1.18_at_69dcb59b344338a3e5978a88158d63d53d0bea6b/forge-1.18-38.0.15_mapped_official_1.18_at_69dcb59b344338a3e5978a88158d63d53d0bea6b.pom        - file:/C:/Users/palad/.m2/repository/net/minecraftforge/forge/1.18-38.0.15_mapped_official_1.18_at_69dcb59b344338a3e5978a88158d63d53d0bea6b/forge-1.18-38.0.15_mapped_official_1.18_at_69dcb59b344338a3e5978a88158d63d53d0bea6b.pom        - https://libraries.minecraft.net/net/minecraftforge/forge/1.18-38.0.15_mapped_official_1.18_at_69dcb59b344338a3e5978a88158d63d53d0bea6b/forge-1.18-38.0.15_mapped_official_1.18_at_69dcb59b344338a3e5978a88158d63d53d0bea6b.pom        - https://maven.minecraftforge.net/net/minecraftforge/forge/1.18-38.0.15_mapped_official_1.18_at_69dcb59b344338a3e5978a88158d63d53d0bea6b/forge-1.18-38.0.15_mapped_official_1.18_at_69dcb59b344338a3e5978a88158d63d53d0bea6b.pom        - https://dvs1.progwml6.com/files/maven/net/minecraftforge/forge/1.18-38.0.15_mapped_official_1.18_at_69dcb59b344338a3e5978a88158d63d53d0bea6b/forge-1.18-38.0.15_mapped_official_1.18_at_69dcb59b344338a3e5978a88158d63d53d0bea6b.pom        - https://maven.tterrag.com/net/minecraftforge/forge/1.18-38.0.15_mapped_official_1.18_at_69dcb59b344338a3e5978a88158d63d53d0bea6b/forge-1.18-38.0.15_mapped_official_1.18_at_69dcb59b344338a3e5978a88158d63d53d0bea6b.pom        - https://maven.blamejared.com/net/minecraftforge/forge/1.18-38.0.15_mapped_official_1.18_at_69dcb59b344338a3e5978a88158d63d53d0bea6b/forge-1.18-38.0.15_mapped_official_1.18_at_69dcb59b344338a3e5978a88158d63d53d0bea6b.pom        - https://maven.minecraftforge.net/net/minecraftforge/forge/1.18-38.0.15_mapped_official_1.18_at_69dcb59b344338a3e5978a88158d63d53d0bea6b/forge-1.18-38.0.15_mapped_official_1.18_at_69dcb59b344338a3e5978a88158d63d53d0bea6b.module        - https://maven.minecraftforge.net/net/minecraftforge/forge/1.18-38.0.15_mapped_official_1.18_at_69dcb59b344338a3e5978a88158d63d53d0bea6b/forge-1.18-38.0.15_mapped_official_1.18_at_69dcb59b344338a3e5978a88158d63d53d0bea6b.jar        - file:/C:/Users/palad/.gradle/caches/forge_gradle/bundeled_repo/net/minecraftforge/forge/1.18-38.0.15_mapped_official_1.18_at_69dcb59b344338a3e5978a88158d63d53d0bea6b/forge-1.18-38.0.15_mapped_official_1.18_at_69dcb59b344338a3e5978a88158d63d53d0bea6b.pom        - file:/C:/Users/palad/.gradle/caches/forge_gradle/bundeled_repo/net/minecraftforge/forge/1.18-38.0.15_mapped_official_1.18_at_69dcb59b344338a3e5978a88158d63d53d0bea6b/forge-1.18-38.0.15_mapped_official_1.18_at_69dcb59b344338a3e5978a88158d63d53d0bea6b.jar        - https://libraries.minecraft.net/net/minecraftforge/forge/1.18-38.0.15_mapped_official_1.18_at_69dcb59b344338a3e5978a88158d63d53d0bea6b/forge-1.18-38.0.15_mapped_official_1.18_at_69dcb59b344338a3e5978a88158d63d53d0bea6b.jar   How can I fix this?
    • public static final DeferredRegister<Block> BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, BunchOfThings.MODID); public static final RegistryObject<Block> BLACK_SLIME_BLOCK = BLOCKS.register("black_slime_block", () -> { return new ColoredSlimeBlock(BlockBehaviour.Properties.of(Material.CLAY).friction(0.8f).sound(SoundType.SLIME_BLOCK).noOcclusion()); });  
    • Forge any, nothing is done
    • I need to make a server with its own launcher and texts on the screen, such as in the lower left corner of the coins are displayed. 
    • show the Registry Entry of your ColoredSlimeBlock
  • Topics

  • Who's Online (See full list)

×
×
  • Create New...

Important Information

By using this site, you agree to our Privacy Policy.