HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > Архив проектов > Уроки VolatileRadiant > Урок 8. Ареапорталы
Важнейший приём оптимизации уровня, где есть двери
  Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34510
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Урок 8. Ареапорталы

Урок 8. Ареапорталы

На этом уроке мы поговорим об ареапорталах (area portals). Это название буквально означает «дверь между зонами». А дверь можно закрывать и открывать. Ареапорталы как раз и служат для того, чтобы вовремя закрывать двери между различными зонами, отсекая, таким образом, целые фрагменты уровня и позволяя экономить на fps.
Ареапортал может находиться в двух состояниях – открытом и закрытом. В открытом состоянии он соединяет зоны, в закрытом – разъединяет. Например, если между зонами А и Б находится закрытый ареапортал, то когда игрок находится в зоне А, зона Б рисоваться не будет, и наоборот. Но если ареапортал откроется, то обе зоны станут видны.
Сами по себе ареапорталы бесполезны, их предназначение – использование в сочетании с другими акторами, например, Door или RotatingDoor (мы рассмотрели их на предыдущих уроках). Если с дверью связан ареапортал, то движок автоматически будет открывать его при открытии двери и закрывать – при закрытии. Таким образом, мы сможем отсекать видимость объектов, которые находятся за закрытой дверью, и посредством этого оптимизировать уровень.
Звучит сложно? На самом деле практически всё это делается автоматически. Всё, что вам нужно как левел-дизайнеру – разместить areaportal-браш, т.е. специальный браш, покрытый текстурой common/areaportal. В общем случае он должен совпадать с геометрией двери. Всё остальное сделает движок.
Откройте вторую карту шестого урока (lesson6a.map). На ней есть вращающаяся дверь. Если мы запустим эту карту в игре и наберём в консоли команду r_showtris 1, которая показывает полигоны, рисуемые движком в данный момент, то увидим, что вторая комната рисуется даже тогда, когда дверь закрыта (см. рис.). Попробуем оптимизировать этот уровень с помощью ареапортала.



Выберите пункт меню Textures > Show All (Ctrl+A), чтобы показать все шейдерные текстуры, и выберите текстуру areaportal. Создайте браш, строго совпадающий по размерам с дверью.



Это и есть ареапортал, превращать его в актор не нужно – всю дальнейшую работу возьмут на себя компилятор с движком. Обратите внимание – если дверь не закрывает полностью проём или содержит окошко, то использовать ареапортал нельзя, т.к. это приведёт к визуальным артефактам.
Компилируйте карту, запускайте игру и набирайте команду r_showtris 1. Теперь при закрытой двери вторая комната не рисуется движком. Но стоит открыть дверь – и она появляется.





Вот таким простым способом можно оптимизировать довольно сложные карты – лишь бы на них были закрывающиеся непрозрачные двери. Причём количество дверей и способ их открытия значения не имеет. Можете самостоятельно попробовать установить ареапортал на карте седьмого урока (двойная автоматически открывающаяся дверь) – вы убедитесь, что всё будет работать и там.

Скачать исходник карты (map-файл) этого урока

__________________

Сообщить модератору | | IP: Записан
Сообщение: 70501

Старое сообщение 21-01-2011 10:54
-
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 15:21. Новая тема    Ответить
  Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > Архив проектов > Уроки VolatileRadiant > Урок 8. Ареапорталы
Важнейший приём оптимизации уровня, где есть двери
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

На основе vBulletin
Авторское право © 2000 - 2002, Jelsoft Enterprises Limited.
Дизайн и программирование: Crystice Softworks © 2005 - 2024