Перейти к контенту

Материалы объектов


CuJIbBEP

Рекомендуемые сообщения

Что же, рискну создать первую тему в данном разделе...

Надеюсь с ней не ошибся по характеру вопроса, если ошибся, то поправьте.

 

Задался следующим вопросом, какие шейдеры можно назначить статическому объекту, что бы он полноценно отображал градиент текстуры с альфа-каналом, но при этом имел бамп и текстуру деталей?

Примеры:

160477cddec46966be6826778f5bc591.jpeg

2500b56529f1a541f5ea617090a311ba.jpeg

 

dd0ef81421b25f3fbd560ba5f6cc2c94.jpeg

3aaa16d4696bb9ea2b1a8153b04203fe.jpeg

 

 

С def_aref_v объект имеет и детали и бамп, но совершенно отсутствует градиент альфа-канала.

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

Есть ли возможность обойти такое ограничение?

Целью задумки является улучшение визуальной составляющей локаций, плавных переходов "объект-террейн", "объект-объект", "террейн-террейн" без лишнего нагромождения полигонов.

Так-же экономятся RGB-каналы, которые можно использовать.

h-264.jpg

Ссылка на комментарий

@CuJIbBEP, есть ли разница между def_trans_v\def_trans и def_aref_v\def_aref соответственно?

 

Насколько мне известно, для шейдеров с полупрозрачностью (trans и подобные) используется отложенное освещение, при котором нет теней от объекта, а так же сам объект освещается кривовато.

У шейдеров aref наоборот есть тени и другие плюшки, но альфа обрезается по какому-то пределу и получаются "жесткие" края.

 

 

 

плавных переходов "объект-террейн"

Такой пример встречается на локациях в виде железной дороги. Там используется шейдер aref, а на террейне под ж\д для плавного перехода вроде как стоит такая же текстура.

Ссылка на комментарий

Такой пример встречается на локациях в виде железной дороги

Да, такое есть на Болотах ЧН, это и подтолкнуло на мысль, но у него нет градиента (как если бы сохранить текстуру в DXT-1 с альфа-каналом)...

Смотрел в SE настройки этих шейдеров, если у def_aref/_v выставить Alpha-blend,

 

db6570ffd30f29d2afd346a74b745b86.jpeg

 

то он принимает теже свойства что и def_trans, появляется градиент, но пропадает бамп с деталями... <_<

Если бы совместить эти свойства, то ненужно было бы ваять объекты в 4-5к полигонов, что бы получить правдоподобный рельеф локации...

Поковыряюсь в шейдерах от Макрона, он как-то вернул градиент текстур света от некоторых светильников и прожекторов...

h-264.jpg

Ссылка на комментарий

 

 

но у него нет градиента (как если бы сохранить текстуру в DXT-1 с альфа-каналом)

Конкретно в этом примере градиент и не нужен. Железная дорога "ставится" на текстуру, схожу с той текстурой, что идет по краю текстуры жд. Конечно, метод немного неудобный, универсальность использования теряется, но это вроде как единственный способ.

Убедитесь, что вы имеете право убедиться

Ссылка на комментарий

@lafugix, ну для железной дороги такой вариант вполне подойдёт.
Но если имитировать правдоподобный пологий склон, заканчивающийся еле заметной насыпью, то такой вариант не подходит.
Так как по задумке градиент альфа-канала должен отвечать за интенсивность насыпи или , так сказать, за плавность перехода этой насыпи к поверхности террейна...
Если бы def_aref мог отображать градиент вместе с бампами и деталами, то переход от модели к модели (смешивание) был бы идеален...

Как если бы для этого использовались RGB-каналы.

60c6c878041fb1ab5e50b1a5ac558cbe.jpeg


bba6047cd9027106786e5f7afc137a9d.jpeg


Наверно все согласятся, что результат на втором скрине более предпочтителен, с def_aref без градиента всё выглядит ужасно <_<
Так-что либо дать ему возможность отображать градиент в альфе, с учётом бампа и деталей, либо ваять тысячи полигонов:

08f7bbeaae294096e9ecddb6c51a2819.jpeg


Что негативно скажется на производительности... Вместо этого лучше добавить больше объектов декора в сцену.

Изменено пользователем CuJIbBEP

h-264.jpg

Ссылка на комментарий

@Scarabay, Да, именно такой бленд имею в виду, на xRay`е он тоже есть, но не держит бамп и детали...
Картинки должны грузиться, на работе медленный wi-fi, но скрины загружаются без проблем...

c8de550146.jpg

 

ff1b1d49c7.jpg

 

29a74508ce.jpg

 

Изменено пользователем CuJIbBEP

h-264.jpg

Ссылка на комментарий

@CuJIbBEP, хм, сейчас норм открылись. В общем, как вариант, можно нижний край с альфа-градиентом, в данном случае обрыва, отделить от сновной части, у которой оставить обычный шейдер с бампами\дитейлами. 

43713998f4.jpg

 

Ссылка на комментарий

@Scarabay, нет, не вариант...
Это место будет как обрезанное, на основной части будет бамп и детали, на нижней их не будет...
И это сразу кинется в глаза. Поковыряюсь в шейдерах, может что нахимичу.

h-264.jpg

Ссылка на комментарий

"Есть что-то стоящее?" (с)

Ссылка на комментарий

Темка все-таки названию не соответствует, в терминах сталкирского сдк. Материалы в нем - настройки коллизии объектов.

 

 

 

Задался следующим вопросом, какие шейдеры можно назначить статическому объекту, что бы он полноценно отображал градиент текстуры с альфа-каналом, но при этом имел бамп и текстуру деталей?

В общем, ответ прост - без квалифицированной правки шейдеров нет, нельзя. В сталкире ввиду применения Deffered Shading для реализации освещения и затенения нет полной поддержки полупрозрачной геометрии, или, как некоторые говорят, текстур с восьмибитной альфой. Такая геометрия рисуется в рамках forward-подхода (другими словами, как на Р1), освещается весьма приблизительно, и именно в этом причина странного вида стекол и воды при некоторой погоде. Нормальная поддержка есть только альфа-тест геометрии, т.е. той, у которй альфа "однобитная" - проще говоря, прозрачно-непрозрачно, "вкл/выкл". Яркий пример такой геометрии - дитейлы, трава. Бамп и детальные текстуры в сталкире реализуются простейшим образом, однако, только в DS-пайплайне. Чисто теоретически, это можно перенести и в forward-пайплайн - если знаете, как, конечно :)

  • Полезно 1
Ссылка на комментарий

@CuJIbBEP, есть ли разница между def_trans_v\def_trans и def_aref_v\def_aref соответственно?

 

Есть. Если заюзать например не def_aref, а def_aref_v (тоже самое и с def_trans/def_trans_v), то будет использоваться вертексное освещение, тем самым произойдет сокращение лайтмап.

 

P.S: Знаю что вопрос прошлогодний, но на него никто не ответил.

  • Спасибо 2

НАШ ХМЕЛЬ ПОЖРАЛ КОРОВ;

НАШ ХМЕЛЬ ПОЖРАЛ НАШИ ЯБЛОНЕВЫЕ САДЫ;

НАШ ХМЕЛЬ ПОЖРАЛ НАРОД;

НАШ ЛОРД, ТЫ НЕПЛОДОНОСЕН.

Ссылка на комментарий

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...