На прошлой неделе(2 недели назад, чутка затянул с постом) мне нужно было разобраться с визуальным перемещением персонажей. Персонаж должен не просто перемещаться, а реагировать на движение, как будто действительно чувствует, что его тянут. У меня было два варианта.
Первый – рэгдолл. Это, конечно, весело, когда персонажи забавно валяются по экрану, но для моей игры, которая всё-таки серьёзная, это не подходило. Поэтому я сразу отложил эту идею.
Второй вариант – это анимация с крайними положениями. Я решил сделать три ключевых позиции: левую, центральную и правую. Они позволили персонажам при перемещении выглядеть более естественно, без лишней комичности.
Естественно, не всё шло гладко. Когда я впервые попытался перемещать персонажей, они за пределами бункера вдруг начали "прилипать" к разным объектам, да я перемещал рейкастом а не следовал за курсором.
И да, небо без коллайдера – это штука, которую я поначалу не учёл. Пришлось всё исправлять. Сейчас персонажи корректно следуют за курсором, и это работает как надо.
Ещё один нюанс: после перемещения персонаж оставался наклоненным, что выглядело странно. Я подумал, как это исправить, и нашёл решение(стартовую точку двигаю в текущее положение сталкера, что сокращает расстояние и возвращает сталкера в нейтральное положение): теперь персонажи постепенно возвращаются в свое нормальное положение, когда их отпускают. Всё плавно и естественно.
Теперь персонажи не просто перемещаются, а делают это красиво и естественно, как и должно быть в игре. В будущем планирую ещё улучшить анимации и сделать так, чтобы они взаимодействовали с окружением ещё лучше. Работа продолжается, и я уже вижу, как проект обретает форму.