Середина лета позади и разработка Exoplanet значительно продвинулась вперед с момента последнего обновления альфа-версии. В этом десятом (небольшой юбилей!) апдейте большинство изменений будут не сразу заметны для простого игрока, но тем не менее они вносят значительные усовершенствования в движок и систему скриптов, что в конечном счете отразится на качестве игры и скорости дальнейшей разработки. Также в течение прошедшего месяца мы приняли ряд важнейших решений относительно дизайна и функциональности многих внутриигровых систем и, в первую очередь — интерфейса.
Начнём с того, что линейная интерполяция вообще никакой «сглажки» не даст :)
Продолжим тем, что перемещение мышки это ни разу не функция, и некоторым значениям абсцисс будет соответствовать несколько ординат, а значит интерполяция просто не пройдёт.
И напоследок, вместо нормальной «сглажки» получатся тормоза отзыва мышки, т.к. для просчёта интерполяции нужно несколько узлов, а тормоза никому совершенно не нужны. :)
Ну это не только для Unity. Я например в Construct Classic для сглажки тоже lerp использую. И это дает как раз таки сглажку движения. Не стану больше спорить дело ваше. Я лишь сделаю пример, с гладким движением. Собственно выбрал язык LUA, т.к. знаю его по немножку. К сожалению, в Love2D функция lerp, которая есть в LUA не работает, поэтому я ее реализовал сам. Но выглядит она так: a+(b-a)*t. Меняя t мы будем управлять гладкостью движения.
Исходный код выглядит так:
function lerp(a,b,t) return a+(b-a)*t end
function love.load()
hamster = love.graphics.newImage("protoman.png")
posx = 50
posy = 50
end
function love.draw()
love.graphics.draw(hamster, posx, posy)
end
function love.update(dt)
posx = lerp(posx, love.mouse.getX(), dt)
posy = lerp(posy, love.mouse.getY(), dt)
end
10 комментариев
Продолжим тем, что перемещение мышки это ни разу не функция, и некоторым значениям абсцисс будет соответствовать несколько ординат, а значит интерполяция просто не пройдёт.
И напоследок, вместо нормальной «сглажки» получатся тормоза отзыва мышки, т.к. для просчёта интерполяции нужно несколько узлов, а тормоза никому совершенно не нужны. :)
Исходный код выглядит так:
И вот .exe реализован на Love2D: yadi.sk/d/xnoNR_Hv7M2XI