IPB

Здравствуйте, гость ( Авторизация | Регистрация )

 
Загрузка...

Хочешь почту ИМЯ @ l4dmaps.ru? Регистрируйся! Уже есть? Тогда заходи!

 
Ответить в данную темуНачать новую тему
> Areaportal, Оптимизация карты с помощью Areaportal
Рейтинг 5 V
h2o
сообщение 7.1.2010, 14:27
Сообщение #1


Мап криейторЪ
***

Группа: Главные администраторы
Сообщений: 856
Регистрация: 8.1.2009
Из: KaZanTip
Пользователь №: 2
Награды: Нет
Спасибо сказали: 220 раз(а)


Введение

Когда мы закрываем непрозрачную дверь, мы не видим что находится по ту сторону, а движок видит. И мало того, тратит на это свои ресурсы. Убедиться в этом можно набрав в консоли mat_wireframe 1.
Когда мы издалека видим только окно в комнату, движок прорисовывает всю комнату.
Конечно это не справедливо. Но у нас есть средство борьбы с несправедливостью - Areaportal.
Включенный ареапортал жестоко отрезает от взора движка (ну и конечно от нашего взора) все что находится по другую его сторону. Для этого он должен перегораживать собой весь проем. И чтобы никаких там func_detail или func_brush. Они не остановят движок. Если в проеме встречаются не только браши, а еще и энтити, то ареапортал надо продлить до настоящих брашей. Проще понять на примере.
Часть первая - Исключаем прорисовку карты за закрытой дверью

Создадим пару небольших комнаток с дверью между ними. Двери даем какое-нибудь имя, оно нам пригодится. Если вы читаете такой муторный тутор, то это вы уже уметь должны. В противном случае бросайте читать .
Я сразу усложнил себе задачу сделав раму двери func_detail.
За дверью накидаю ящиков чтобы было на что смотреть сквозь двери. Получилось примерно так:
]]> ]]>
Потом закрываем это добро потолком, компилируем, запускаем, пишем в консоли mat_wireframe 1 и наслаждаемся контурами ящиков сквозь закрытую дверь.
]]> ]]>
Полное безобразие.
По размеру дверного проема создаем новый браш (это удобно делать в виде сверху, предварительно выделив дверь и раму), покрываем его текстурой tools/toolsareaportal, и тут же конвертим его (Ctrl+T) в func_areaportal.
Заходим в его свойства, и делаем две вещи: Initial state - ставим Closed (чтобы он был включен вместе с закрытой дверью), и указываем в Name of Linked door - нашу дверь. Не зря же мы ей имя дали.
Очень аккуратно помещаем его внутрь созданной ранее двери так, чтобы его не было видно, и так чтобы он прилегал вплотную к стенам. Вот кое-как сделал скрин, надеюсь понятно что я это в упор смотрю сквозь дверь чтобы увидеть наш ареапортал. А вообще его не должно быть видно ни с какой стороны!
Ну вот... А что вот? Компилируем, и наслаждаемся чудом!
]]> ]]>
Чудо - чудом, но возле дверей бывают окна. И одно паршивое окошечко, сведет на нет все наши труды по оптимизации.
Часть вторая - Борьба с окнами
Сделаем рядом с дверью окно. Непременным условием такового, является прозрачность. Примерно так.
]]> ]]>
Как я и предупреждал, все труды пошли на смарку. Мы опять за закрытой дверью видим и ящики и стены, причем как бы мы далеко не отошли. Но зато мы знаем что дверь в этом не виновата! А значит беремся за окно.
Твердой рукой внутри поганого стекла создаем браш покрытый текстурой ареапортала но конвертим его уже в другую брашевую энтитю - func_areaportalwindow. И работать она будет по другому. На определенном расстоянии она избавит стекло от прозрачности. Повторяю, ареапортал должен быть совсем внутри, его края не должны не то что выступать из стекла, но даже и быть наравне. Как и в случае с дверью. Иначе ждут самые странные глюки.
Рекомендую сделать его самым тоненьким, и в самом центре.
Сделаем еще один браш для наших нужд. Он будет плавно прекрывать прозрачность оконного проема в зависимости от приказа func_areaportalwindow. Этот браш может быть чем угодно, лишь бы у него было имя, и правильная текстура. Для проемов в которые можно пролезть делают func_illusonary, но у нас окно небьющееся, и поэтому сделаем func_brush. Сразу обзовем его понятным именем, и покрасим в текстуру dev/dev_windowportal. В принципе подходят разные текстуры. Но эта как нельзя лучше отражает окружающее пространство.
В свойствах func_areaportalwindow сделаем не много, но со вкусом.
В поле Rendered Window укажем наш свежесозданный браш с хитрой текстурой (для этого ему имя и было дано), Fade start distance я сделал 64, Fade end distance - 128. Последние два параметра, чтобы далеко от окна не бегать. Комнатка у меня маленькая и ножки устали. Они, как можно догадаться, отвечают за расстояния начала и конца превращения прозрачного стекла в непрозрачное. Можно ввести свои значения, какие вам нужны.

