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

Имитация намокания


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

Итак.... ;)

 

В целом опишу принцип:

Есть у нас погода где прописан дождь, есть текстура #small которая подсвечивает уровень и есть красный канал в bump.dds текстурах, который реагирует на #small.

 

 

 

Погода -

 

Путь - \gamedata\config\weathers

Файлы - default_groza.ltx, default_pasmurno.ltx и _rain.ltx

 

В конфигах погоды где есть дождь прописать (желательно свою) текстуру, т.е. сделать свой кубемап.dds + к ней #small.dds

 

Пример для [default_weather_rain_01]: sky_texture = sky\sky_test_cube_day

 

Что получим? получим ошибку при запуске игры ;) она будет просить текстуру. Значит идём делаем текстуру.;)

 

 

 

Текстура -

 

Путь - \gamedata\textures\sky

Файлы - наш_кубемап.dds, наш_кубемап_#small.dds

 

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

#small.dds желательно делать чуть больше чем остальные #small в игре.

К примеру для #small.dds - 768х128px. Почему больше чем остальный? это позволит ввести в текстуру достаточную детальность.

Требования к #small.dds - не должна быть цветной (т.е. ЧБ).

Правила для #small.dds -

а) тёмные пятна не отражаются в игре, светлые - отражаются.

б) Чем сильней светлый участок в текстуре, тем сильнее данный участок будет отражен.

в) Сильный контраст текстуры плохо сказывается на картинке в игре.

 

Что получим? УРРАААААА Есть намокание! ;) Т.е. получим запуск игры, однако, в зависимости от того что изображено на вашей #small.dds и контрастности изображения, мы получим во время дождя отражение некоего "типа" на всём подряд (в частности на руке ГГ) ;) выглядит не очень.... Пожалуй нужно это исправить! Чтож... всё считается в шейдерах, значит идём пытаться править шейдеры! ;)

 

 

Шейдеры -

Путь - \gamedata\shaders\r2

 

Находим файл с именем: sload.h и делаем его дубликат.;) но изменяем имя к примеру на... ммм... на sload-2.h

 

Покопавшись внутрях видим вот такой кусок -

#ifdef USE_PARALLAX

surface_bumped sload_i ( p_bumped I)

{

surface_bumped S;

half height = tex2D (s_bumpX, I.tcdh).w;

height = height*parallax.x + parallax.y;

float2 new_tc = I.tcdh + height*normalize (I.eye);

half4 Nu = tex2D (s_bump, new_tc);

half4 NuE = tex2D (s_bumpX, new_tc);

S.base = tbase (new_tc);

S.normal = Nu.wzyx + (NuE.xyz - 1.0h);

S.gloss = Nu.x*Nu.x ;

S.height = NuE.z ;

 

 

И после строки S.normal = Nu.wzyx + (NuE.xyz - 1.0h); ставим:

S.normal = half3(0,0,0);

 

 

Идём дальше.

Находим файл с именем - deffer_base_bump.ps и так же делаем его дубликат, имя даём - deffer_base_bump_2.ps

В нём меняем в самом верху строку #include "sload.h" на наш дубликат #include "sload-2.h"

Находим файл: deffer_base_bump-hq.ps и в нём ставим :

#define USE_PARALLAX

#include "deffer_base_bump_2.ps"

 

Всё значится. Что мы имеем в итоге? В итоге мы имеем динамическое "намокание" во время наступления дождя на всём кроме худа и НПС.

Однако есть проблема которую пока не решили - дело в том, что отключив в шейдерах отражение с рук и с НПС, мы получили вроде приемлемую картинку для улицы, но вот в подвале И руки И нпс будут чёрными. Почему? Потому что свет, по условию которое сделала GSC, ДОЛЖЕН отражаться от предметов для которых просчитан параметр Gloss, данный параметр есть по сути в каждой текстуре для каждого объекта, он берётся из текстуры_bump.dds из красного канала, чем ярче красный канал, тем сильнее отражать будет текстура.

 

 

P.S. Вполне вероятно возникнет много разговоров и споров в отношении данной информации, но, ребят, так или иначе мы все делаем одно - стараемся улучшить Игру которая так сильно нас "зацепила", стараемся приблизить Игру к тем мечтам и пожеланиям которые имеет каждый из нас, из кто ждал и играет в неё.

Не стоит говорить о том, что кто-то и что-то у кого-то взял/украл/изъял - всё это не так. Все из тех, кто может причислить себя к модостроителям, по сути реализовывает то, что уже давно придумано ДО него (безусловно бывают исключения).

 

К чему вообще всё написанное по имитации намокания? К тому, что будет хорошо подключить ещё СТО, ТЫСЯЧИ голов, для доведения данного эффекта до... ну может и до совершенства.;)

 

P.S.S. Сейчас ещё раз по написанному пробегусь и проверю нет ли ошибок. Сильно прошу меня ногами не пинать. Чуть позже прицеплю файлы уже подправленные. В том числе и пример текстур.

 

Вот ссылка на изменённые файлы + текстуры + погода (на основе АМК) - http://rapidshare.com/files/117061936/test_reflect.zip

http://ifolder.ru/6689733

 

