Интересный приём Valve из Half-Life 2 при работе с Source Engine

Сначала строится квадратный уровень, а затем сгибают, придавая форму, чтобы он казался более органичным.

Если заинтересовались, то гугли в сторону «displacement surfaces».

https://twitter.com/JasperRLZ/status/1412586569840488452
130130
29 комментариев

Комментарий недоступен

31

Ви таки разработчик игр? А я вас уважал...

9

В модделлинге я нуб, поэтому зашел написать про клевую музычку.

11

Комментарий недоступен

10

Ну как работавший с дисплейсментом в хаммере (создатель игровых локаций хл2/других игр на сурс) могу заявить что вещь удобная для создания ландшафта, но порой такая, сука, глючная. Если ты, например, захочешь сделать пещеру, то до этого должен быть браш в виде стены с текстурой nodraw с одной стороны которой ты клеишь текстуру горной породы, затем ты применяешь дисплейсмент на текстурированную часть этой самой стены и nodraw'ы пропадают т.к. всё что не подвергается дисплейсменту объекта удаляется. Порой, кстати, в игре могут не совпадать тексуры, те что ты выбирал в поиске и те что наклеились, тут тоже дсплейсмент, ведь у него ещё есть функция двойных текстур, прямо как на той горе, где она сначала каменная, затем обрастает травой. Я не ебу зачем вам это всё объясняю, если есть 3kliksphilip

11

Я вынужден вас поправить, тут вы вводите людей в заблуждение. Дисплейсменты в source - вещь совсем не глючная, если грамотно ей пользоваться и знать некоторые особенности хаммера и движка.
Мне не верится, что вы долго работали с дисплейсментами и пещерами, ибо nodraw`ами покрывать ненужные стороны браша для образования дисплейсмента совсем не обязательно и нужно. Все прекрасно работает с любыми текстурами, потому что для образования дисплейсмента вы берете и выделяете конкретные плоскости необходимых брашей в хаммере, превращаете их в диспы, а остальное будет скрыто в любом случае.
Если вы выделите nodraw`ы и превратите их в дисп, вы получите в итоге эти же диспы, ведь хаммер их автоматически не удаляет. Ну и текстура nodraw не предназначена для диспов, в противном случае будет видна при ее использовании в движке. Она используется только на брашевой геометрии для оптимизации, а дисплейсменты - это браш превращенный в сетку из треугольников, т.е. уже не браш.
Увы, но на диспах использовать ее можно не более чем для удобства (как и любую другую текстуру с отличным оттенком), чтобы визуально отделить то, что вам не нужно. Вы наверное или не знали об этом, или забыли об этих особенностях.
Несовпадения же происходят из-за того, что при использовании на браше материала с шейдером "WorldVertexTransition", в хаммере будет отображаться $basetexture2 из vmt, а движок будет использовать первую $basetexture. Про поиск текстур могу сказать, что картинка в хаммере зависит от того, прописали ли в vmt конкретного материала так называемый %tooltexture - картинку с блендом двух текстур для редактора. Если ее нет, то ее нужно создавать вручную и прописывать в материале, служит она исключительно для удобства мапперов при поиске текстур. Ну и когда ее нет, вы можете по ошибке принять WorldVertexTransition за обычный LightmappedGeneric и жаловаться на "не совпадающие текстуры", это вина хаммера, а не дисплейсментов.

4

Вспомнил его видос сразу, как увидел слово "дисплейсмент"

3