Как использовать один и тот же анимационный клип для нескольких объектов в Unity? - PullRequest
0 голосов
/ 10 июля 2019

У меня есть 2 простые кнопки, каждые 10 секунд я хочу, чтобы одна из них анимировалась (движение встряхивания вдоль оси X влево и вправо) всего за 2 секунды.

2 кнопки Изображение

Итак, я создал один контроллер аниматора и ОДИН анимационный клип в Unity для анимации встряхивания на Первая кнопка , и это работало просто отлично, но для Вторая кнопка все пошло не так потому что вторая кнопка привязывается к местоположению First Button и затем применяет анимацию.

Теперь я знаю, что вызывает эту проблему, а именно то, что в анимационном клипе я перемещаю Первая кнопка из положения X (X = 413) влево и вправо, тогда как Вторая кнопка Второй кнопки имеет значение (X = 640), что означает Вторая кнопка будет привязан к (X = 413), чтобы применить анимацию.

Мой вопрос: возможно ли применить один и тот же анимационный клип к разным объектам? Или я должен создать анимационный клип с помощью другого программного обеспечения и использовать его в единстве?

1 Ответ

0 голосов
/ 10 июля 2019

Можно ли применить один и тот же анимационный клип к разным объектам?

Да.

Но, не видя ваш код и ваши точные настройки, трудно дать уверенное решение вашей проблемы. Тем не менее, я довольно уверен, что ваша проблема та же самая, с которой я столкнулся недавно.

Прежде чем дать вам решение, позвольте мне объяснить причину проблемы (при условии, что мы говорим об одной и той же проблеме):

Когда вы анимируете объект, скажем, ради аргумента position компонента Transform, вы анимируете его абсолютно . Другими словами, если ключевой кадр перемещает преобразование вдоль оси x на '5', то, что действительно происходит не относительное движение, но абсолют один, в котором «5» добавляется к текущей позиции абсолютно .

Итак, если начальная позиция (125, 0), то анимация оставляет ее как (130, 0) в этом случае (так как мы перемещаемся на '5' на x). Я знаю, что вы затронули этот вопрос в своем вопросе, но я просто хотел сделать это как можно более ясным.

Хорошо, надеюсь, я объяснил причину проблемы, теперь для решения:

Родитель пустое GameObject для объекта, который вы пытаетесь оживить.

После этого, когда вы анимируете положение кнопки, движение будет относительно относительно родителя вместо абсолютного.

Примечание. Возможно, вам понадобится повторить анимацию после этого изменения, чтобы сделать так, чтобы кнопка переключалась с (0, 0) на (5, 0). Затем, когда вы добавляете больше кнопок, вы можете повторно использовать анимацию, просто убедитесь, что они связаны с другой GameObject и расположены в (0, 0).

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