Jump to content

[1.8.9] Render armour on player without item


Wehavecookies56

Recommended Posts

Hello, I am trying to render a model over the player similar to armour but cannot align the position of the models with the player. I have been using ModelBiped but would much rather be able to use the armour model. I cannot figure out how to render it in the same position as the player while also rotating it with the player.

What I ultimately want to achieve is to render armour on the player with my textures while keeping the player rendered underneath.

So I have 2 questions.

How can I align the model with the player?

How can I render the armour model rather than player model?

I am using PlayerRenderEvent.Post to render it, here's the code.

        @SubscribeEvent
public void onRenderPlayer(RenderPlayerEvent.Post event){
	Minecraft mc = Minecraft.getMinecraft();
	ModelBiped main = event.renderer.getMainModel();
	ModelBiped drive = new ModelBiped();

	float base = 0.0625f;

	GL11.glPushMatrix();

	mc.renderEngine.bindTexture(new ResourceLocation("kk:textures/armour/Valor_A.png"));

	//Body and arms
	ModelBiped.copyModelAngles(main.bipedBody, drive.bipedBody);
	ModelBiped.copyModelAngles(main.bipedLeftArm, drive.bipedLeftArm);
	ModelBiped.copyModelAngles(main.bipedRightArm, drive.bipedRightArm);

	drive.bipedBody.render(base);
	drive.bipedLeftArm.render(base);
	drive.bipedRightArm.render(base);

	//Legs
	mc.renderEngine.bindTexture(new ResourceLocation("kk:textures/armour/Valor_B.png"));

	ModelBiped.copyModelAngles(main.bipedLeftLeg, drive.bipedLeftLeg);
	ModelBiped.copyModelAngles(main.bipedRightLeg, drive.bipedRightLeg);

	drive.bipedLeftLeg.render(base);
	drive.bipedRightLeg.render(base);

	GL11.glPopMatrix();
}

 

This produces:

I3e1Y3f.png

 

It looks fine it's just upside down and doesn't rotate with the player. Although the arms and legs move when walking.

I'm clearly doing something wrong or have missed out something.

 

Any help is appreciated, thanks.

Link to comment
Share on other sites

Wait, so to get this straight you are making a set of armor? Or what exactly are you making?

I Love To Help People. Unless They Are The Kind Of People Who Just Doesn't Know Anything. Those People Need Some Serious Help. This Could Help But......

https://www.youtube.com/watch?v=6t0GlXWx_PY

 

ThingsMod Git: https://github.com/EscapeMC/Things-Mod-1.10.2

 

TeamMadness Mod Git: https://github.com/EscapeMC/TeamMadness-Mod-1.10.2

 

If I somehow help you, please click the "Thank You" button. If I am a total waste of time, please click the "Applaud" button.

Link to comment
Share on other sites

Well, I am not sure about the turning part, but the part about the upside-down-ness may be able to be fixed if in the texture itself, you may want to flip it 180°, and therefore solving that

I Love To Help People. Unless They Are The Kind Of People Who Just Doesn't Know Anything. Those People Need Some Serious Help. This Could Help But......

https://www.youtube.com/watch?v=6t0GlXWx_PY

 

ThingsMod Git: https://github.com/EscapeMC/Things-Mod-1.10.2

 

TeamMadness Mod Git: https://github.com/EscapeMC/TeamMadness-Mod-1.10.2

 

If I somehow help you, please click the "Thank You" button. If I am a total waste of time, please click the "Applaud" button.

Link to comment
Share on other sites

Well, I am not sure about the turning part, but the part about the upside-down-ness may be able to be fixed if in the texture itself, you may want to flip it 180°, and therefore solving that

 

While that kinda would solve that, the legs are rendered above the body which suggests it is rendering the models upside down.

Link to comment
Share on other sites

sounds like u need to do some kind of GL rotating, not rotating the texture

 

I tried doing that, the problem is getting it perfectly aligned with the player.

I have some really bad memories associated with aligning models with players...

I was rendering a .obj model as a sword and it was hard. I had to change a number than restart minecraft. Till I found the perfect match. It was a painstaking process that took a long time.

Then after I finished spending hours on trying to align it, I found out that in debugging mode, it will change it without you having to restart minecraft. So, just run it in debug mode and try looking for the perfect numbers.

 

 

 

I'm back from being gone for... I think its been about a year. I'm pretty sure nobody remembers me, but hello anybody who does!

Link to comment
Share on other sites

sounds like u need to do some kind of GL rotating, not rotating the texture

 

I tried doing that, the problem is getting it perfectly aligned with the player.

I have some really bad memories associated with aligning models with players...

I was rendering a .obj model as a sword and I just to keep on trying with different numbers and then restart minecraft, till I found the perfect match. It was a painstaking process that took a long time.

