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

Работа с текстурами


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

3 минуты назад, adm-ral сказал:

Это, кстати, сильный геморр с кулак. Т.к. чтобы что-то отключить, недостаточно отключить это в тхм, а ещё и в textures.ltx лезть приходится, а он у каждого мода свой... :( 

печально, хотелось бы уметь thm, отвечающий за все настройки

Ссылка на комментарий
1 минуту назад, alexsimm сказал:

печально, хотелось бы уметь thm, отвечающий за все настройки

Ну, можно выйти из ситуации с помощью "текстур пустышек в 4х4 пикселя"... При этом, включать в тхм вообще всё, а то что не должно никак работать, вязать на пустышки. Кое-какие проблемы можно так решить.

И сдался тебе этот параллакс... Нафига он нужен в тхм? Он прекрасно работает с бампами из шейдеров! Не скажу как в ОГСЕ шейдерах, но у себя в шейдерах от ed_rez-а, я имею над ним полный контроль конфигом и картой высот из bump#.

Найди его конфиг в своих шейдерах и будет тебе счастье! :)

Ссылка на комментарий
1 минуту назад, adm-ral сказал:

И сдался тебе этот параллакс... Нафига он нужен в тхм?

Вообще то без паралакса не будет псевдо рельефной поверхности.  Собственно паралаксом же дисплейс выдавивается. Иначе текстура, будет плоской

Ссылка на комментарий
4 минуты назад, alexsimm сказал:

Вообще то без паралакса не будет псевдо рельефной поверхности. 

Да, как тебе сказать...

Вот, посмотри (правда, должен был уже видеть)... тут отключён параллакс в тхм... смотри на кирпичи, асфальт, деревья и т.д. :)

 

https://youtu.be/NOOpP77TNIU

 

Ну и пусть ЕНБ и родные шейдеры 1.0006, но объём то есть? Или нет? :)

Ссылка на комментарий
41 минуту назад, adm-ral сказал:

Ну и пусть ЕНБ и родные шейдеры 1.0006, но объём то есть? Или нет? :)

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

Вот смотри:

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

0_1ae66a_f52d5707_M.jpg
 

а здесь паралакс включен с включенный бампом. видишь разницу?

0_1ae615_e0176ed8_M.jpg

 

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

Изменено пользователем alexsimm
Ссылка на комментарий
23 минуты назад, alexsimm сказал:

Мы с тобой говорим немного о разном.

Мы с тобой говорим об одном и том же! Ровно! :biggrin:

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

Речь о том, что параллакс будет работать и без его включения в тхм! Я в этом уверен ибо тестировал, поэтому и пишу. Причём он будет работать правильнее и непосредственно от карты высот в bump#. Да и контроль над ним полный.

В 100500 раз говорю - найди его конфиг в шейдерах!

Вот мой конфиг для примера...

/////////////////////////////////////////////////////////////
// Parallax Occlusion Mapping

    // general
    #define PARALLAX_OCCLUSION
    //#define USE_TEXTURE_PACK            // включите если используете текстурпак из ранних версий SkyGraphics мода

    // quality
    #define MAX_SAMPLES int(40)        // максимальное значение текстурных выборок (integer) 40
    #define MIN_SAMPLES int(5)            // минимальное значение текстурных выборок (integer) 5
    #define PARALLAX_OFFSET float(0.010)            // степень смещения. Чем больше значение, тем больше высота 0.015 0.011 0.010
    #define FINAL_INTERSECTION_LOOPS int(5)            // количиство циклов для нахождения точки пересечения. Чем их больше, тем качественнее эффект (integer) 5

    // warning
    //#define CORRECT_PERSPECTIVE        // включает более правильную перспективу на острых углах геометрии. Из-за особенностей игровой геометрии сталкера, на некоторых поверхностях появляются артефакты, в виде искажений

    // test
    #define CONTRAST_COEF_Q1 float(0.6)    // используются в алгоритме повышения контрастности карт высот. Не рекомендуется их менять 0.6
    #define CONTRAST_COEF_Q2 float(1.0)    // ... 1.0

    #define BRIGHTNESS_COEF float(0.26)        // ... 0.26

 

  • Согласен 1
Ссылка на комментарий
6 минут назад, adm-ral сказал:

что параллакс будет работать и без его включения в тхм

Все верно, ибо параллакс- это один из каналов bump#. Который автоматом подхватывается движком. Параллакс работает автоматически на движке ТЧ, за другие не знаю, это вбито в движок. Есть наполненный канал, значит юзает его, нет (он есть, но он иного характера), то движок прочитал и применил 0 высоты.

ed_rez.gif

c1f11b67ff360413e81b4e4dcf21eb41.jpg

Ссылка на комментарий
14 минут назад, adm-ral сказал:

Знаю даже, как он работает с разными шейдерами материалов, например с террейновыми текстурами...

ооо, расскажи мне как в террейновой текстуре заставить работать параллакс?

Ссылка на комментарий
6 минут назад, alexsimm сказал:

как в террейновой текстуре заставить работать параллакс?

А никак, если она работает на шейдере террейна.

Но, дело в том, что она же может использоваться и с другим шейдером материала (асфальт при входе на Генераторы глянь) и вот тогда, перекрученная катра высот параллакса в bump# и убъёт эту самую текстуру. Я об этом. :) 

 

14 минут назад, ed_rez сказал:

Который автоматом подхватывается движком.

Если активирован шейдер параллакса. Если я у себя поставлю два слэша перед #define PARALLAX_OCCLUSION, то полностью отключу шейдерный параллакс в игре. Тестировал это. :)

Ссылка на комментарий
1 час назад, adm-ral сказал:

Если активирован шейдер параллакса.

А вот этого не могу сказать. Если тесты проводил и так пишешь, значит остается верить. Я считал, что на дефолтах, эта функция движковая. Т.к. периодически читал там-сям, что на дефолтном ТЧ движке параллакс включен. Мог и не допонять чего-то, такое возможно. Да и движки у нас уже правленные, перереправленные... 

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

ed_rez.gif

c1f11b67ff360413e81b4e4dcf21eb41.jpg

Ссылка на комментарий
2 минуты назад, ed_rez сказал:

Я считал, что на дефолтах, эта функция движковая.

Ты про тот конфиг в юзере?

По идее, движок должен сам строить параллакс сразу с диффузной текстуры (автоматический аналог создания карты высот по типу той, что приходится делать, когда делаешь нормаль с диффуза в ФШ). Бампы ему для этого движкового параллакса не должны быть нужны. Но за результат его такой работы говорить не стоит... :)

Изменяя его параметр r2_parallax_h в юзере, я не увидел никакой разницы. Да собственно и работу параллакса не увидел, в отличии от скриптово-шейдерного параллакса, о котором выше тут много писал.

А вот если я в шейдерах отключаю параллакс, тогда кердык полный! Был объём (сдвиг вот этот, который рвёт текстуру) и нет объёма... :( Тут да, за это отвечаю! :)

 

Ссылка на комментарий
39 минут назад, adm-ral сказал:

сдвиг вот этот, который рвёт текстуру

Именно поэтому не юзаю параллакс, ибо хватает хороших бампов для передачи объемности, такой, как передает Сталкер.

ed_rez.gif

c1f11b67ff360413e81b4e4dcf21eb41.jpg

Ссылка на комментарий
1 час назад, ed_rez сказал:

Именно поэтому не юзаю параллакс

Тебе в моделях можно без этого обойтись. Тем более, что у тебя нормали оригинальные. Однако, кое-какие части и на моделях можно сделать параллаксом, но это очень много попыток и возни, всё лично тестировалось мильён раз... Запара! :)

А вот в текстурах материалов локаций, без параллакса будет УГ. Тут он очень нужен, поэтому приходится возиться довольно много. Хотя, есть более-менее простые правила, чтобы не переделывать по 100500 раз бампы... Если держать карту высот параллакса в пределах от 100 до 150 уровнями белого (ФШ), то иголок ещё не будет, а работу параллакса будет уже видно. Я лично так делаю, если упрощённо говорить... :) Однако, попыток так 5-6 для каждой текстуры всё-равно обеспечено! :)

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

