Подскажите, как запустить анимацию пушки во время выстрела ядра из нее? Создание и выстрел ядра у меня происходит в методе Shoot(). Не понимаю как запустить анимацию во время срабатывания Shoot().
private void Update() {
if (Target != null) {
if (reloadTimer > 0) reloadTimer -= Time.deltaTime;
if (reloadTimer <= 0)
{
Shoot();
}
else { Target = SortObj(); }
}
}
void Shoot()
{
GameObject patronGO = (GameObject)Instantiate(patronPrefab, firePoint.position, firePoint.rotation);
Bullet patron = patronGO.GetComponent<Bullet>();
if (patron != null)
patron.Finder(Target);
}
Если коротко - вам в коде нужна ссылка на компонент Animator Controller, который висит на пушке. В самом аниматоре должны быть настроены переходы между анимациями по определённым условиям. Например, если есть триггер Shoot, то нужно проиграть анимацию ShootAnimation.
После чего из кода вам нужно делать _animator.SetTrigger("Shoot");
в момент выстрела, где _animator - ссылка на компонент аниматора пушки.
На самом деле тема комплексная и полный ответ будет довольно велик. Поэтому советую вам посмотреть короткий ролик от Unity, в котором они учат из кода управлять аниматором.
Там есть субтитры, которые довольно качественно переводятся встроенными средствами на русский язык. Да и без субтитров вполне можно смотреть, просто повторяя действия из ролика.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Всем здравствуйтеЕсть у меня TabControl с двумя вкладками