0 / 0 / 2
Регистрация: 10.07.2016
Сообщений: 12
1

Система передвижения Diablo style

10.07.2016, 14:46. Показов 1667. Ответов 2

Здравствуйте.
Создаю игру в жанре action RPG hack&slash как Diablo и столкнулся с такой проблемой создания скрипта передвижения. С NavMesh и NavMeshAgent вроде разобрался, но NavMeshAgent передвигается не так как мне нужно, а именно, с использованием физики. Мне нужно чтобы персонаж начиная передвигаться мгновенно набирая нужную скорость и соблюдая ее, и добираясь до конца маршрута мгновенно останавливался, а также мгновенно поворачиваясь в нужном направлении. И как я понял, эту инерцию у NavMeshAgent'а не убрать.

Поэтому, я написал скрипт, в котором передвигаю персонажа вручную по точкам, сгенерированным через NavMesh.CalculatePath() и все было бы замечательно, если бы он следовал рельефу поверхности.
Так как, если на пути к выбранной точке нет препятствий NavMesh.CalculatePath() генерирует только две точки (Vector3 NavMeshPath.corners[]), даже если межу ними есть изменения рельефа, а это приводит к тому что персонаж передвигается по воздуху или сквозь холмы.

Вопрос: как можно реализовать следование рельефу. Самому в голову не приходит ничего, кроме кучи рейкастов для создания доп точек маршрута. Заранее спасибо)
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.07.2016, 14:46
Ответы с готовыми решениями:

canvas.не меняется brush.style & pen.style
На форме лежит имэдж нужно часть его обвести (это в идеале). Я это решил реализовать так поместить...

Как удалить стиль определенный между <style></style>
Привет. Есть тестовый пример : #foo{color:green;} &lt;div id=&quot;foo&quot;...

НЕ работает в IE <style type="text/css">body{position: relative; top: -235px;}</style>
не работает в Internet Explorere как быть? Chrome &amp; Mazzila , FireFox, Safari - ок вот тут...

Скриншоты Diablo 3
Собственно вот :)

2
102 / 103 / 54
Регистрация: 23.03.2016
Сообщений: 462
10.07.2016, 15:28 2
Лучший ответ Сообщение было отмечено phoenix-sof как решение

Решение

phoenix-sof, очень просто было бы решить вопрос рейкастом под персонажа и задавать ему позицию по оси Y в зависимости от высоты поверхности
2
0 / 0 / 2
Регистрация: 10.07.2016
Сообщений: 12
14.07.2016, 10:32  [ТС] 3
Quat1111, а я пытался делать рейкаст на метр перед персонажем и задавать ему вектор. Почему сам не догадался? Спасибо)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.07.2016, 10:32

Видеокарта для Diablo 3
Здравствуйте. Подскажите пожалуйста какую видео карту можно приобрести для игры на минимальных...

Wine и Diablo 3 RoS
Всем привет. Пытаюсь запустить Diablo 3 RoS в Ubuntu, с помощью Wine и Playonlinux. Battle.net...

SS siberia v2 diablo edition
Собственно есть сс сибирия в2 диабло едишн, после сборки нового пека, установки дров на аудиокарту,...

Создание предметов в Diablo 3
Компания Blizzard Entertainment выложила в Сеть свежий видеоролик RPG Diablo 3. В нём авторы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.