[1.6.4] Obj: Поворот модели | блока к игроку при установке

Статус
В этой теме нельзя размещать новые ответы.

timaxa007

Модератор
5,831
409
672
timaxa007 написал(а):
Код:
switch (tileEntity.getBlockMetadata()) {
case 0:GL11.glRotatef(-180F, 0F, 0F, 1F);break;
case 3:GL11.glRotatef(-90F, 0F, 0F, 1F);break;
case 2:GL11.glRotatef(0F, 0F, 0F, 1F);break;
case 1:GL11.glRotatef(90F, 0F, 0F, 1F);break;
default:GL11.glRotatef(0F, 0F, 0F, 1F);break;
}
Vova_master написал(а):
Вращалось не так как нужно, а в противоположную сторону.
Код:
switch (tileEntity.getBlockMetadata()) {
case 2:GL11.glRotatef(-180F, 0F, 0F, 1F);break;
case 1:GL11.glRotatef(-90F, 0F, 0F, 1F);break;
case 0:GL11.glRotatef(0F, 0F, 0F, 1F);break;
case 3:GL11.glRotatef(90F, 0F, 0F, 1F);break;
default:GL11.glRotatef(0F, 0F, 0F, 1F);break;
}
 
Так, все, поворот до ума довел. В файле модели можно только высоту модельки менять(при создании в редакторе). А положнеие всей модели пусть будет на x -0 z - 0. Вот я на этом и попался. Ща рендер для итема запилю, и все.(Наконецто!)
[merge_posts_bbcode]Добавлено: 07.04.2014 18:51:49[/merge_posts_bbcode]

Почти! Токо небольшая странность:
От первого лица:
eb0862926fafa349efb6a61f37e5fad1.png


От третьего:
f2b3e4816aa011cbfa08937e32bfaeee.png

 Вот код:
Код:
public ItemRendererBlockMincerModel() {
model = AdvancedModelLoader.loadModel("/assets/morefood/models/MincerModel1.obj");
texture = new ResourceLocation("morefood:textures/models/mincerTexture.png");
}

@Override
public boolean handleRenderType(ItemStack is, ItemRenderType type) {
return true;
}

@Override
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack is, ItemRendererHelper helper) {
return true;
}

@Override
public void renderItem(ItemRenderType type, ItemStack is, Object... data) {
GL11.glPushMatrix();
GL11.glTranslatef(0.5F, 0.0F, 0.5F);
GL11.glRotatef(90F, 0.0F, 1.0F, 0.0F);
Minecraft.getMinecraft().renderEngine.bindTexture(texture);
this.model.renderAll();
GL11.glPopMatrix();
 

timaxa007

Модератор
5,831
409
672
Уточни, что ты хочешь?
 

timaxa007

Модератор
5,831
409
672
Вроде одинаково, просто оно вроде у тебя задом модель повёрнута к игроку.
 
Но на рендере от первого лица оно рожей к игроку повернуто. А мне это не нужно.
 

timaxa007

Модератор
5,831
409
672
Vova_master написал(а):
Код:
@Override
public void renderItem(ItemRenderType type, ItemStack is, Object... data) {
GL11.glPushMatrix();
GL11.glTranslatef(0.5F, 0.0F, 0.5F);
GL11.glRotatef(90F, 0.0F, 1.0F, 0.0F);
Minecraft.getMinecraft().renderEngine.bindTexture(texture);
this.model.renderAll();
GL11.glPopMatrix();
Ну наверное так тебе надо:
Код:
@Override
public void renderItem(ItemRenderType type, ItemStack is, Object... data) {
GL11.glPushMatrix();
GL11.glTranslatef(0.5F, 0.0F, 0.5F);
GL11.glRotatef(90F, 0.0F, 1.0F, 0.0F);
if (type == type.EQUIPPED) {//от 3 лица
GL11.glRotatef(75F,0.0F,0.0F,1.0F);
}
else if (type == type.EQUIPPED_FIRST_PERSON) {//от 1 лица
GL11.glRotatef(-90F,0.0F,0.0F,1.0F);
}
else {//В остальных случиах, т.е. (наверное) в инвентаре.
GL11.glRotatef(0F,0.0F,0.0F,1.0F);
}
Minecraft.getMinecraft().renderEngine.bindTexture(texture);
this.model.renderAll();
GL11.glPopMatrix();
В твоем случаи (из-за модели) примерно так должно выглядит:
Код:
@Override
public void renderItem(ItemRenderType type, ItemStack is, Object... data) {
GL11.glPushMatrix();
GL11.glTranslatef(0.5F, 0.0F, 0.5F);
GL11.glRotatef(90F, 0.0F, 1.0F, 0.0F);
if (type == type.EQUIPPED) {//от 3 лица
GL11.glRotatef(165F,0.0F,0.0F,1.0F);
}
else if (type == type.EQUIPPED_FIRST_PERSON) {//от 1 лица
GL11.glRotatef(0F,0.0F,0.0F,1.0F);
}
else {//В остальных случиах, т.е. (наверное) в инвентаре.
GL11.glRotatef(90F,0.0F,0.0F,1.0F);
}
Minecraft.getMinecraft().renderEngine.bindTexture(texture);
this.model.renderAll();
GL11.glPopMatrix();
 
О! Так робит. Я попытался поискать ответы в учебнике, когда CMTV создавал бластер, но там тонна ошибок и краш. А тут робит! Спасиб! Все, можно закрывать(ну, наверное... цель то достигнута)
[merge_posts_bbcode]Добавлено: 07.04.2014 19:33:50[/merge_posts_bbcode]

Только.. Тим, а почему ты то по x поворачиваешь, то по z? Они ж ведь по вертикали поворачивают. Для горизонтали используй y.
 

timaxa007

Модератор
5,831
409
672
Ну как тебе сказать, когда я использовал повороты для моделей из Techne модели они неправильно располагались для obj файла, "методом тыка" я подбирал различные оси поворота и результат у меня получился таким. (если ты имел ввиду про "Rotate", а не "Translate").
 
771
5
timaxa007 написал(а):
Ну как тебе сказать, когда я использовал повороты для моделей из Techne модели они неправильно располагались для obj файла, "методом така" я подбирал различные оси поворота и результат у меня получился таким. (если ты имел ввиду про "Rotate", а не "Translate").
"Метод така" - это что-то новенькое =)
 

timaxa007

Модератор
5,831
409
672
Извиняюсь, опечатался. Я имел виду "Метод тыка".
 
Тима, ты не один, кто пользуется тыком) Интересно, сколько бы денег можно было нагрести, если запатентовать метод тыка?
 

necauqua

когда-то был anti344
Администратор
1,216
27
172
ПОЗДНООООООООООО.............. Гыы..
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху