tonline_kms65_1
Участник
- Сообщения
- 565
- Реакции
- 225
Всем здравствуйте.
Мне нужна помощь в движении персонажа по карте. Проблема заключается в следующем:
Персонаж у меня двигается по карте, по точкам навигации(waypoints).
Сначала, отдельной функцией, получаю ближайшую к персонажу точку со всеми её данными (номер(типа id), позиция, углы, радиус видимости, назначение(двери, лестница и т.д.), следущая видимая точка и т.д.), все эти данные записанны у меня в отдельный текстовый файл(получаю их в массив при загрузке карты).
Персонаж двигается к этой точке, при дистанции менее определенного кваром значения эта точка игнорируется, переключается на поиск следующей (если не указанна другая в tex. файле).
Все работает нормально, но если у точки указан вейпоинт к которому нужно двигаться то, естественно, на ней происходит разворот и движение в сторону указанного в ней следующего вейпоинта.
То-есть ехал-ехал прямо, на таком вейпоинте происходит разворот в обратную сторону и движение к след. вейпоинту, указанному в файле.
В общем вопрос такой, как можно заблокировать видимость такого вейпоинта если он уже пройден.
У меня получается так - такие вейпоинты на лестницах(с нижнего указан верхний), поднимается по лестнице, проезжает какое-то растояние, возвращается назад, спускается вниз по лестнице, а там этот вейпоинт, естественно разворот и подъём по лестнице, по новой. Так может до бесконечности.
Я пробовал и флаг делать, активный - не активный, и точке id персонажа назначать(в принципе тот-же флаг). Не могу сообразить как сделать, как "отключить" такой вейпоинт.
Нужно "отключить" нижний вейпоинт при движении вниз, т.е. к нему. При движении вверх, все должно работать как обычно.
Позднее сделаю видео, для наглядности.
Мне нужна помощь в движении персонажа по карте. Проблема заключается в следующем:
Персонаж у меня двигается по карте, по точкам навигации(waypoints).
Сначала, отдельной функцией, получаю ближайшую к персонажу точку со всеми её данными (номер(типа id), позиция, углы, радиус видимости, назначение(двери, лестница и т.д.), следущая видимая точка и т.д.), все эти данные записанны у меня в отдельный текстовый файл(получаю их в массив при загрузке карты).
Персонаж двигается к этой точке, при дистанции менее определенного кваром значения эта точка игнорируется, переключается на поиск следующей (если не указанна другая в tex. файле).
Все работает нормально, но если у точки указан вейпоинт к которому нужно двигаться то, естественно, на ней происходит разворот и движение в сторону указанного в ней следующего вейпоинта.
То-есть ехал-ехал прямо, на таком вейпоинте происходит разворот в обратную сторону и движение к след. вейпоинту, указанному в файле.
В общем вопрос такой, как можно заблокировать видимость такого вейпоинта если он уже пройден.
У меня получается так - такие вейпоинты на лестницах(с нижнего указан верхний), поднимается по лестнице, проезжает какое-то растояние, возвращается назад, спускается вниз по лестнице, а там этот вейпоинт, естественно разворот и подъём по лестнице, по новой. Так может до бесконечности.
Я пробовал и флаг делать, активный - не активный, и точке id персонажа назначать(в принципе тот-же флаг). Не могу сообразить как сделать, как "отключить" такой вейпоинт.
Нужно "отключить" нижний вейпоинт при движении вниз, т.е. к нему. При движении вверх, все должно работать как обычно.
Позднее сделаю видео, для наглядности.
Последнее редактирование: