![]() |
Создать зону видимости в игре
Здравствуйте!
Начну с изложения мыслей - так понятнее будет... Есть человечек - у него должна быть определенная зона видимости, то есть за спиной все затемненное, и через углы он не смотрит. Вот как вижу это я: нарисовать зону видимости, создать маску, но возникают две проблемы! - зона видимости однообразная; - и через углы он все-таки смотрит... Подскажите, как бы это исправить...или другой менее затратный способ доступным языком=) без особой терминологии... Заранее спасибо! |
Вид сверху?
|
Цитата:
|
Вложений: 1
без "терминологии" никак. самый простой способ:
определить все препятствия на карте геометрически (как многоугольники) разбить пространство вне препятствий на треугольники (триангуляция Делоне) треугольники с общей стороной соединить ссылками друг на друга написать простейший рейкастер через треугольники нечто подобное когда то написал, приложу к сообщению. га***код не прилагается.) но если интересно - могу поискать и поделиться. |
если игра с физикой, то рэйкастингом определяем зоны и затемняем шейдером...
|
1. Маска, для которой устанавливается еще одна маска - то, что персонаж может увидеть(проще говоря - либо специальная карта видимости, либо просто все то, что не является препятствием, при этом подразумевается что в местах наличия препятствий графика маски видимости не заполнена, для корректного наложения маски).
2. Или же рисовать препятствия поверх спрайта зоны вивдимости. Но это чисто визуализация, на уровне программирования игрового ИИ тебе все равно придется столкнуться с алгоритмами, подобными тому, что описывает nuToH. |
Цитата:
Добавлено через 4 минуты Цитата:
|
Вот в помощь насчет пересечений и математики:
http://tonypa.pri.ee/vectors/ |
| Часовой пояс GMT +4, время: 01:51. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.