Анимация модели

Здравствуйте.
Сделал анимацию течне-модели. Проблема в том, что скорость анимации зависит от количества FPS.
Можно ли сделать, чтобы скорость анимации не зависила от FPS? Сундук при любом FPS открывается с одинаковой скоростью.
 
А ты переменную приплюсовывай не в рендере, а в тиках. И сделай prevTickAnimation и animation.
И делаю с ним и `partial render time` то, что везде делает майн с теми же коордами.

P.S. double renderX = prevX + (posX - prevX) * partialRenderTime
 
anti344 написал(а):
А ты переменную приплюсовывай не в рендере, а в тиках.
ничё не понял.
Рендерер знаю, а тики где? Тики это ведь циклы в рендерере. Один тик равен одному циклу. И чё? Если прибавлять не в рендерере, то где? И откуда возмется partialRenderTime?
 
BlackCrafter написал(а):
Рендерер знаю, а тики где? Тики это ведь циклы в рендерере. Один тик равен одному циклу. И чё? Если прибавлять не в рендерере, то где? И откуда возмется partialRenderTime?
Я без понятия, как там рендер работает, но вот тебе определение тиков, мб поможет:
http://minecraft-ru.gamepedia.com/Такт
 
Тики - это апдейты игры, ровно 20 в секунду не больше и не(в большинстве случаев) меньше.
Рендеришь же ты тайл или энтити, вот в тайле или энтити и приплюсовывай переменную при апдейте.
 
Значит в onUpdate итема ставь на него NBT "переменную"(таг) ticks и приплюсовывай её.
 
Эм. А не зависеть от ФПС ты не сможешь. Экран обновляется только раз в тик, лолка.
 
laz2727 написал(а):
Эм. А не зависеть от ФПС ты не сможешь. Экран обновляется только раз в тик, лолка.

Тик в Minecraft это 1/20 секунды. Если бы на один тик приходился один кадр - то мы бы и играли с 20 fps.
 
laz2727 написал(а):
Эм. А не зависеть от ФПС ты не сможешь. Экран обновляется только раз в тик, лолка.
1) Зачем тогда пихать в нбт переменную и прибавлять?
2) скорость анимации сундука не зависит от FPS
Или типа анимация блоков отличается от анимации айтемов?
 
BlackCrafter написал(а):
1) Зачем тогда пихать в нбт переменную и прибавлять?
2) скорость анимации сундука не зависит от FPS
Или типа анимация блоков отличается от анимации айтемов?
Тебе уже сказали - бери клиентский onUpdate и меняй значение переменной там. А в рендере ты её лишь читаешь.
onUpdate идет 20 раз в секунду
рендер может быть хоть 100 раз в секунду

laz2727 написал(а):
Экран обновляется только раз в тик, лолка.
Кто лолка ещё.
2014
@
не знать про разделение на логику и рендер
 
2014
@
Привязывать скороcть анимации к тикам рендера
666 get! Hail Santa!
 
laz2727 написал(а):
2014
@
Привязывать скороcть анимации к тикам рендера
ну и откуда я должен был знать, что в майне onUpdate айтема происходит 20 раз в секунду, если я не создатель майна?
 
BlackCrafter написал(а):
ну  и откуда я должен был знать, что в майне onUpdate айтема происходит 20 раз в секунду, если я не  создатель майна?

Мб из статьи, которую я тебе кинул выше и советовал прочесть?
 
Try4W написал(а):
BlackCrafter написал(а):
ну  и откуда я должен был знать, что в майне onUpdate айтема происходит 20 раз в секунду, если я не  создатель майна?

Мб из статьи, которую я тебе кинул выше и советовал прочесть?
мб там не написано про то, что onUpdate айтема происходит 20 раз в секунду
 
BlackCrafter написал(а):
мб там не написано про то, что onUpdate айтема происходит 20 раз в секунду
update - есть тик. Это очень просто гуглится и интуитивно понятно из название метода: onUpdate() gets called every single tick of the game

Представляет из себя паузу между повторами цикла обновлений игрового мира.

Игровой цикл повторяется двадцать раз в секунду, поэтому такт — 1/20 секунды или 50 миллисекунд.
 
Из того, что я с самого начала так сказал.
 
Назад
Сверху