Then after I finished spending hours on trying to align it, I found out that in debugging mode, it will change it without you having to restart minecraft. So, just run it in debug mode and try looking for the perfect numbers, till its aligned with the player.

 

But even if I do this it does not rotate with the player so it would be misaligned as soon as I move.

Link to comment
Share on other sites

  • 3 years later...
On 1/31/2016 at 10:09 AM, Wehavecookies56 said:

Hello, I am trying to render a model over the player similar to armour but cannot align the position of the models with the player. I have been using ModelBiped but would much rather be able to use the armour model. I cannot figure out how to render it in the same position as the player while also rotating it with the player.

What I ultimately want to achieve is to render armour on the player with my textures while keeping the player rendered underneath.

So I have 2 questions.

How can I align the model with the player?

How can I render the armour model rather than player model?

I am using PlayerRenderEvent.Post to render it, here's the code.

 


        @SubscribeEvent
public void onRenderPlayer(RenderPlayerEvent.Post event){
	Minecraft mc = Minecraft.getMinecraft();
	ModelBiped main = event.renderer.getMainModel();
	ModelBiped drive = new ModelBiped();

	float base = 0.0625f;

	GL11.glPushMatrix();

	mc.renderEngine.bindTexture(new ResourceLocation("kk:textures/armour/Valor_A.png"));

	//Body and arms
	ModelBiped.copyModelAngles(main.bipedBody, drive.bipedBody);
	ModelBiped.copyModelAngles(main.bipedLeftArm, drive.bipedLeftArm);
	ModelBiped.copyModelAngles(main.bipedRightArm, drive.bipedRightArm);

	drive.bipedBody.render(base);
	drive.bipedLeftArm.render(base);
	drive.bipedRightArm.render(base);

	//Legs
	mc.renderEngine.bindTexture(new ResourceLocation("kk:textures/armour/Valor_B.png"));

	ModelBiped.copyModelAngles(main.bipedLeftLeg, drive.bipedLeftLeg);
	ModelBiped.copyModelAngles(main.bipedRightLeg, drive.bipedRightLeg);

	drive.bipedLeftLeg.render(base);
	drive.bipedRightLeg.render(base);

	GL11.glPopMatrix();
}
 

 

 

This produces:

I3e1Y3f.png

 

It looks fine it's just upside down and doesn't rotate with the player. Although the arms and legs move when walking.

I'm clearly doing something wrong or have missed out something.

 

Any help is appreciated, thanks.

I just want to know 1 thing because I have been dying on trying to get a model to render on the player.

 

1. How are you rendering your model

Link to comment
Share on other sites

2 hours ago, CyborgGamer21 said:

How are you rendering your model

He already showed you the code.

 

On 1/31/2016 at 11:09 PM, Wehavecookies56 said:

How can I align the model with the player?

1. Stop using GLXX. Use GlStateManager instead.

2. Get the player's horizontal rotation and apply the rotation to your model with GlStateManager#rotate. This shouldn't be that hard.

Some tips:

Spoiler

Modder Support:

Spoiler

1. Do not follow tutorials on YouTube, especially TechnoVision (previously called Loremaster) and HarryTalks, due to their promotion of bad practice and usage of outdated code.

2. Always post your code.

3. Never copy and paste code. You won't learn anything from doing that.

4. 

Quote

Programming via Eclipse's hotfixes will get you nowhere

5. Learn to use your IDE, especially the debugger.

6.

Quote

The "picture that's worth 1000 words" only works if there's an obvious problem or a freehand red circle around it.

Support & Bug Reports:

Spoiler

1. Read the EAQ before asking for help. Remember to provide the appropriate log(s).

2. Versions below 1.11 are no longer supported due to their age. Update to a modern version of Minecraft to receive support.

 

 

Link to comment
Share on other sites

Sorry we don't support 1.8.9 or any version under 1.10 on this forum anymore due to their age. We simply don't know how to help you anymore. You can go to the Minecraft Forum where I think that they still still support older versions, or update to a modern version of Minecraft (the latest version or the one before it) to receive support on this forum.

About Me

Spoiler

My Discord - Cadiboo#8887

My WebsiteCadiboo.github.io

My ModsCadiboo.github.io/projects

My TutorialsCadiboo.github.io/tutorials

Versions below 1.14.4 are no longer supported on this forum. Use the latest version to receive support.

When asking support remember to include all relevant log files (logs are found in .minecraft/logs/), code if applicable and screenshots if possible.

Only download mods from trusted sites like CurseForge (minecraft.curseforge.com). A list of bad sites can be found here, with more information available at stopmodreposts.org

Edit your own signature at www.minecraftforge.net/forum/settings/signature/ (Make sure to check its compatibility with the Dark Theme)

Link to comment
Share on other sites

  • Guest locked this topic
Guest
This topic is now closed to further replies.

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.