Изменено пользователем Pxan
Спойлер. Pxan
  • Нравится 1
Ссылка на комментарий

Ещё кой-что добавлю по имитации - поле для творчества ОГРОМНО! начиная "рецептом" болеее интересной текстуры #small, подбором оптимального освещения в погоде и заканчивая полётом мысли в шейдерах.;)

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

Попробовал сие творение,сделал скрин.

3a3f746a7581t.jpg

Как будто гелем намазали :D

Без женщин жизнь скучна. Без дураков - невыносима!!!

 

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

Да, намокание это, конечно, круто. А вот само появление псевдо-отражений на движке r2, отражения практически не поддерживающем очень интересно. Не подскажете ли, чем (желательно попроще, чем фотошоп) можно редактировать кубическую текстуру (менять яркость и т.п.)? А то привык работать с paint.net, но он куб. текстуру воспринимает как 2D со всеми вытекающими.

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

Класс! Надо попробовать))

Хм все сталкеры и, например, дверь к Сидоровичу будто перестали реагировать на освещение, ночью просто черная текстура))

ssaleksey052408153050l0qy1.th.jpg

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

Impossible is nothing :)

 

Мне вот интересно (в графике я слабо разбираюсь), намокание происходит только на открытой местности, или везде (в том числе под навесами и в помещениях)?

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

TO: SmanxX1: Всё о чем я написал - это 1 тысячная доля всего что было проползано мною на пузе изучая каждую переменную. Касаемо "не только твои наработки"... я прям даже не знаю как и ответить, ведь я написал что всё уже придумано ДО нас, на самом деле есть не только выставленный на всеобщее изучение метод имитации намокания, есть и ещё одни, который вообще ни разу даже не пытался использоваться ни кем, выглядит конечно не так как представленный, однако в радиусе 10-15 метров от ГГ он в целом неплохо работал, причем ни коим образом не портил картинку и не портил ни худ, ни НПС (т.е. со светом было все ОК, в том числе и в подземельях), однако на асфальте (в частности) он не давал достаточно реалистичного эффекта, который мы можем наблюдать сейчас, используя предложенный выше вариант.

 

ТО 9rauth: Та схема которая описана вынуждает мокнуть все объекты (кроме рук и нпс), можно отключить и дома, и детали (ветки, деревья, бочки, покрышки и т.п.) но описанный мною вариант это самый быстрый способ реализовать и посмотреть сам принцип "намокания".

 

ТО ALL: Силу... не.. лучше вот так... ТОЛЩИНУ вазелинового покрытия можно регулировать.;) Всё дело в волшебных шейдерах, так что по данному вопросу приветствуются знания тех, кто с ними знаком.

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

Лучше бы ты промолчал про, то что "это 1 тысячная доля всего что было проползано мною на пузе изучая каждую переменную", не ты ли так охотно выспрашивал про намокание у товарища САХОРОВа?! Вот так вот, одни люди дествительно делают/изучают, а другие просто нагло присваивают себе чужую работу.

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

ТО SmanxX1:

И САХАРОВа сюда приписал? это не "выпрашивание" было, а обмен опытом. Только не нужно уверять что было всё не так.;) всё логи моего с ним общения есть.;) И вообще - не нужно всех этих эмоций!

Ссылка на комментарий
Лучше бы ты промолчал про, то что "это 1 тысячная доля всего что было проползано мною на пузе изучая каждую переменную", не ты ли так охотно выспрашивал про намокание у товарища САХОРОВа?! Вот так вот, одни люди дествительно делают/изучают, а другие просто нагло присваивают себе чужую работу.

 

 

Покажи мне где там стоит что это сделал он в одиночку? Помоему никто ничего тут не присваивал. Он делится тем что знает а если тебе это не нравится то скажи-ка пожалуйста насколько ты сам в этом замешан?

  • Не нравится 1

fb7cc3b532fce476a6e240310ebdb5fa.jpg

 

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

ПСЦ. Мне S.Desore уже месяц кидает тестировать намокание, и я вижу что человек сам всё узнает и добивается. А если помощь и общение вы называете "а другие просто нагло присваивают себе чужую работу." - то убейтесь об монитор. Или жалко что не одни СРП намокание сделали? Понимаю.

 

Хватит срача!

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

По-моему, такой мод уже кто-то сделал. В критике еще было, что от обилия белого цвета устают глаза.

«Was uns nicht tötet, macht uns stärker» © Friedrich Wilhelm Nietzsche

N.S.D.Q. Night Stalkers Don't Quit

"Нет проблем от человека - не доставлять проблем ему." © Модератор @Malandrinus

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

От большого количества белого действительно глаза устают. Давайте пока с намоканием разберёмся. На днях постараюсь выставить на рассмотрение некоторые изменения.

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

Получается, что тключать в шейдерах отражение с рук и с НПС не вариант. Если я правильно понял то намокание реализуется освещение текстуры #small.dds? А откуда она светит, сверху? А нельзя ее просто выключать, при недостаточном освещении?

А еще можно брать информацию об освещенности не из красного канала а из синего непример? Извините если глупость сказал...

Ссылка на комментарий
Гость
Эта тема закрыта для публикации сообщений.
  • Недавно просматривали   0 пользователей

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