@madmaga

Unity как включить анимация при OnMouceDown?

Здравствуйте, у меня есть спрайт который должен анимироваться при OnMouceDown, т.е при клике на коллайдер. И для этого в скрипте я пишу
Void OnMouceDown() 
{ 
Anim. Play("MyAnim") ;
}

И этот скрипт работает. При клике на коллайдер
Включается "MyAnim". Но мне нужно несколько анимаций для моего спрайта, которые так же должны воспроизводится при OnMouceDown. Хочу чтобы при клике в область головы моего спрайта включалась анимация " MyAnim", в область живота "MyAnim2", в область рук"MyAnim3" И. Т. Д
И для этого мне нужно разместить несколько коллайдеров на моем спрайте. И тут уже возникает проблема. Если я на свой спрайт добавлю несколько коллайдеров и несколько скриптов, то unity не будет знать какую анимацию воспроизвести "MyAnim" 1,2, или 3? Т. Е не будет знать какой коллайдер отвечает за "MyAnim" А какой за "MyAnim2". Если я создам пустой объект для каждой анимации а затем размещю туда скрипт(anim.play("Myanim...")) и коллайдер. Тогда на сцене появится 2 спрайта. Надеюсь проблема понятна! Спасибо!!!
  • Вопрос задан
  • 62 просмотра
Пригласить эксперта
Ответы на вопрос 1
DanceM
@DanceM Куратор тега Unity
Кто хочет -ищет способ, кто не хочет -ищет причину
Ищите в учебнике уроке по работе с анимациями, т.к. "просто" это не сделать, если не понимать систему целиком.

Выглядеть это будет так: три невидимых дочерних объекта, у каждого свой коллайдер в нужном месте.
Все три ссылаются на один аниматор.
В аниматоре структура, что позволяет воспроизводить три анимации по вызову, с переходами и прочим.
И каждой из них свой метод вызова, скажем по Trigger'у.

Выходит:
объектСКоллайдеромРуки.ПоНажатию > аниматорПерсонажа.АктивируйТриггер("АнимацияРук")
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы