[1.5.2]Проблемы с анимацией брони.

71
1
Здравствуйте форумчане, может кто-то уже сталкивался с проблемами анимации??
Так вот, у меня такая проблема, нагрудник отображается, поворачивается, приседает, но при ходьбе, при беге, или просто стою, по сути руки то двигаются и этим самым вылазят за модель брони.
82QVvLGI1wLwJA.jpg

Вот при беге :
zAN0v6qulv4jBm.jpg
 
nickita45 написал(а):
Dablex написал(а):
Исходники надо кидать?)
Конечно,на форуме искал решение?
Код:
package model.testmod;

import java.util.ArrayList;

import org.lwjgl.opengl.GL11;

import net.minecraft.client.model.ModelBiped;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;

public class ModelHelmet extends ModelBiped {
    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;
    ModelRenderer Shape27;

private ArrayList<ModelRenderer> myleftarm = new ArrayList<ModelRenderer>();
private ArrayList<ModelRenderer> mybody = new ArrayList<ModelRenderer>();
private ArrayList<ModelRenderer> myrightarm = new ArrayList<ModelRenderer>();
public ModelHelmet() {
    textureWidth = 64;
    textureHeight = 32;
    
      Shape1 = new ModelRenderer(this, 0, 0);
      Shape1.addBox(-4F, 0F, -3F, 3, 1, 1);
      Shape1.setRotationPoint(0F, 0F, 0F);
      Shape1.setTextureSize(64, 32);
      Shape1.mirror = true;
      setRotation(Shape1, 0F, 0F, 0F);
      Shape2 = new ModelRenderer(this, 0, 0);
      Shape2.addBox(1F, 0F, -3F, 3, 1, 1);
      Shape2.setRotationPoint(0F, 0F, 0F);
      Shape2.setTextureSize(64, 32);
      Shape2.mirror = true;
      setRotation(Shape2, 0F, 0F, 0F);
      Shape3 = new ModelRenderer(this, 0, 0);
      Shape3.addBox(-1F, 1F, -3F, 2, 1, 1);
      Shape3.setRotationPoint(0F, 0F, 0F);
      Shape3.setTextureSize(64, 32);
      Shape3.mirror = true;
      setRotation(Shape3, 0F, 0F, 0F);
      Shape4 = new ModelRenderer(this, 0, 0);
      Shape4.addBox(0.2F, -3.5F, -2.5F, 2, 1, 5);
      Shape4.setRotationPoint(5F, 2F, 0F);
      Shape4.setTextureSize(64, 32);
      Shape4.mirror = true;
      setRotation(Shape4, 0F, 0F, 0F);
      Shape5 = new ModelRenderer(this, 0, 0);
      Shape5.addBox(-1F, -3F, -2F, 4, 1, 4);
      Shape5.setRotationPoint(5F, 2F, 0F);
      Shape5.setTextureSize(64, 32);
      Shape5.mirror = true;
      setRotation(Shape5, 0F, 0F, 0F);
      Shape6 = new ModelRenderer(this, 0, 0);
      Shape6.addBox(3.2F, -7F, -1F, 1, 2, 2);
      Shape6.setRotationPoint(5F, 2F, 0F);
      Shape6.setTextureSize(64, 32);
      Shape6.mirror = true;
      setRotation(Shape6, 0F, 0F, 0F);
      Shape7 = new ModelRenderer(this, 0, 0);
      Shape7.addBox(-1F, -3F, -1F, 4, 11, 1);
      Shape7.setRotationPoint(5F, 2F, -2F);
      Shape7.setTextureSize(64, 32);
      Shape7.mirror = true;
      setRotation(Shape7, 0F, 0F, 0F);
      Shape8 = new ModelRenderer(this, 0, 0);
      Shape8.addBox(0.2F, -3F, -3.5F, 2, 10, 1);
      Shape8.setRotationPoint(5F, 2F, 0F);
      Shape8.setTextureSize(64, 32);
      Shape8.mirror = true;
      setRotation(Shape8, 0F, 0F, 0F);
      Shape9 = new ModelRenderer(this, 0, 0);
      Shape9.addBox(2.5F, -7.8F, -0.5F, 1, 1, 1);
      Shape9.setRotationPoint(5F, 2F, 0F);
      Shape9.setTextureSize(64, 32);
      Shape9.mirror = true;
      setRotation(Shape9, 0F, 0F, 0F);
      Shape10 = new ModelRenderer(this, 0, 0);
      Shape10.addBox(3F, -3F, -2F, 1, 11, 4);
      Shape10.setRotationPoint(5F, 2F, 0F);
      Shape10.setTextureSize(64, 32);
      Shape10.mirror = true;
      setRotation(Shape10, 0F, 0F, 0F);
      Shape11 = new ModelRenderer(this, 0, 0);
      Shape11.addBox(-1F, -3F, 2F, 4, 11, 1);
      Shape11.setRotationPoint(5F, 2F, 0F);
      Shape11.setTextureSize(64, 32);
      Shape11.mirror = true;
      setRotation(Shape11, 0F, 0F, 0F);
      Shape12 = new ModelRenderer(this, 0, 0);
      Shape12.addBox(4F, -5F, -2F, 1, 4, 4);
      Shape12.setRotationPoint(5F, 2F, 0F);
      Shape12.setTextureSize(64, 32);
      Shape12.mirror = true;
      setRotation(Shape12, 0F, 0F, 0F);
      Shape13 = new ModelRenderer(this, 0, 0);
      Shape13.addBox(4F, -6.5F, -1.5F, 1, 2, 3);
      Shape13.setRotationPoint(5F, 2F, 0F);
      Shape13.setTextureSize(64, 32);
      Shape13.mirror = true;
      setRotation(Shape13, 0F, 0F, 0F);
      Shape14 = new ModelRenderer(this, 0, 0);
      Shape14.addBox(4.6F, -5.5F, -1.5F, 1, 4, 3);
      Shape14.setRotationPoint(5F, 2F, 0F);
      Shape14.setTextureSize(64, 32);
      Shape14.mirror = true;
      setRotation(Shape14, 0F, 0F, 0F);
      Shape15 = new ModelRenderer(this, 0, 0);
      Shape15.addBox(-3.5F, -7.8F, -0.5F, 1, 1, 1);
      Shape15.setRotationPoint(-5F, 2F, 0F);
      Shape15.setTextureSize(64, 32);
      Shape15.mirror = true;
      setRotation(Shape15, 0F, 0F, 0F);
      Shape16 = new ModelRenderer(this, 0, 0);
      Shape16.addBox(-2.2F, -3F, -3.5F, 2, 10, 1);
      Shape16.setRotationPoint(-5F, 2F, 0F);
      Shape16.setTextureSize(64, 32);
      Shape16.mirror = true;
      setRotation(Shape16, 0F, 0F, 0F);
      Shape17 = new ModelRenderer(this, 0, 0);
      Shape17.addBox(-3F, -3F, -3F, 4, 11, 1);
      Shape17.setRotationPoint(-5F, 2F, 0F);
      Shape17.setTextureSize(64, 32);
      Shape17.mirror = true;
      setRotation(Shape17, 0F, 0F, 0F);
      Shape18 = new ModelRenderer(this, 0, 0);
      Shape18.addBox(-4.5F, -3.5F, -1F, 1, 1, 2);
      Shape18.setRotationPoint(-5F, 2F, 0F);
      Shape18.setTextureSize(64, 32);
      Shape18.mirror = true;
      setRotation(Shape18, 0F, 0F, 0F);
      Shape19 = new ModelRenderer(this, 0, 0);
      Shape19.addBox(-3F, -3F, -2F, 4, 1, 4);
      Shape19.setRotationPoint(-5F, 2F, 0F);
      Shape19.setTextureSize(64, 32);
      Shape19.mirror = true;
      setRotation(Shape19, 0F, 0F, 0F);
      Shape20 = new ModelRenderer(this, 0, 0);
      Shape20.addBox(-5F, -5F, -2F, 1, 4, 4);
      Shape20.setRotationPoint(-5F, 2F, 0F);
      Shape20.setTextureSize(64, 32);
      Shape20.mirror = true;
      setRotation(Shape20, 0F, 0F, 0F);
      Shape21 = new ModelRenderer(this, 0, 0);
      Shape21.addBox(-5.6F, -5.5F, -1.5F, 1, 4, 3);
      Shape21.setRotationPoint(-5F, 2F, 0F);
      Shape21.setTextureSize(64, 32);
      Shape21.mirror = true;
      setRotation(Shape21, 0F, 0F, 0F);
      Shape22 = new ModelRenderer(this, 0, 0);
      Shape22.addBox(-5F, -6.5F, -1.5F, 1, 2, 3);
      Shape22.setRotationPoint(-5F, 2F, 0F);
      Shape22.setTextureSize(64, 32);
      Shape22.mirror = true;
      setRotation(Shape22, 0F, 0F, 0F);
      Shape23 = new ModelRenderer(this, 0, 0);
      Shape23.addBox(-5.9F, -4F, -1F, 1, 2, 2);
      Shape23.setRotationPoint(-5F, 2F, 0F);
      Shape23.setTextureSize(64, 32);
      Shape23.mirror = true;
      setRotation(Shape23, 0F, 0F, 0F);
      Shape24 = new ModelRenderer(this, 0, 0);
      Shape24.addBox(-4F, -3F, -2F, 1, 11, 4);
      Shape24.setRotationPoint(-5F, 2F, 0F);
      Shape24.setTextureSize(64, 32);
      Shape24.mirror = true;
      setRotation(Shape24, 0F, 0F, 0F);
      Shape25 = new ModelRenderer(this, 0, 0);
      Shape25.addBox(-4.2F, -7F, -1F, 1, 2, 2);
      Shape25.setRotationPoint(-5F, 2F, 0F);
      Shape25.setTextureSize(64, 32);
      Shape25.mirror = true;
      setRotation(Shape25, 0F, 0F, 0F);
      Shape26 = new ModelRenderer(this, 0, 0);
      Shape26.addBox(-2.2F, -3.5F, -3F, 2, 1, 5);
      Shape26.setRotationPoint(-5F, 2F, 0F);
      Shape26.setTextureSize(64, 32);
      Shape26.mirror = true;
      setRotation(Shape26, 0F, 0F, 0F);
      Shape27 = new ModelRenderer(this, 0, 18);
      Shape27.addBox(-3F, -3F, 2F, 4, 11, 1);
      Shape27.setRotationPoint(-5F, 2F, 0F);
      Shape27.setTextureSize(64, 32);
      Shape27.mirror = true;
      setRotation(Shape27, 0F, 0F, 0F);
    
      myleftarm.add(Shape4);      
      myleftarm.add(Shape5);
      myleftarm.add(Shape6);
      myleftarm.add(Shape7);
      myleftarm.add(Shape8);
      myleftarm.add(Shape9);
      myleftarm.add(Shape10);
      myleftarm.add(Shape11);
      myleftarm.add(Shape12);
      myleftarm.add(Shape13);
      myleftarm.add(Shape14);
      
      
      mybody.add(Shape1);
      mybody.add(Shape2);
      mybody.add(Shape3);

      
    myrightarm.add(Shape15);
    myrightarm.add(Shape16);
    myrightarm.add(Shape17);
    myrightarm.add(Shape18);
    myrightarm.add(Shape19);
    myrightarm.add(Shape20);
    myrightarm.add(Shape21);
    myrightarm.add(Shape22);
    myrightarm.add(Shape23);
    myrightarm.add(Shape24);
    myrightarm.add(Shape25);
    myrightarm.add(Shape26);
    myrightarm.add(Shape27);
             
}

public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) {
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);
Shape27.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 entity)
{
  super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); 
  
  setRotationAngleYleft();
  setRotationAngleXleft();
  setRotationAngleYbody();
  setRotationAngleXbody();
  setRotationAngleYright();
  setRotationAngleXright();
  
  if (isSneak) 
      setRotationPointY(1.0F);
  else 
      setRotationPointY(0.0F);
}
private void setRotationPointY (float par) {
    for (ModelRenderer modelRenderer : myleftarm) {
        modelRenderer.rotationPointY = par;
    }
    for (ModelRenderer modelRenderer : mybody) {
        modelRenderer.rotationPointY = par;
    }
    for (ModelRenderer modelRenderer : myrightarm) {
        modelRenderer.rotationPointY = par;
    }
}
private void setRotationAngleYleft() {
    for (ModelRenderer modelRenderer : myleftarm) {
        modelRenderer.rotateAngleY = bipedLeftArm.rotateAngleY;
    }
}
private void setRotationAngleXleft() {
    for (ModelRenderer modelRenderer : myleftarm) {
        modelRenderer.rotateAngleX = bipedLeftArm.rotateAngleX;
    }
}

private void setRotationAngleYbody() {
    for (ModelRenderer modelRenderer : mybody) {
        modelRenderer.rotateAngleY = bipedBody.rotateAngleY;
    }
}private void setRotationAngleXbody() {
    for (ModelRenderer modelRenderer : mybody) {
        modelRenderer.rotateAngleX = bipedBody.rotateAngleX;
    }
}

private void setRotationAngleYright() {
    for (ModelRenderer modelRenderer : myrightarm) {
        modelRenderer.rotateAngleY = bipedRightArm.rotateAngleY;
    }
}
private void setRotationAngleXright() {
    for (ModelRenderer modelRenderer : myrightarm) {
        modelRenderer.rotateAngleX = bipedRightArm.rotateAngleX;
    }
}
  }
 
Назад
Сверху