• Уважаемые гости и новички, приветствуем Вас на нашем форуме
    Здесь вы можете найти ответы практически на все свои вопросы о серии игр «Готика» (в том числе различных модах на нее), «Ведьмак», «Ризен», «Древние свитки», «Эра дракона» и о многих других играх. Можете также узнать свежие новости о разработке новых проектов, восхититься творчеством наших форумчан, либо самим показать, что вы умеете. Ну и наконец, можете обсудить общие увлечения или просто весело пообщаться с посетителями «Таверны».

    Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
    Удачи!

Важно Технология indoor/outdoor.

Статус
В этой теме нельзя размещать новые ответы.

MEG@VOLT

★★★★★★★★★
ТехАдмин
Регистрация
24 Мар 2006
Сообщения
9.860
Благодарности
6.740
Баллы
1.625
Использование indoor/outdoor решает следующие задачи:
  1. правильный расчет темноты в недоступных для солнца объектах.
  2. экономия ресурсов. Outdoor уровень один, а вот indoor-уровней может быть много и загружаются они выборочно. Зависит от того, куда смотрит камера игрока.
  3. определение владельцев помещений, Wld_AssignRoomToGuild()

Разумеется, нужно обладать базовым уровнем подготовки в 3ds max.

Рассмотрим общие правила построения уровней. Вообще, технология распространенная и используется во многих играх и движках.
На следующем рисунке условно показан вид сверху:
1.png
Здесь композиция уровня состоит из outdoor – открытой местности и двух indoor – комнат, связанных между собой. Деление пока что мысленное и произведено по ребрам (edge), которые находятся в данном случае в дверных проемах. Получилось, что геометрия indoor уровня room1 (красный) имеет смежные ребра с геометрией indoor уровня room2 (фиолетовый) и с outdoor (черный). Аналогично для геометрии indoor уровня room2. Любые другие пересечения между полигонами уровней отсутствуют.
2.png
На следующем рисунке зеленым показана геометрия порталов, которые “встроены” в эти смежные ребра уровней. Геометрия портала состоит из двухсторонних полигонов, которые блокируют любое проникновение из одного уровня в другой. В игре эти полигоны видимы только издалека, вблизи они прозрачны, и можно свободно проходить сквозь них. На рисунке стрелочками показано направление нормалей.
Если наблюдатель смотрит из outdoor в indoor room1, то обращенным на него полигонам портала присваивается имя материала P:_room1 Если смотрит наоборот из комнаты на улицу, то материал P:room1_
Общий вид имени материала: P:<откуда>_<куда>
Для outdoor опции <откуда> и <куда> не записываются.

Второй важной особенностью indoor уровня является геометрическое строение. Дело в том, что движок при расчете indoor-уровня двигается от смежных ребер к внутренним и тем самым определяет все внутренние полигоны. Теперь если представить, что геометрия внутреннего уровня состоит из произвольных непересекающихся по ребрам объектов – indoor-уровень просто не будет корректно вычислен.

Создание лесов с помощью порталов сложнее. Однако только так можно добиться по настоящему темных лесов и сэкономить ресурсы.
3.png
На следующем рисунке показан пример подобного леса, вид сбоку. Здесь ничего не противоречит изложенным правилам построения indoor/outdoor уровней.
Разумеется, нельзя забывать о размещении растительности как виртуальных объектов. См. Стратегия построения зен-файлов

И последнее. Портал на последнем рисунке изображен как прямоугольный колпак не случайно. Работать все будет и при произвольной геометрии портала, однако при определенных положениях камеры некоторые фрагменты мира могут пропадать. Поэтому геометрия порталов всегда должна быть максимально простой, а его полигоны лучше делать вертикальными (+горизонтальными в лесах).

Автор - WSA.
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу