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

[1.16][Not Solved] need help with OBJ models


Recommended Posts

I've got an obj model rendering on an item, however I'm facing three issues:

1- the model doesn't render correctly in the player inventory

2- the model has a face that is missing (the model looks fine in the 3d editor)

3- the model pivot point is weirdly placed when it is rotating on the ground

4- the texture doesn't load and the model just renders all black

here's a repo for the mod: https://github.com/jvcmarcenes/dicehoard

and here are some images of the problem:

2021-03-24_14_51_27.png.9d53275969f2d122c0ca0f765a7e62a9.png2021-03-24_14_51_26.png.4164b8e77ede936f6d936c5c030fdb0b.png

 

 

 

 

 

 

 

 

Edited by kiou.23
Link to post
Share on other sites

I have never used an obj model before, but my guess is that you can still use the 'display' field in the item json model file to change the rotation/translation/scale of the item. Take a look at the Minecraft wiki article about it. That would solve issue 1 and 3 I think.

  • Thanks 1
Link to post
Share on other sites
36 minutes ago, vemerion said:

I have never used an obj model before, but my guess is that you can still use the 'display' field in the item json model file to change the rotation/translation/scale of the item. Take a look at the Minecraft wiki article about it. That would solve issue 1 and 3 I think.

okay, seems like that should solve some of the problems (although the trial and errors to get the numbers right is going to be a headache...)

thanks!

Link to post
Share on other sites
  • kiou.23 changed the title to [1.16][Not Solved] need help with OBJ models

I haven't messed with OBJ models either but..don't you need to specify the texture path in the form modid:item/texture_name here: https://github.com/jvcmarcenes/dicehoard/blob/4e02044bec2bedceebf402ba875ecb9d73593da4/src/main/resources/assets/dicehoard/models/dice/d_six.mtl#L4? After relocating your texture file of course

  • Thanks 1

Check out the port of the BetterEnd fabric mod (WIP): https://www.curseforge.com/minecraft/mc-mods/betterend-forge-port

Link to post
Share on other sites
Posted (edited)
24 minutes ago, Beethoven92 said:

I haven't messed with OBJ models either but..don't you need to specify the texture path in the form modid:item/texture_name here: https://github.com/jvcmarcenes/dicehoard/blob/4e02044bec2bedceebf402ba875ecb9d73593da4/src/main/resources/assets/dicehoard/models/dice/d_six.mtl#L4? After relocating your texture file of course

I'll try that

I didn't think I'd need to since the .mtl and the texture are in the same folder

EDIT: did not solve it

Edited by kiou.23
Link to post
Share on other sites

Beethoven92 is correct, you need to change map_Kd line to (map_Kd dicehoard:item/white). I put your files is a test project and the texture loads. (Note: I used your png file and not the jpg in model folder)

Edited by lupicus
Link to post
Share on other sites
Posted (edited)
1 hour ago, lupicus said:

Beethoven92 is correct, you need to change map_Kd line to (map_Kd dicehoard:item/white). I put your files is a test project and the texture loads. (Note: I used your png file and not the jpg in model folder)

still won't work for me

I updated the repo with the suggestion, can you confirm that what I tried is the same as what worked for you?


EDIT: nervermind, it works, I'm dumb

the reason why I thought it wasn't working was due to ItemColors returning pure black

Edited by kiou.23
Link to post
Share on other sites

I should've mentioned that I only took assets and no code, sorry about that.

For #2, you have 2 texture U coordinates above 1.0 (the last 2 defined in OBJ file). Changing them to 1.0 makes it look correct.

Edited by lupicus
  • Thanks 1
Link to post
Share on other sites
47 minutes ago, lupicus said:

I should've mentioned that I only took assets and no code, sorry about that.

For #2, you have 2 texture U coordinates above 1.0 (the last 2 defined in OBJ file). Changing them to 1.0 makes it look correct.

Thank you!