Подскажите, как называются и в какой папке лежат текстуры ржавчины и металла? (Текстуры со скрина) Ибо очень выделяются на общем фоне...

Скрытый текст

284dbca812539ff77a66b206c455028bd9764030 ede91d692c1462280f886a911054eff0d9764030 f92b44b6909fa1d2bf51087a689bbc3bd9764030 7a86bedc25b5bb283c89abba52536e14d9764030

 

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

493d382aef309f67938649c797ba0b97d9764015

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

Подскажите, как исправить "светлоту" помещений? И отдельных текстур (в данном случае металла)?

a3a839c1dd39c291e07f3f5ca6637f08d9764030:

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

493d382aef309f67938649c797ba0b97d9764015

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

Столкнулся с такой проблемой:

Если в текстуре есть альфа канала, допустим текстура травы, и её сохраняешь с mip в фотошопе, то в каждом мип уровне по краю каждой текстуры на границе с прозрачным альфа каналом, появляется чёрная каёмка. В итоге в игре смотрится такая текстура ужасно, с чёрной каёмкой вокруг.

А если  сохранять через СДК, он он всё делает корректно.

ЕСть ли способ эту проблему победить в фотошопе? Может какие настройки нужны для ддс?

Ссылка на комментарий
7 минут назад, alexsimm сказал:

с чёрной каёмкой вокруг.

Каким макаром ты умудрился столкнуться с этой проблемой? Что за исходники используешь? В каком формате сохраняешь траву?

Предварительно... Используй полноценный исходник на прозрачном фоне, а альфу пусть для такой текстуры создаёт сам ФШ при сохранении текстуры.

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

 

https://youtu.be/SCPltcQrbt8

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

@adm-ral  я альфу создаю через выделение.

5 часов назад, adm-ral сказал:

сам ФШ при сохранении текстуры.

это как?

а почему через СДК всё нормально? альфа та же

Ссылка на комментарий
8 часов назад, alexsimm сказал:

я альфу создаю через выделение.

Тут так нельзя. Ты выделяешь вместе с полупрозрачными частями текстуры, а потом заливаешь полностью белую альфу в местах где её быть не должно (где полупрозрачность). Т.к. фон dxt1 чёрный, а альфа в этих местах текстуры есть, то и выводится она в игре по границам травы. Вот отсюда и чёрная обводка у травы. Плохо объясняется чего-то, но думаю ты уже способен сам додумать... :)

В редких случаях (например для увеличения дальности видимости очень тонких объектов, типа голых веток) такой метод доработки альфы последних ММ уровней необходим, но в основном он не нужен. А ещё проще для этого - ограничивать кол-во ММ в текстуре так, чтобы последний ММ уровень был чётко различим. Тогда на большом расстоянии такие текстуры будут видны нормально.

 

8 часов назад, alexsimm сказал:

это как?

В видео видно, что я собрал текстуру на прозрачности и сохранил её в dxt. Никакой альфы у меня в исходнике не было. Плагин ФШ сам оценил места с прозрачностью и создал альфу. Причём, корректно отрезав часть полупрозрачных мест исходной текстуры. Именно для этого и приходится сохранять первый раз в dxt1 без ММ, именно чтобы создать исходную правильную альфу.

Дальнейшие действия в том уроке не совсем правильные и обработка альфы из урока не нужна, на самом деле... Однако, для травы, следует выбирать кол-во ММ = 5, а потом в прогрессии осветлять каждый из ММ уровней вручную, т.к. при создании ММ, каждый следующий уровень становится всё темнее, а в итоге в игре такая трава темнеет вдалеке от игрока (это реально сильно ощущается, когда трава до горизонта).

Корочь, писать и объяснять это всё очень долго, потом сниму видик, как я это всё делаю сейчас...

 

Вот записал, как делаю сейчас... 

https://youtu.be/3H_HV80cgA0

Проводил много экспериментов и этот способ самый оптимальный для меня, на данный момент. :)

Изменено пользователем adm-ral
  • Спасибо 1
  • Нравится 1
  • Полезно 1
Ссылка на комментарий

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

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

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

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

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

Войти

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

Войти
×
×
  • Создать...