Кому интересно - зацените. Заодно водичку сделал прозрачной. По скринам не судите. Отражабельность хорошо заметна в движении. Работает только под dx8. У dx9-рендера с отражениями большие проблемы. Наверное, из-за этого в финалке и кафель такой убогий - для совместимости с r2.
Установка: разархивировать в папку с игрой. В опциях выставить статическое освещение. Начать сетевую игру на карте "бассейн" или просто запустить прилагаемым батником.
Ух ты! Супер! С Этим модом + еще несколько мы получаем тот Сталкер, которого все ждали! Огромный респект!
Zer0
11.06.2008, 00:05
Только pool или в сингле тоже?
Da Man
11.06.2008, 00:22
Жаль, но на сколько я понял по файлам, только для Басейна... Ждем-с для сингла...
HaroN
11.06.2008, 22:18
Здорово! Только HDR-карту надо другую поставить... Используется шейдер отражения, который юзает текстуру ...sky\sky_heli.dds. Шейдеры называются def_refl_alpha и def_refl_alpha_heli. Их можно править в Shader Editor SDK. Теоретически можно сделать свой набор шейдеров для каждой карты, а потом "прикрутить" их твоим способом. Только вот явно не всё так просто...
macron
12.06.2008, 18:24
pool v2 Теперь стены и дно самого бассейна тоже "отражают"
Только HDR-карту надо другую поставить... Используется шейдер отражения, который юзает текстуру ...sky\sky_heli.dds. Шейдеры называются def_refl_alpha и def_refl_alpha_heli. Их можно править в Shader Editor SDK.
Если хочешь - сделай. Я еще в Shader Editor не разобрался - уж больно там все наворочено, как грится без поллитры никуда.
Вот инструкция, как делался бассейн. В конце файла level каждому шейдеру прописана своя текстура. Выглядит примерно так:
Шейдер и текстуру разделяет прямой слеш. При указании пути используется обратный слеш. Ничего сдвигать нельзя - все должно помещаться между изначальными пробелами. Если что-то меняем hexом, то надо уместить новое название шейдера и текстуру четко между этими пробелами. Сдвигать нельзя. Поэтому, если создавать новые шейдеры в sdk, надо делать их имена как можно короче. А если в строке остается место - тупо увеличивать число символов в названии текстуры.
Пример: было default/crete\crete_plitka_qllab,lmap#1_1,lmap#1_2 стало def_shaders\def_refl_alpha/qllab,lmap#1_1,lmap#1_2
Значит был шейдер default и указывал на текстуру textures/crete/crete_plitka_qllab.dds Стал шейдер def_shaders\def_refl_alpha и указывает на текстуру textures/qllab.dds Общее число символов осталось прежним.
Еще пример: было default/crete\crete_plitka1,lmap#1_1,lmap#1_2 стало def_shaders\def_refl_alpha/z,lmap#11,lmap#1_2
Это плитка внутри бассейна. Здесь из-за длинного имени нового шейдера не хватило места, чтобы влезло хоть какое-нибудь название текстуры. Пришлось переименовать один из лайтмапов для первого рендера и создать новую текстуру levels\testers_mp_pool\lmap#11.dds из lmap#1_1.dds), тогда влезает. Вобщем, Чтобы было меньше гимора, надо делать в Shader Editor имена новых шейдеров короче.
Степень отражабельности регулируется простым редактированием используемых текстур. Чем слой прозрачнее - тем больше выражены отражения и меньше выражена сама текстура. Для текстур кафеля изначально прозрачность была 255 (непрозрачно), я ставил 100.
sergy172
15.06.2008, 23:59
А помните ролик, в котором кафель и масляная краска, имели красивые отражения примерно такие же как в Халве 2 (явно шейдерные), при чем я не уверен, что это был второй рендер, так как остальная картинка явно была похожа на первый?
macron
21.06.2008, 11:17
Для желающих увидеть в действии видеотекстуры (только в dx8) можно проделать следующее:
Если уже стоит мод с отражабельным кафелем для pool. Из распакованной финалки берем файл gamedata\textures\intro\intro_movie.ogm и переименовываем/копируем в игру как gamedata\textures\iov_01.ogm.
Если игра без мода. Из распакованной финалки берем файл gamedata\textures\intro\intro_movie.ogm и переименовываем/копируем в игру как gamedata\textures\crete\crete_plitka_iov_01.ogm. Качество будет пониже, но тоже сработает.
Потом запускаем мультиплеер на карте pool на статике.
macron а это только для бассейна или для всей зоны?
macron
01.11.2008, 19:12
Цитата(shepard1a @ 01.11.2008, 19:04)
macron а это только для бассейна или для всей зоны?
Тока для бассейна, как пример. Причем данный вариант шейдера def_shaders\def_refl_alpha не совместим с dx9 - будут глюки. Технологию я описал. Если кто хочет - проверяйте другие варианты, с другими уровнями, текстурами, шейдерами.
Что нового: больше не нужно править хексом уровень или переименовывать текстуры, отражабельность в r1 включена через shaders.xr (взят от 3120sp_v2p, шейдер default заменен на копию def_refl_alpha) и настраивается редактированием только необходимых текстур, выставляя им прозрачность, например, 100 для внутренней облицовки, 150-200 для наружной или для металла (с последующим пересохранением как dxt5 с мипмапами), разумеется только для текстур с шейдером default.
псевдоотражабельность кафеля в r1 теперь работает на всех уровнях.
текстура псевдоотражения теперь основана на sky_21_cube.dds, вместо глючной sky_heli.dds
shepard1a
11.05.2009, 19:53
Недурно, "оживляет" картинку на "Статике".
macron
21.05.2009, 20:53
Последняя альфа-версия. Продолжать наверное не буду. Пытался приделать отражаемость к как можно большему числу объектов. Но работает не везде, так как не все используют шейдер default. Еще побочный эффект: на объектах с шейдером default отсутствуют детейлы.
Что нового: больше не нужно править хексом уровень или переименовывать текстуры, отражабельность в r1 включена через shaders.xr (взят от 3120sp_v2p, шейдер default заменен на копию def_refl_alpha) и настраивается редактированием только необходимых текстур, выставляя им прозрачность, например, 100 для внутренней облицовки, 150-200 для наружной или для металла (с последующим пересохранением как dxt5 с мипмапами), разумеется только для текстур с шейдером default.
Я могу предложить даже более удобный вариант - сделать скриптовой шейдер default копирующий настройки def_refl_alpha. Как только появится свободное время я постараюсь сделать соответствующий .s-файл.