Понедельник, 25 Ноября 2024, 15:19

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
(Unity). Проблема с animator controller.
gamedevloginДата: Суббота, 23 Июня 2018, 17:48 | Сообщение # 1
был не раз
Сейчас нет на сайте
Создается 2d игра под android.

Проблема следующая -> есть объект(enemy), в виде человека, на нем весит скрипт EnemyMovementController, изначально объект стоит в анимации idle, когда к нему приближается главный персонаж, то по отработке триггера он поворачивается лицом к главному персонажу(через scale.x) если он не повернут к нему, после чего бежит за целью(за тем самым главным персонажем) и наносит удары. Так все работало недолго. Что-то случилось и теперь момент с поворотом не действует. Т.е объект(enemy) передвигается, наносит удар, но не поворачивается лицом к главному персонажу. Думаю что проблема в animator controller. Потому что, когда в animator я выставляю другой animator controller, все прекрасно работает(т.е момент с поворотом работает, но естественно не работает вся система анимации, так как animator controller другой). Знающие подскажите в чем может быть проблема. Момент с поворотом я реализовал в Update(), где-то прочитал, что нужно все это действо производить в LateUpdate().Сделал, появились какие-то проявления поворота. Scale.x на мили секунды обращается в противоположное значение после опять принимает изначальное положение.(т.е не помогло). Заранее спасибо.
SkySupraДата: Суббота, 23 Июня 2018, 21:33 | Сообщение # 2
частый гость
Сейчас нет на сайте
Из поста понял, что скрипт EnemyMovementController отвечает за передвижение и поворот. Этот скрипт двигает и поворачивает компонент transform, пусть имя компонента будет Monster. Если в аниматоре в какой-то animation clip затрагивает поворот Monster, то он перепишет изменения установленные скриптом EnemyMovementController.
Решение. Убрать в анимации редактирование поворота transform у Monster. Если нужно в анимации нужно затрагивать поворот Monster, то нужно делать иерархию из transform, один будет для скрипта EnemyMovementController, второй для аниматора.
П.С. Не очень понятно причём тут scale и поворот, т.к. scale это масштаб.
seamanДата: Суббота, 23 Июня 2018, 21:36 | Сообщение # 3
старожил
Сейчас нет на сайте
> Не очень понятно причём тут scale и поворот, т.к. scale это масштаб.
Ну так 2D же. Там поворот часто делают именно масштабом = -1
gamedevloginДата: Воскресенье, 24 Июня 2018, 00:33 | Сообщение # 4
был не раз
Сейчас нет на сайте
Спасибо за ответ еще раз.

При решении этой проблемы я сразу решил(тавтология), что дело именно в этом(т.е дело именно в том, что я в клипах анимации затрагивал scale.x(через который я осуществлял поворот персонажа)), поэтому я сразу проверил этот момент. Спешу вас огорчить дело не в этом.В анимации я вообще не трогал scale. Вопрос до сих пор актуален.
SkySupraДата: Воскресенье, 24 Июня 2018, 09:37 | Сообщение # 5
частый гость
Сейчас нет на сайте
Цитата seaman ()
Ну так 2D же. Там поворот часто делают именно масштабом = -1

Благодарю, что-то не сообразил.

gamedevlogin, описания проблемы сложилось мнение, что какой-то animation clip (например, атаки) переписывает значения scale. На всякий случай напишу, даже если клип атаки сейчас не проигрывается и редактирует только scale.y, аниматор всё равно перепишет все параметры scale (x, y, z).
Если замена аниматора помогает с проблемой, что могу предложить:
- проверить ещё раз все клипы аниматора на наличие хоть одного, который мог трогать масштаб;
- возможно аниматор использует какой-нибудь скрипт StateMachineBehaviour, который редактирует scale;
- проверить дёргает ли аниматор методы у скриптов в которых может редактироваться scale;
- если всё плохо, то можно перебором. Все клипы заменить на одну пустую анимацию и проверять созданные анимации по одной. Так можно сузить круг проблем.
В случае если ничего из выше описанного не помогает, если есть желанием, можешь мне скинуть свой проект. Я вечером приду и посмотрю.
gamedevloginДата: Воскресенье, 24 Июня 2018, 13:16 | Сообщение # 6
был не раз
Сейчас нет на сайте
SkySupra, Благодарю вас за вашу отзывчивость.

Вы были правы. Я в одном совершенно постороннем animation clip случайно затронул scale , но с вашей помощью все обошлось.
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг