2D смещение предмета

173
1
3
Хотел бы сделать своё оружие наподобие копья, алебарды, двуручной секиры и т.д. Может кто подсказать как правильно сместить оружие в руке игрока?
 
608
5
15
Регистрируешь свой рендер, вызываешь ванильный рендер предмета и двигаешь.
Для лёгкости можешь воспользоваться этим.
 
173
1
3
Сотворил вот такое вот чудо: 
Код:
public class RenderIronSpear implements IItemRenderer {

    public static final ResourceLocation texture = new ResourceLocation("mybestmod:textures/items/iron_spear.png");

    @Override
    public boolean handleRenderType(ItemStack is, ItemRenderType type) {
        if (type == ItemRenderType.INVENTORY) return false;
        return true;
    }

    @Override
    public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack is, ItemRendererHelper helper) {
        if (type == ItemRenderType.INVENTORY) return false;
        return true;
    }

    @Override
    public void renderItem(ItemRenderType type, ItemStack is, Object... data) {
        GL11.glPushMatrix();
        Minecraft.getMinecraft().renderEngine.bindTexture(texture);
        float scale = 1.5f;
        GL11.glScalef(scale, scale, scale);
        GL11.glPopMatrix();
    }
}

Не работает. Просто пустота в руках :(
 
667
7
2
Lobotino написал(а):
Сотворил вот такое вот чудо: 
Код:
public class RenderIronSpear implements IItemRenderer {

    public static final ResourceLocation texture = new ResourceLocation("mybestmod:textures/items/iron_spear.png");

    @Override
    public boolean handleRenderType(ItemStack is, ItemRenderType type) {
        if (type == ItemRenderType.INVENTORY) return false;
        return true;
    }

    @Override
    public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack is, ItemRendererHelper helper) {
        if (type == ItemRenderType.INVENTORY) return false;
        return true;
    }

    @Override
    public void renderItem(ItemRenderType type, ItemStack is, Object... data) {
        GL11.glPushMatrix();
        Minecraft.getMinecraft().renderEngine.bindTexture(texture);
        float scale = 1.5f;
        GL11.glScalef(scale, scale, scale);
        GL11.glPopMatrix();
    }
}

Не работает. Просто пустота в руках :(
Если нету краша, значит работает. Позиционирование не правильное.
[merge_posts_bbcode]Добавлено: 25.06.2016 22:09:14[/merge_posts_bbcode]

Попробуй покрутить :
Код:
float scale = 1.5f;
Например:
Код:
float scale = 0.8f;
 
173
1
3
Нет, проблема не в этом. Предмет всё еще в руке, просто у него модельки нет. Я не знаю как запилить в рендер 2Д модель. 
Вот примеры:
Без рендера вообще


После рендера
 
667
7
2
Попробуй так:
Код:
public class RenderIronSpear implements IItemRenderer {

    public static final ResourceLocation texture = new ResourceLocation("mybestmod:textures/items/iron_spear.png");


    @Override
    public boolean handleRenderType(ItemStack is, ItemRenderType type) {
        if (type == ItemRenderType.INVENTORY) return false;
        return true;
    }

    @Override
    public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack is, ItemRendererHelper helper) {
        if (type == ItemRenderType.INVENTORY) return false;
        return true;
    }

    @Override
    public void renderItem(ItemRenderType type, ItemStack is, Object... data) {
        GL11.glPushMatrix();
        Minecraft.getMinecraft().renderEngine.bindTexture(texture); //В место этого
        bindTexture(texture); //Это
        float scale = 1.5f;
        GL11.glScalef(scale, scale, scale);
        GL11.glPopMatrix();
    }
}
 
173
1
3
Красным горит :(
 
667
7
2
Ты удалил?
Код:
Minecraft.getMinecraft().renderEngine.bindTexture(texture);
 
173
1
3
Да
 
667
7
2
Эмм. У меня нет идей. Нам нужен svk2140.
 
173
1
3
но я же... рендерю...

не понимаю :(
 
667
7
2
173
1
3
Код:
 MinecraftForgeClient.registerItemRenderer(Main.IronSpear, new RenderIronSpear());
 
1,137
5
3
virysD написал(а):
Пришли прокси. Может там что то.
Из жопы у вас что-то, а конкретнее руки

Ты ничего не рисуешь, действительно. Для того, чтобы нарисовать предмет воспользуйся ItemRenderer.renderItem
 
608
5
15
Ахахахахаххаха, я в шоке.  virysD как ты это не заметил?
 
173
1
3
Конечно это круто, кидаться какашками в тех, кто чего-то не знает. Повысил самооценку и всё такое, только вот я ничего не понял. Где пользоваться то? И как именно? Ни капли опыта в рисовании нет.
 
1,137
5
3
Наверно круто задавать один и тот же вопрос уже 4 раз
 
608
5
15
Наверное круто лезть в моддинг не зная ни java, ни развив логику, наверное круто лезть на форум, потому-что самому лень разбираться?
 
173
1
3
В чем смысл лезть в темы с вопросами новичков с самого начала нацеливаясь только посраться?

Java я знаю. Но ни разу не пробовал ничего отрисовать с помощью тесселятора и OpenGL в принципе. Конечно, извините что задаю вопрос на который не знаю ответа заранее. Кстати, в теме "Вопросы".
 
Сверху