Воспроизвести две анимации вместе на Spinner - PullRequest
0 голосов
/ 25 августа 2018

Я хочу играть анимацию движения и вращения на игровом объекте Spinner. Для вращения я использовал контроллер аниматора, а для движения я написал код.

Вот настройки инспектора контроллера аниматора для вращения:

enter image description here

Вот код, который я написал для движения:

private void StartMoving()
{
    iTween.MoveBy(gameObject, iTween.Hash("x", transformDistance, "time", 
        Random.Range(1.5f, 5f), "looptype", iTween.LoopType.pingPong, "easetype", 
        iTween.EaseType.linear, "delay", Random.Range(0f, 1f)));
}

В настоящее время в игре показывается только действие, связанное с движением, вращение полностью прекращается. Если установить флажок «Применить корневое движение» на «ложь», анимация вращения начнет воспроизводиться, и движение остановится.

Я хочу сыграть обе анимации вместе.

Здесь у вас есть данные об объекте счетчика:

enter image description here

1 Ответ

0 голосов
/ 28 августа 2018

Каждый раз, когда вы комбинируете анимацию с помощью контроллера анимации и некоторые другие анимации / движения с помощью сценария, лучше всего разделить эти два объекта (на родительские дочерние объекты), поскольку эти два эффекта будут конфликтовать друг с другом.

Да, вы можете попробовать Apply root motion и другие причудливые вещи, но это всегда грязно, и я обнаружил, что разделять их проще и понятнее.

В вашем случае

  1. Создайте родительский объект и поместите на него свой эффект движения.
  2. Создайте дочерний объект с вашим объектом вращения и анимируйте его, как вы хотите.

Поскольку анимация включенадочерний объект не будет подвержен влиянию движения на родительском объекте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...