В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
Fkbyfitdxtyrj
Fkbyfitdxtyrj
16.12.2020 20:44 •  Информатика

Как научить персонажа в unity 3D ходить дайте скрипт пожайлуста

Показать ответ
Ответ:
Derbershto397
Derbershto397
13.10.2020 16:59

Объяснение:

По образцу из статьи по спрайтам, я наделал из них 2 атласа текстур и собрал 2 дерева смешивания: на передвижение шагом и бегом, назвав их соответственно Move и Run. Одновременно с этим добавив 2 булевых переменных с аналогичным названием и настроив переходы между деревьями по образцу из этой статьи.

Подготовленный Animator Controller.

Подготовленный Animator Controller.

Подготовив всю анимацию, давайте проверим, идет ли переключения между деревьями? Немного доработаем наш код, добавив 2 строчки:

Изменения отмечены красным цветом.

Изменения отмечены красным цветом.

Проверяем...Вуаля, переход между деревьями ничем не отличается от перехода между двумя обычными анимациями. Теперь же давайте подготовим наш объект к перемещению. Для начала давайте добавим к нему компонент по нажатию кнопки Add Component в окне инспектора и выбрав по пути Physics 2D\ Rigidbody 2D. Оттуда же накинем Circle Collider 2D. Т.к. я делаю изометрическую 2D RPG, то дополнительно в настройках Rigidbody 2D параметр Gravity Scale задаем 0, чтобы мой персонаж не падал вниз.

Теперь уже в скрипте добавляем парочку переменных для передвижения нашего персонажа:

Начинаем потихоньку задумываться о передвижении.

Начинаем потихоньку задумываться о передвижении.

После давайте создадим метод FixedUpdate, отличающего от метода Update тем, что он срабатывает только тогда, когда надо обработать саму физику в игре, а не каждый кадр в отличии от Update. Также в той части кода, где мы реагировали на нажатия левой клавиши Shift добавим изменение коэффициента ускорения при беге:

Движение через метод Rigidbody2D.velocity.

Движение через метод Rigidbody2D.velocity.

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

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота