Страница 1 из 1

TrainUberShader.fx

СообщениеДобавлено: 08.10.2013, 21:47
sciff
Решил я короче опробовать шейдер, который появился ещё в 2013-м Трейн-симуляторе. Единственный, позволяющий задавать блеск (Specular) и отражение (Env) для материала ОТДЕЛЬНО, не как TrainBumpSpecEnvMask.fx, где для Spec и Env используется общая ч/б карта (8-бит).

Изображение

У материала три слота, три текстуры соответственно:
1 — диффуз без альфа-канала (24-бит).
2 — карта нормалей без альфа-канала (24-бит).
3 — 32-битная дополнительная текстура, в каналах которой хранится следующее:
красный — мягкие тени, т.е. Ambient Occlusion
зелёный — эффект подобный тому, что даёт шейдер TrainEmissiveGlow.fx
синий — карта псевдоотражения Env (не путать с картой собственно отражения, которую движок использует свою встроенную)
альфа-канал — карта блеска (спекуляра)

Зачем мне это было нужно?

Дело в том, что я хочу, чтобы голубая область кузова ДР1А КТ немного отражала окружение, при этом практически не отдавая блеск, а серая часть (выкрашенная в серый «металлик» на самом деле) сильно блестела на солнце. Т.е. чтобы взаимодействие с источниками света у вагона было максимально близкО к реальности. Карта нормалей при этом позволит задать неровности металла кузова и выпуклости типа гофр.

Но вот что у меня вышло:

Изображение
http://fotki.yandex.ru/users/sciffyan/view/775503/

Изображение
http://fotki.yandex.ru/users/sciffyan/view/775485/

<tomato>

Единственный параметр, который я изменил для обоих материалов, крыши/дверей и кузова, это степень блеска Specular Power. Выставил максимальное значение 1,0. Остальное оставил нетронутым. Вот как выглядят настройки материалов крыши (+ дверей) и кузова:

Изображение Изображение

Оба материала входят в общий мультиматериал, состоящий из 6 материалов.
1 — декали (надписи на кузове) — TrainDecals.fx — пашет безупречно, это видно на скрине.
2 — крыша дополнительная — TrainUberShader.fx — проблема №1
3 — кузов — TrainUberShader.fx — проблема №2
4 — текстура деталей моторного вагона — TrainBasicObjectDiffuse.fx — нет проблем
5 — торцы — TrainBasicObjectDiffuse.fx — никаких проблем
6 — тележка ТВЗ — TrainBasicObjectDiffuse.fx — проблемы отсутствуют

При этом должен отметить, что я многократно всё перепроверял и в третьей текстуре обоих материалов я ничего не пропустил/не перепутал. В канал красного бросил карту теней на белом фоне (для крыши, для кузова карту оставил белой, т.к. тени ещё не запекал). Канал зелёного оставил чёрным, т.к. не хочу чтобы что-либо на кузове светилось эффектом EmissiveGlow. В канал синего закинул сфотошопленную карту отражения (его интенсивности), где яркие области соответствуют сильному отражению, тёмные — слабому (но для крыши сделал лишь мазок кистью в области дверей, т.к. пока на стадии экспериментов с картами, и они ведутся над кузовом, а не над крышей). В альфа-канал забросил карту спекуляра, где также светлые области соответствуют сильному блеску, а тёмные слабому (в случае крыши только для дверей, всё остальное чёрное, без блеска).

Изображение Изображение

Что делать? Как избавиться от этих глюков?? Бывает-то наоборот, светится кузов, а крыша просто ярко освещена солнцем (что не мудрено, учитывая установки в сценарии).

Сообщение закреплено модератором

Re: Уголок Разработчика

СообщениеДобавлено: 09.10.2013, 20:13
Tuborg
Насколько я понимаю, РВ не поддерживает мультиматериалы. Может в этом проблема? Поэтому советую каждый отдельный в максе объект делать только под один материал

Re: Уголок Разработчика

СообщениеДобавлено: 09.10.2013, 20:16
BooYa
Tuborg, да с каких это пор то)

Re: Уголок Разработчика

СообщениеДобавлено: 09.10.2013, 22:49
Skif
Отлично они поддерживаются - их даже древнючий МСТС поддерживал, никаких с ними проблем.

Re: TrainUberShader.fx

СообщениеДобавлено: 10.10.2013, 00:02
sciff
Кому интересно, опубликовал такую же тему на британском форуме. Вот бы кто из профессионалов с RSC откликнулся. А они на форуме есть...

Re: TrainUberShader.fx

СообщениеДобавлено: 10.10.2013, 09:37
sharsh
Французы сделали новый лок. Там очень неплохо вышел кузов. Рекомендую ознакомится.

Re: TrainUberShader.fx

СообщениеДобавлено: 10.10.2013, 10:42
Romazan67
И где ознакомиться ?

Re: TrainUberShader.fx

СообщениеДобавлено: 10.10.2013, 11:00
sciff
sharsh, что за лок, где скачать, как всковырнуть его так, чтобы узнать настройки материалов с использованием этого шейдера?

Re: TrainUberShader.fx

СообщениеДобавлено: 12.10.2013, 16:42
sharsh
форум railsim-fr.com. Лок ВВ15000. Но - это голое дополнение. Одним словом, нужно связываться со многими парнями напрямую на их форумах.

 ! Grammar Nazi писал(а):
herrlich

Re: TrainUberShader.fx

СообщениеДобавлено: 02.11.2013, 00:09
sciff
Короче проблему решил принудительный экспорт ( Ctrl + Alt + F7 ) в Blueprint Editor'e. Раньше я делал обычный экспорт по F7, соответственно в РВ экспортировались только изменённые мною файлы. При Ctrl + Alt + F7 экспортируется всё и без «глюков», ничего не светится. Раз 6 уже воспользовался этим способом и он ни разу меня не подвёл.

Так что кто собирается использовать TrainUberShader.fx в своих разработках, делайте это смело, имея вышесказанное в виду. Отличный шейдер, если что неясно, подскажу да помогу. В настройках его, кстати, нет ничего особенного, аргументы УВ и значение спекуляра можно использовать те же, что и для шейдера TrainBumpSpecEnvMask.fx

Re: TrainUberShader.fx

СообщениеДобавлено: 02.11.2013, 10:58
Tuborg
Не знаю пока, когда мне это пригодится, но каждая такая новость повергает меня в радость. Поэтому и благодарю:-)

Re: TrainUberShader.fx

СообщениеДобавлено: 02.11.2013, 13:18
Skif
Ян, покажи результат то )) . Настроек шейдера в смысле, после удачного конверта.

Re: TrainUberShader.fx

СообщениеДобавлено: 02.11.2013, 20:33
sciff
Изображение

Добавлено спустя 31 минуту 55 секунд:
Красным отмечены обязательные настройки. Зелёным рекомендованные, они на работоспособность шейдера не влияют.
Размер солнечного блика ( UV аргумент №1 ) настраивается по вкусу, так же как интенсивность блеска ( Specular Power ). Collision Type: METAL я подсмотрел у британского тепловоза Class 50. На что влияет, не знаю.

Не надо пугаться бампа. Если не умеете его создавать, засуньте в слот обычную однородную текстуру цвета #7F7FFF ( R: 127 G: 127 B: 255 ), размером, скажем, 128*128. С ней всё будет работать. Можно использовать общую для всех материалов с бампом. А создать полноценный индивидуальный бамп можно потом.

Название текстуры бампо обязательно должно иметь суффикс _nm в конце. Например 03_kuzov_nm.ace. Тогда при экспорте текстуры в РВ она не будет сжиматься. Для бампа это абсолютно неприемлемо.

Ну а 3-я текстура выглядит следующим образом:

Изображение

Как видите, канал зелёного чёрный, чтобы ничего не светилось.

Re: TrainUberShader.fx

СообщениеДобавлено: 18.06.2018, 13:57
Skif
Теперь я могу кое-что дополнить здесь!

Collision Type: METAL я подсмотрел у британского тепловоза Class 50. На что влияет, не знаю.


- Должно было влиять на процесс рендеринга (Metallness-Roughness либо классический Spectacular), но на практике у всех шейдеров (включая те, у которых это поле в Максе скрыто) стоит в METAL.

- Не знаю, как ты ухитрился поставить Specular Power в 8,0, если диапазон 0,0...1,0 , а в бинарнике он конвертируется в 0...100. Возможно, у этого шейдера диапазон шире. Я обязательно с ним поэкспериментирую - интересно же ж!

- Отлично, что карта АО добавляется в отдельный канал. Это значит, что она аддитивная и под прямым освещением тени будут скрываться, как в реальной жизни. Т.е. освещенные участки кузова не будут иметь мягких теней. Подобный эффект есть в более дешевых шейдерах для окружения, Дерек писал про них в блоге.

- Светимость может понадобиться очень-очень редко. Единственное, для чего я вижу в ней смысл - освещение салона вагона или кабины локомотива, чтобы не ставить источник света. Так как источник без теней просветит насквозь кабину, а с включенными тенями будет сильно тормозить. Самосветящийся интерьер - отличный компромисс физической лампочке, но они все равно в случае кабины крепятся к ВНЕШНЕЙ модели и светят всегда. А вот в случае пассажирского вагона - решают все проблемы! Так что в этот канал можно добавить детали кабины или салона, где ночью должен гореть свет, не управляемый скриптом (либо подменять нужную геометрию скриптом при включенном освещении и по времени суток).


Название текстуры бампо обязательно должно иметь суффикс _nm в конце. Например 03_kuzov_nm.ace.


- а что дает суффикс _nmc ?
- а если используются не АСЕ, а PSD текстуры, а ACE лежат отдельно и их использует только Blueprint Editor? На каком из этапов нужно запретить компрессию?

Re: TrainUberShader.fx

СообщениеДобавлено: 18.06.2018, 14:53
i2GR
Skif писал(а):Некропостер детектед.