the uv thing is odd, I got the files exported from vectary and it rendered fine in the viewer.

Link to post
Share on other sites

For #1 and #3 you can adjust position in json file (this looks about right):

{
  "loader": "forge:obj",
  "model" : "dicehoard:models/dice/d_six.obj",
  "display": {
    "gui": {
      "translation": [ 10, 3, 5 ]
    },
    "ground": {
      "translation": [ 9.6, 5, 8 ]
    }
  }
}

 

Link to post
Share on other sites
20 minutes ago, lupicus said:

For #1 and #3 you can adjust position in json file (this looks about right):


{
  "loader": "forge:obj",
  "model" : "dicehoard:models/dice/d_six.obj",
  "display": {
    "gui": {
      "translation": [ 10, 3, 5 ]
    },
    "ground": {
      "translation": [ 9.6, 5, 8 ]
    }
  }
}

 

yeah, I was just tinkering with the numbers

I'm still gonna need to fine tune the translation for some other dispalys, but this already helps!

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Recently Browsing

    No registered users viewing this page.

  • Posts

    • Hey, since yesterday im not able to load in an existing world anymore. I searched for some solutions, but only thing i could find is the productivebees mod, which seems to cause some problems. I havent installed this mod though. Ive attached the debug.log to this post. If you need any additional information or files please let me know!   debug-2.log.gz
    • Doing these things moves the camera. Your code subtracts the camera's position value from the MatrixStack.
    • That is just the modpack, no logs.
    • I created a modpack for me and my friends but we constantly crash after ~5 minutes of playing , Can some one help me please ? Here are the logs and the modpack : https://www.mediafire.com/file/kqnui7c0wzu8t7k/VladPack4-1.16.5.zip/file
    • I wrote a class that stores the BlockPos and BlockState of a specific block that needs to be changed into another block after a certain amount of time. So far I just coded stone bricks being changed into cracked stone bricks. In every worldtickevent I call a method called onTick in which there is a slight chance (1 in 1000) that this change will occur. The class that does this is called DecayHandler.java   DecayHandler.Java :   public class DecayHandler { public BlockState blockState; public BlockPos blockPos; public World world; private Random random; public int decayChance = 1000; private boolean decayed = false; public DecayHandler(BlockState blockState, BlockPos blockPos, World world){ this.blockState = blockState; this.blockPos = blockPos; this.world = world; random = new Random(); } public DecayHandler OnTick(){ //TODO: Refactor in other methods and implement BlockSwapper if(random.nextInt(decayChance) == 0 && !decayed){ System.out.println(this.blockPos + " Decayed"); if(world.setBlockAndUpdate(blockPos, Blocks.CRACKED_STONE_BRICKS.getBlock().defaultBlockState())){ this.blockState = Blocks.CRACKED_STONE_BRICKS.getBlock().defaultBlockState(); decayed = true; return this; } } //WorldDecayData.get(); return null; } }   This code works fine when I load in to a world and place stone bricks down. The stone bricks stay there for a couple of seconds and then they change into cracked stone bricks. The problem occurs when I save and quit to title and rejoin the same world when I placed stone brick that hadn't decayed yet. The game seems to remember what DecayHandlers were running which I guess is logical because I never closed it. So when the world is reloaded again my code stops without error and no longer functions. I can see in the terminal that the last message that was displayed was that a block decayed so I put a breakpoint on it to see what went wrong. By the way, the game keeps running just fine but my code just stops. The part where it seems to go wrong is in this line:  if(world.setBlockAndUpdate(blockPos, Blocks.CRACKED_STONE_BRICKS.getBlock().defaultBlockState())) When I try to step in to every single detail the callstack becomes insanely large and I'm unable to understand what's going on. The only thing I know is that right at the end they put my thread in to parking or something? I really don't understand what was going on. Can someone explain why this is happening? I don't have a clue of what's going on.
  • Topics

  • Who's Online (See full list)

×
×
  • Create New...

Important Information

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