- Регистрация
- 24 Мар 2006
- Сообщения
- 9.832
- Благодарности
- 6.716
- Баллы
- 1.625
Использование indoor/outdoor решает следующие задачи:
Разумеется, нужно обладать базовым уровнем подготовки в 3ds max.
Рассмотрим общие правила построения уровней. Вообще, технология распространенная и используется во многих играх и движках.
На следующем рисунке условно показан вид сверху:
Здесь композиция уровня состоит из outdoor – открытой местности и двух indoor – комнат, связанных между собой. Деление пока что мысленное и произведено по ребрам (edge), которые находятся в данном случае в дверных проемах. Получилось, что геометрия indoor уровня room1 (красный) имеет смежные ребра с геометрией indoor уровня room2 (фиолетовый) и с outdoor (черный). Аналогично для геометрии indoor уровня room2. Любые другие пересечения между полигонами уровней отсутствуют.
На следующем рисунке зеленым показана геометрия порталов, которые “встроены” в эти смежные ребра уровней. Геометрия портала состоит из двухсторонних полигонов, которые блокируют любое проникновение из одного уровня в другой. В игре эти полигоны видимы только издалека, вблизи они прозрачны, и можно свободно проходить сквозь них. На рисунке стрелочками показано направление нормалей.
Если наблюдатель смотрит из outdoor в indoor room1, то обращенным на него полигонам портала присваивается имя материала P:_room1 Если смотрит наоборот из комнаты на улицу, то материал P:room1_
Общий вид имени материала: P:<откуда>_<куда>
Для outdoor опции <откуда> и <куда> не записываются.
Второй важной особенностью indoor уровня является геометрическое строение. Дело в том, что движок при расчете indoor-уровня двигается от смежных ребер к внутренним и тем самым определяет все внутренние полигоны. Теперь если представить, что геометрия внутреннего уровня состоит из произвольных непересекающихся по ребрам объектов – indoor-уровень просто не будет корректно вычислен.
Создание лесов с помощью порталов сложнее. Однако только так можно добиться по настоящему темных лесов и сэкономить ресурсы.
На следующем рисунке показан пример подобного леса, вид сбоку. Здесь ничего не противоречит изложенным правилам построения indoor/outdoor уровней.
Разумеется, нельзя забывать о размещении растительности как виртуальных объектов. См. Стратегия построения зен-файлов
И последнее. Портал на последнем рисунке изображен как прямоугольный колпак не случайно. Работать все будет и при произвольной геометрии портала, однако при определенных положениях камеры некоторые фрагменты мира могут пропадать. Поэтому геометрия порталов всегда должна быть максимально простой, а его полигоны лучше делать вертикальными (+горизонтальными в лесах).
Автор - WSA.
- правильный расчет темноты в недоступных для солнца объектах.
- экономия ресурсов. Outdoor уровень один, а вот indoor-уровней может быть много и загружаются они выборочно. Зависит от того, куда смотрит камера игрока.
- определение владельцев помещений, Wld_AssignRoomToGuild()
Разумеется, нужно обладать базовым уровнем подготовки в 3ds max.
Рассмотрим общие правила построения уровней. Вообще, технология распространенная и используется во многих играх и движках.
На следующем рисунке условно показан вид сверху:
Здесь композиция уровня состоит из outdoor – открытой местности и двух indoor – комнат, связанных между собой. Деление пока что мысленное и произведено по ребрам (edge), которые находятся в данном случае в дверных проемах. Получилось, что геометрия indoor уровня room1 (красный) имеет смежные ребра с геометрией indoor уровня room2 (фиолетовый) и с outdoor (черный). Аналогично для геометрии indoor уровня room2. Любые другие пересечения между полигонами уровней отсутствуют.
На следующем рисунке зеленым показана геометрия порталов, которые “встроены” в эти смежные ребра уровней. Геометрия портала состоит из двухсторонних полигонов, которые блокируют любое проникновение из одного уровня в другой. В игре эти полигоны видимы только издалека, вблизи они прозрачны, и можно свободно проходить сквозь них. На рисунке стрелочками показано направление нормалей.
Если наблюдатель смотрит из outdoor в indoor room1, то обращенным на него полигонам портала присваивается имя материала P:_room1 Если смотрит наоборот из комнаты на улицу, то материал P:room1_
Общий вид имени материала: P:<откуда>_<куда>
Для outdoor опции <откуда> и <куда> не записываются.
Второй важной особенностью indoor уровня является геометрическое строение. Дело в том, что движок при расчете indoor-уровня двигается от смежных ребер к внутренним и тем самым определяет все внутренние полигоны. Теперь если представить, что геометрия внутреннего уровня состоит из произвольных непересекающихся по ребрам объектов – indoor-уровень просто не будет корректно вычислен.
Создание лесов с помощью порталов сложнее. Однако только так можно добиться по настоящему темных лесов и сэкономить ресурсы.
На следующем рисунке показан пример подобного леса, вид сбоку. Здесь ничего не противоречит изложенным правилам построения indoor/outdoor уровней.
Разумеется, нельзя забывать о размещении растительности как виртуальных объектов. См. Стратегия построения зен-файлов
И последнее. Портал на последнем рисунке изображен как прямоугольный колпак не случайно. Работать все будет и при произвольной геометрии портала, однако при определенных положениях камеры некоторые фрагменты мира могут пропадать. Поэтому геометрия порталов всегда должна быть максимально простой, а его полигоны лучше делать вертикальными (+горизонтальными в лесах).
Автор - WSA.
Последнее редактирование: