- 176
- 0
Сделал модельку, но часть шейпов повёрнуто неверно. В чём может быть причина?
В игре:
В Techne:
Модель:
Рендер:
В игре:
В Techne:
Модель:
Код:
package su.poligon.main.models;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
public class ModelWarAxe extends ModelBase
{
//fields
ModelRenderer Shape1;
ModelRenderer Shape2;
ModelRenderer Shape3;
ModelRenderer Shape4;
ModelRenderer Shape5;
ModelRenderer Shape6;
ModelRenderer Shape7;
ModelRenderer Shape8;
ModelRenderer Shape9;
ModelRenderer Shape10;
ModelRenderer Shape11;
ModelRenderer Shape12;
ModelRenderer Shape13;
ModelRenderer Shape14;
ModelRenderer Shape15;
ModelRenderer Shape16;
ModelRenderer Shape17;
ModelRenderer Shape18;
ModelRenderer Shape19;
ModelRenderer Shape20;
ModelRenderer Shape21;
ModelRenderer Shape22;
ModelRenderer Shape23;
ModelRenderer Shape24;
ModelRenderer Shape25;
ModelRenderer Shape26;
public ModelWarAxe()
{
textureWidth = 256;
textureHeight = 128;
Shape1 = new ModelRenderer(this, 0, 0);
Shape1.addBox(0F, 0F, 0F, 5, 62, 5);
Shape1.setRotationPoint(0F, -39.6F, 0F);
Shape1.setTextureSize(64, 32);
Shape1.mirror = true;
setRotation(Shape1, 0F, 0F, 0F);
Shape2 = new ModelRenderer(this, 0, 0);
Shape2.addBox(0F, 0F, 0F, 15, 4, 7);
Shape2.setRotationPoint(-5F, -43F, -1F);
Shape2.setTextureSize(64, 32);
Shape2.mirror = true;
setRotation(Shape2, 0F, 0F, 0F);
Shape3 = new ModelRenderer(this, 0, 0);
Shape3.addBox(0F, 0F, 0F, 5, 25, 9);
Shape3.setRotationPoint(10F, -58F, -1.866667F);
Shape3.setTextureSize(64, 32);
Shape3.mirror = true;
setRotation(Shape3, 0F, 0F, 0F);
Shape4 = new ModelRenderer(this, 0, 0);
Shape4.addBox(0F, 0F, 0F, 5, 25, 9);
Shape4.setRotationPoint(-9.666667F, -58F, -2F);
Shape4.setTextureSize(64, 32);
Shape4.mirror = true;
setRotation(Shape4, 0F, 0F, 0F);
Shape5 = new ModelRenderer(this, 0, 0);
Shape5.addBox(0F, 0F, 0F, 15, 4, 7);
Shape5.setRotationPoint(-5F, -54F, -1F);
Shape5.setTextureSize(64, 32);
Shape5.mirror = true;
setRotation(Shape5, 0F, 0F, 0F);
Shape6 = new ModelRenderer(this, 0, 0);
Shape6.addBox(0F, 0F, 0F, 7, 16, 9);
Shape6.setRotationPoint(-4F, -58F, -2F);
Shape6.setTextureSize(64, 32);
Shape6.mirror = true;
setRotation(Shape6, 0F, 0F, 2.111848F);
Shape7 = new ModelRenderer(this, 0, 0);
Shape7.addBox(0F, 0F, 0F, 7, 15, 9);
Shape7.setRotationPoint(-7.466667F, -39F, -2F);
Shape7.setTextureSize(64, 32);
Shape7.mirror = true;
setRotation(Shape7, 0F, 0F, 1.029744F);
Shape8 = new ModelRenderer(this, 0, 0);
Shape8.addBox(0F, 0F, 0F, 7, 15, 9);
Shape8.setRotationPoint(9F, -33F, -2F);
Shape8.setTextureSize(64, 32);
Shape8.mirror = true;
setRotation(Shape8, 0F, 0F, -1.029744F);
Shape9 = new ModelRenderer(this, 0, 0);
Shape9.addBox(0F, 0F, 0F, 7, 16, 9);
Shape9.setRotationPoint(13F, -52F, -2F);
Shape9.setTextureSize(64, 32);
Shape9.mirror = true;
setRotation(Shape9, 0F, 0F, -2.111848F);
Shape10 = new ModelRenderer(this, 0, 0);
Shape10.addBox(0F, 0F, 0F, 7, 16, 9);
Shape10.setRotationPoint(20F, -59F, -2F);
Shape10.setTextureSize(64, 32);
Shape10.mirror = true;
setRotation(Shape10, 0F, 0F, -0.2306552F);
Shape11 = new ModelRenderer(this, 0, 0);
Shape11.addBox(0F, 0F, 0F, 7, 22, 9);
Shape11.setRotationPoint(23F, -46F, -2F);
Shape11.setTextureSize(64, 32);
Shape11.mirror = true;
setRotation(Shape11, 0F, 0F, 0.1455835F);
Shape12 = new ModelRenderer(this, 0, 0);
Shape12.addBox(0F, 0F, 0F, 7, 16, 9);
Shape12.setRotationPoint(-21F, -60F, -2F);
Shape12.setTextureSize(64, 32);
Shape12.mirror = true;
setRotation(Shape12, 0F, 0F, 0.2306627F);
Shape13 = new ModelRenderer(this, 0, 0);
Shape13.addBox(0F, 0F, 0F, 7, 22, 9);
Shape13.setRotationPoint(-24F, -45F, -2F);
Shape13.setTextureSize(64, 32);
Shape13.mirror = true;
setRotation(Shape13, 0F, 0F, -0.1455779F);
Shape14 = new ModelRenderer(this, 0, 0);
Shape14.addBox(0F, 0F, 0F, 7, 8, 7);
Shape14.setRotationPoint(-2.5F, 22F, 2.5F);
Shape14.setTextureSize(64, 32);
Shape14.mirror = true;
setRotation(Shape14, 0F, 0.7853982F, 0F);
Shape15 = new ModelRenderer(this, 0, 0);
Shape15.addBox(0F, 0F, 0F, 5, 62, 5);
Shape15.setRotationPoint(-1F, -39F, 2.5F);
Shape15.setTextureSize(64, 32);
Shape15.mirror = true;
setRotation(Shape15, 0F, 0.7853982F, 0F);
Shape16 = new ModelRenderer(this, 0, 0);
Shape16.addBox(0F, 0F, 0F, 5, 15, 5);
Shape16.setRotationPoint(-1F, -58F, 2.5F);
Shape16.setTextureSize(64, 32);
Shape16.mirror = true;
setRotation(Shape16, 0F, 0.7853982F, 0F);
Shape17 = new ModelRenderer(this, 0, 0);
Shape17.addBox(0F, 0F, 0F, 6, 22, 6);
Shape17.setRotationPoint(-21.7F, -70F, 2.5F);
Shape17.setTextureSize(64, 32);
Shape17.mirror = true;
setRotation(Shape17, -0.2268928F, 0.7853982F, 0.2268928F);
Shape18 = new ModelRenderer(this, 0, 0);
Shape18.addBox(0F, 0F, 0F, 6, 18, 6);
Shape18.setRotationPoint(-28.5F, -50F, 2.5F);
Shape18.setTextureSize(64, 32);
Shape18.mirror = true;
setRotation(Shape18, 0.0523599F, 0.7853982F, -0.0523599F);
Shape19 = new ModelRenderer(this, 0, 0);
Shape19.addBox(0F, 0F, 0F, 6, 18, 6);
Shape19.setRotationPoint(-27F, -32F, 2.5F);
Shape19.setTextureSize(64, 32);
Shape19.mirror = true;
setRotation(Shape19, 0.1919862F, 0.7853982F, -0.1919862F);
Shape20 = new ModelRenderer(this, 0, 0);
Shape20.addBox(0F, 0F, 0F, 6, 18, 6);
Shape20.setRotationPoint(28.5F, -34F, -2F);
Shape20.setTextureSize(64, 32);
Shape20.mirror = true;
setRotation(Shape20, 0.1919862F, -0.7853982F, 0.1919862F);
Shape21 = new ModelRenderer(this, 0, 0);
Shape21.addBox(0F, 0F, 0F, 6, 18, 6);
Shape21.setRotationPoint(29.5F, -49F, -2F);
Shape21.setTextureSize(64, 32);
Shape21.mirror = true;
setRotation(Shape21, 0.0523599F, -0.7853982F, 0.0523599F);
Shape22 = new ModelRenderer(this, 0, 0);
Shape22.addBox(0F, 0F, 0F, 6, 24, 6);
Shape22.setRotationPoint(22.3F, -68.5F, -2F);
Shape22.setTextureSize(64, 32);
Shape22.mirror = true;
setRotation(Shape22, -0.2268928F, -0.7853982F, -0.2268928F);
Shape23 = new ModelRenderer(this, 0, 0);
Shape23.addBox(0F, 0F, 0F, 44, 2, 2);
Shape23.setRotationPoint(-18F, -49F, 0F);
Shape23.setTextureSize(64, 32);
Shape23.mirror = true;
setRotation(Shape23, 0F, 0F, 0F);
Shape24 = new ModelRenderer(this, 0, 0);
Shape24.addBox(0F, 0F, 0F, 44, 2, 2);
Shape24.setRotationPoint(-19F, -46F, 0F);
Shape24.setTextureSize(64, 32);
Shape24.mirror = true;
setRotation(Shape24, 0F, 0F, 0F);
Shape25 = new ModelRenderer(this, 0, 0);
Shape25.addBox(0F, 0F, 0F, 12, 2, 2);
Shape25.setRotationPoint(14F, -42F, 0F);
Shape25.setTextureSize(64, 32);
Shape25.mirror = true;
setRotation(Shape25, 0F, 0F, 0.2617994F);
Shape26 = new ModelRenderer(this, 0, 0);
Shape26.addBox(0F, 0F, 0F, 12, 2, 2);
Shape26.setRotationPoint(-17F, -40F, 0F);
Shape26.setTextureSize(64, 32);
Shape26.mirror = true;
setRotation(Shape26, 0F, 0F, -0.2617994F);
}
public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5, boolean isFirstPirson)
{
super.render(entity, f, f1, f2, f3, f4, f5);
setRotationAngles(f, f1, f2, f3, f4, f5, entity);
Shape1.render(f5);
Shape2.render(f5);
Shape3.render(f5);
Shape4.render(f5);
Shape5.render(f5);
Shape6.render(f5);
Shape7.render(f5);
Shape8.render(f5);
Shape9.render(f5);
Shape10.render(f5);
Shape11.render(f5);
Shape12.render(f5);
Shape13.render(f5);
Shape14.render(f5);
Shape15.render(f5);
Shape16.render(f5);
Shape17.render(f5);
Shape18.render(f5);
Shape19.render(f5);
Shape20.render(f5);
Shape21.render(f5);
Shape22.render(f5);
Shape23.render(f5);
Shape24.render(f5);
Shape25.render(f5);
Shape26.render(f5);
}
private void setRotation(ModelRenderer model, float x, float y, float z)
{
model.rotateAngleX = x;
model.rotateAngleY = y;
model.rotateAngleZ = z;
}
public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity ent)
{
super.setRotationAngles(f, f1, f2, f3, f4, f5, ent);
}
}
Код:
package su.poligon.main.models.renders;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.inventory.GuiContainerCreative;
import net.minecraft.client.gui.inventory.GuiInventory;
import net.minecraft.client.renderer.entity.RenderManager;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.IItemRenderer;
import org.lwjgl.opengl.GL11;
import su.poligon.main.models.ModelWarAxe;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class RenderModelWarAxe implements IItemRenderer
{
@SideOnly(Side.CLIENT)
protected ModelWarAxe launcherModel;
@SideOnly(Side.CLIENT)
public RenderModelWarAxe()
{
launcherModel = new ModelWarAxe();
}
@SideOnly(Side.CLIENT)
@Override
public boolean handleRenderType(ItemStack item, ItemRenderType type) {
switch(type)
{
case EQUIPPED: return true;
default: return false;
}
}
@SideOnly(Side.CLIENT)
@Override
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper)
{
return false;
}
@SideOnly(Side.CLIENT)
@Override
public void renderItem(ItemRenderType type, ItemStack item, Object... data)
{
switch(type)
{
case EQUIPPED:
{
GL11.glScalef(0.3F, 0.3F, 0.3F);
GL11.glPushMatrix();
Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation ("setera", "textures/models/w_warAxe.png"));
GL11.glRotatef(220F, 1F, -0.0F, 0F);
GL11.glRotatef(170F, 25F, 0F, 0F);
GL11.glRotatef(-115F, 0.0F, 0.3F, 1F);
boolean isFirstPirson = true;
if(data[1] != null && data[1] instanceof EntityPlayer)
{
if(!((EntityPlayer)data[1] == Minecraft.getMinecraft().renderViewEntity && Minecraft.getMinecraft().gameSettings.thirdPersonView == 0 && !((Minecraft.getMinecraft().currentScreen instanceof GuiInventory || Minecraft.getMinecraft().currentScreen instanceof GuiContainerCreative) && RenderManager.instance.playerViewY == 180.0F)));
{
GL11.glTranslatef(-0.F, -0.0F, -0.0F);
}
}
else
{
isFirstPirson = true;
}
GL11.glTranslatef(-2F, 0.7F, -0.7F);
float scale = 1.0F;
GL11.glScalef(1.0F, 1.0F, 1.0F);
launcherModel.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, isFirstPirson);
GL11.glPopMatrix();
}
default:
break;
}
}
}