В настоящее время я работаю над игровым автоматом в Unity и пытаюсь добиться того, чтобы, как только барабаны перестают вращаться, символы немного подпрыгивали вверх и вниз, прежде чем полностью остановиться. >
В моем коде этот метод сейчас обрабатывает остановку барабанов:
Код: Выделить всё
private void Update(){
if(stopInitiated) {
speed= 0;
}
}
В настоящее время это просто устанавливает скорость барабанов на 0. Если значение плавающей скорости отрицательное, барабаны движутся вверх, а если значение положительное, барабаны движутся вниз. Есть ли способ манипулировать значением скорости так, чтобы создавался приятный небольшой эффект отскока?
Я пробовал использовать этот пример сценария для EasingFunction, но я не совсем понимаю, как работают эти методы. .
Я пробовал:
Код: Выделить всё
private void Update(){
if(stopInitiated) {
speed = EasingFunction.EaseOutBounce(-0.10f, 0.00f, 0.50f);
}
}
Однако единственное, что происходит, это то, что как только инициируется остановка, барабан просто начинает вращаться вверх навсегда. Я думаю, что метод Update() вызывает float EasingOutBounce каждый раз, когда он выполняется, так что это может быть причиной сброса значения скорости. Можете ли вы подсказать мне, как правильно реализовать такую функцию смягчения?
В противном случае я также был бы рад принять альтернативное решение, такое как lerp, если оно приводит к отскоку эффект.
Благодарю за помощь!
Подробнее здесь:
https://stackoverflow.com/questions/792 ... -animation