[1.7.10] Вращение

164
1
4
Рендерю предмет сверху блока с TileEntity. Нужно сделать так чтобы он вращался с той скоростью, что я укажу. Есть несколько вариантов сделать вращение:
1) В RenderTickEvent прибавлять к переменной 1 и использовать эту переменную в glRotate
2) Использовать System.currentTimeMillis() или System.nanoTime() (Не совсем знаю как, нужен пример), записывать в переменную и использовать эту переменную в glRotate 
3) ???
Что лучше использовать?
 
1,137
5
3
14096026515004.jpeg
 
1,990
18
105
Хреновый это вариант.
И второй тоже.
Я же сказал, поиск по форуму.
(ключевые слова: интерполяция, partialRenderTick)
 
643
6
14
Создай float переменную равную 0;
float tick = 0;
Делай условие на различное ее значение
В glRotatef((tick * x) + x, (tick * y) + y, (tick * z ) + z);
И тп, могу наклепать велосипедо-код за 2 минутки.(хотя сам его сделаешь)
 
1,137
5
3
Хватит дерьмо предлагать. Конь сказал верный ответ, даже тема от Majestic была.
 
164
1
4
Спасибо всем, сделал так:
RendererTable:
Код:
double angle = tile.prevRotation + (tile.rotation - tile.prevRotation) * partialTicks;
GL11.glRotated(angle, 0.0D, 1.0D, 0.0D);



TileTable:
Код:
    public double prevRotation;
    public double rotation;
    
    @Override
    public void updateEntity()
    {
        this.prevRotation = this.rotation;
        this.rotation += 1.0D; //типа скорость
    }
 
Сверху