Аккуратно водружаем слоеный пирог в оконный проем:
В самом центре и самый тонкий - func_areaportalwindow, Его окружает с обоих сторон func_brush с текстурой dev/dev_windowportal, и самый большой браш - это обычный браш с текстурой стекла.
По такой схеме получилось красивей всего.
Как это выглядело в Хаммере:
]]> ]]>
Но что же нас ждет теперь в игре?
В упор мы видим сквозь стекло ящики, и понятное дело они отрисовываются движком.
]]> ]]>
Но стоит отойти на указанное в настройках func_areaportalwindow расстояние, как стекло "тухнет", но и это еще не все, объекты за окном больше не прорисовываются движком! Ура, товарищи!
]]> ]]>

Автор: haos9cr4
h2o

]]> ]]>

Прикрепленные файлы
Прикрепленный файл  Tutor_Areaportal_l4d.rar ( 2,81 килобайт ) Кол-во скачиваний: 26
 


Спасибо сказали:
Перейти в начало страницы
 
+Цитировать сообщение
сообщение 7.1.2010, 14:27
Сообщение #


Рекламный агент


Группа: Bot
Регистрация: Сегодня, 10:52


Перейти в начало страницы
 
Цитировать сообщение
ZakharV
сообщение 7.1.2010, 16:01
Сообщение #2


Активный участник
***

Группа: Пользователи
Сообщений: 129
Регистрация: 29.6.2009
Пользователь №: 383
Награды: Нет
Спасибо сказали: 21 раз(а)


Оч хорошо! Кое что нового узнал 27.gif
Перейти в начало страницы
 
+Цитировать сообщение
redgas
сообщение 3.11.2010, 12:00
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 6
Регистрация: 3.11.2010
Пользователь №: 1309
Награды: Нет
Спасибо сказали: 0 раз(а)


У меня постоянно выдаёт дырку в аеропортале, делаю все как у тебя написано, и ещё вопрос чем должны быть стены?
Перейти в начало страницы
 
+Цитировать сообщение
NightWolf
сообщение 3.11.2010, 13:41
Сообщение #4


Активный участник
***

Группа: Модератор раздела
Сообщений: 386
Регистрация: 9.2.2009
Из: Тюмень
Пользователь №: 61
Награды: Нет
Спасибо сказали: 66 раз(а)


Цитата(redgas @ 3.11.2010, 12:00) *
У меня постоянно выдаёт дырку в аеропортале, делаю все как у тебя написано, и ещё вопрос чем должны быть стены?

Area portal должен доходить до обычных брашей!!! Func_brush, detail и другие делают утечку поэтому лучше убери из списка отображаемого brush_entities и func_detail, а дальше допиливай портал до обычных брашей).
Перейти в начало страницы
 
+Цитировать сообщение
aNOOBis
сообщение 12.3.2011, 18:26
Сообщение #5


Активный участник
***

Группа: Пользователи
Сообщений: 97
Регистрация: 22.2.2011
Из: Россия>Пензенская обл.>г. Белинский
Пользователь №: 1481
Награды: Нет
Спасибо сказали: 19 раз(а)


А DOORа должна быть обязательно брашем или может быть пропом?
Перейти в начало страницы
 
+Цитировать сообщение
aNOOBis
сообщение 14.3.2011, 8:45
Сообщение #6


Активный участник
***

Группа: Пользователи
Сообщений: 97
Регистрация: 22.2.2011
Из: Россия>Пензенская обл.>г. Белинский
Пользователь №: 1481
Награды: Нет
Спасибо сказали: 19 раз(а)


И можно функ_ареапорталвиндов сделать не в стекле, а, например, в проеме коридора какого-нибудь, ну который игрок не может видеть изначально.
Перейти в начало страницы
 
+Цитировать сообщение
fake100
сообщение 14.3.2011, 14:34
Сообщение #7


Активный участник
***

Группа: Пользователи
Сообщений: 298
Регистрация: 25.1.2009
Из: Питер
Пользователь №: 33
Награды: Нет
Спасибо сказали: 81 раз(а)


Дверь может быть любой. Функ_ареапорталвиндов можно вставлять в любой проем.


Спасибо сказали:
Перейти в начало страницы
 
+Цитировать сообщение

Ответить в данную темуНачать новую тему

1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
 

Самые полезные сайты и друзья нашего форума, на котором Вы сможете найти карты для left 4 dead:
Текстовая версия Сейчас: 25.11.2017, 10:52

Карты для l4d, Left 4 Dead карты, кампании, Карты для left 4 dead. Создание карт для уникальной многопользовательской игры Left 4 Dead 2 это наилучший способ заявить о себе как о маппере. Игра l4d получила выбор года 2008-2009. Скачать новые карты и новые кампании (компании), а также дополнения к игре Вы сможете на нашем сайте о Создании карт для Left4Dead . Дополнительные карты left4dead - неотъемлемая часть нашего портала. left4dead карты составляют 90 процентов наполненности нашей кладовки. left 4 dead 2 карты лучший источник для того чтобы скачать карты для left4dead. Также на форуме находится редактор карт, с помощью которого Вы сможете создать дополнения карт left 4 dead. Так смотрите форум о alien swarm карты и многое другое из мира игр на нашем форуме