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

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


LeDemon

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

В 25.02.2018 в 07:02, alexsimm сказал:

я правильно понимаю, что настройки файла thm перекрывают настройки в textures.ltx ?

Данные из thm перекрывают данные из textures.ltx, но есть тонкости.

Например...

Если в thm у тебя не стоит галочки на использование детейла (откл), а в textures.ltx детейл прописан, то в игре будет работать детейл из textures.ltx

Такая-же ерунда со всеми параметрами...

Т.е. да, если есть параметр в thm, то он читается из него, а если его не прописано, то он возмётся из textures.ltx

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

  • Полезно 1

Поделиться этим сообщением


Ссылка на сообщение
В 25.02.2018 в 07:02, alexsimm сказал:

в файле тшм для текстуры диффуз выбрано юс паралакс

Ты указал игре - забить на бампы (отключил бампы) и использовать только карту высот для параллакса из bump# или строить параллакс самостоятельно из диффуза (тут я не уверен, как будет строиться параллакс).

Я месяц назад переделывал всю кору деревьев из АН4 и много ещё откуда, так вот там с родными thm АН4 везде был включен параллакс, а бампы при этом не работали, пока я не порешал эти косяки и не переделал все thm.

Так для ТЧ! АН4 для ЗП, и возможно там это всё работает как-то иначе.

 

В 25.02.2018 в 07:02, alexsimm сказал:

в файле тшм для текстуры диффуз выбрано просто юс

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

 

В 25.02.2018 в 07:02, alexsimm сказал:

в файле тшм для текстуры диффуз выбрано просто юс

Шейдерный параллакс работает совместно с нормал-мапой бампа. Если нормал-мапа (bump) и карта высот параллакса (из bump#) не противоречат друг другу, то результат будет правильным. Они как-бы взаимодополняют друг друга.

 

И...

Если ты уже провёл опыты и увидел результат, то чего вопрошать то? :) 

Просто внимательно проверяй все данные по каждой конкретной текстуре, как в textures.ltx, так и в thm для этой текстуры.

Изменено пользователем adm-ral

Поделиться этим сообщением


Ссылка на сообщение
13 минут назад, alexsimm сказал:

да потому что есть стойкое утверждение, что thm  имеет приоритет.

Имеет, но локальный. Локализация - каждый конкретный параметр текстуры. Если какой-то параметр в тхм не описан, то он будет браться из textures.ltx. Аналог - работа игры с игровыми архивами и gamedata.

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

Изменено пользователем adm-ral

Поделиться этим сообщением


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

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

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

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

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

Поделиться этим сообщением


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

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

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

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

 

https://youtu.be/NOOpP77TNIU

 

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

Поделиться этим сообщением


Ссылка на сообщение
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 минут назад, alexsimm сказал:

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

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

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

 

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

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

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

Поделиться этим сообщением


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

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

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

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

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

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

 

Поделиться этим сообщением


Ссылка на сообщение
1 час назад, ed_rez сказал:

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

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

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

  • Согласен 1

Поделиться этим сообщением


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

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

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

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

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

 

https://youtu.be/SCPltcQrbt8

  • Согласен 1

Поделиться этим сообщением


Ссылка на сообщение
8 часов назад, alexsimm сказал:

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

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

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

 

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

это как?

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

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

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

 

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

https://youtu.be/3H_HV80cgA0

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

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

Поделиться этим сообщением


Ссылка на сообщение
16 часов назад, warwer сказал:

Поделись текстурами пож-та.

Вот в этих репаках найдёшь самые последние и качественные работы по траве. Там и летняя и осенняя.

Исходной библиотекой поделиться не могу. Если нужна летняя на большое кол-во локаций, то её можно взять из ретекстура к НС-16. См. ссылку в описании плейлиста.

 

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

Как избавиться от такого паралакса

Править нужно А-канал (альфу) bump#. Уровнями в ФШ сузь диапазон цвета с 0-255 до 100-155 примерно.

  • Спасибо 1
  • Нравится 1
  • Согласен 1

Поделиться этим сообщением


Ссылка на сообщение
12 минут назад, alexsimm сказал:

у меня фотошоп почему то не спрашивает загружать mip или нет

В открытом окне выбора формата сохранения найди галочку, которая отвечает за этот диалог при открытии DDS.

 

И вот ещё пара-тройка видосов про ММ... Может пригодится кому, для понимания...

 

https://youtu.be/ff6sKIVjMuo

https://youtu.be/I91FXLzDuA4

https://youtu.be/S0CyN9Q1QIY

https://youtu.be/wyiJaItBrKE

https://youtu.be/HuuR1mEPgnE

https://youtu.be/6ntGAL44OqA

 

P.S.

Чёй-то я немного водяры пережрал... Пойду спать... :489:

  • Нравится 1

Поделиться этим сообщением


Ссылка на сообщение
1 час назад, Outlaw сказал:

Хотел спросить, можно ли настроить текстуру

Это зависит не от настройки текстуры, а от модельного шейдера на котором она работает.

Если часть модели идёт на отдельной текстуре, тогда можно эту часть заставить светится. 

  • Спасибо 1

Поделиться этим сообщением


Ссылка на сообщение
9 минут назад, Outlaw сказал:

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

Если в модели сменить ей шейдер на светящийся, то да, светиться будет весь гуль. :)

На скрине, ты видимо показываешь спекуляр... С помощью него, можно сделать только реакцию текстуры на свет. Чем белее место на спекуляре, тем сильнее оно будет освещаться, при попадании света на текстуру. Но, это не то "свечение", как я тебя понял...

Изменено пользователем adm-ral

Поделиться этим сообщением


Ссылка на сообщение

@nasar75, ну да. Только это всё не относится к работе с текстурами, а в модели нужно лезть. :) У кого-то вон хватило ума засветить глаза псевдопсам, а у кого-то и на кабанов рука поднялась. :shok2: Не понимаю я такого дизайна... :buba:

А, кстати, гули могут и полностью светиться! ;) Я бы даже взглянул на такое чудо...

Только нужно самый слабый шейдер самосвечения подключать и с родным блумом поосторожнее настроить. Ну и не называть такое чудо "гражданским зомби"! :469:

 

Во, а засвечу-ка я сейчас полтера, по приколу... :)

Изменено пользователем adm-ral
  • Нравится 1

Поделиться этим сообщением


Ссылка на сообщение

В общем, дозасвечивался полтерами вдоволь... :) Вся эволюция игры с текстурой полтера, начиная с конца. На скринах шейдер selflight, т.к. selflightl даёт просто общую подсветку, всё отключает, свечения не даёт.

Фигня полнейшая. Ничего не работает и ни на что этот шейдер не реагирует. Никаких бампов, детейлов, прозрачностей... Ноль реакции на внешнее освещение.

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

Ну, пора бы и делом заняться... Полтера в топку. :bye:

  • Полезно 1

Поделиться этим сообщением


Ссылка на сообщение
1 час назад, alex5773 сказал:

Если играю на статике, то какие лучше текстуры оружия "делать"

Нет никакой разницы между статикой и динамикой в этом вопросе. Формат сохранения текстур выбирается в зависимости от того, чего тебе от этой текстуры нужно. Альфа-канал текстуры отвечает за её прозрачность.

По большому счёту, есть всего два необходимых формата - DXT1 (однобитная альфа - абсолютная прозрачность (чёрный (0) - нет пикселя, белый (255) - есть пиксель)) и DXT5 (многобитная альфа - полупрозрачность (альфа от 0 до 255)).

Есть ещё формат DXT (8:8:8:8) - это вообще без сжатия исходника. Он очень тяжёлый в плане веса, но Сталк с ним нормально работает. 

В общем, текстуры в которых нет прозрачности вообще или есть однобитная прозрачность (например - маскировочная сетка), нужно сохранять в DXT1, а текстуры в которых есть полноценная многобитная прозрачность (например - стёкла, текстуры партиклов), нужно сохранять в DXT5.

Про ММ...

Текстуры, которые могут удаляться от ГГ, нужно сохранять с MipMaps, например оружие и почти все остальные текстуры в игре. 

Текстуры, которые не удаляются от ГГ, нужно сохранять без ММ, например текстуры худа, прицельные сетки, худ-маски...

Это если просто и не лезть в дебри... А если лезть, то мне например, удалось добиться интересных результатов в ручной работе с ММ. Вот таких, например...

Смотрим на "Жгучий пух" - было, если просто тупо сохранить текстуру

Смотрим на "Жгучий пух" - стало, после ручной доводки альфы и ММ. И так теперь с большинством полупрозрачных текстур.

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

 

46 минут назад, lafugix сказал:

Можно скрины с разницей и альфу в dxt3?

А чего сразу то не написал, что нет никакой разницы, как мне когда-то... Надоело? :crazy2:

Изменено пользователем adm-ral
  • Полезно 2

Поделиться этим сообщением


Ссылка на сообщение
1 час назад, alex5773 сказал:

По моему DXT3 лучше использовать, на DXT1 многие детальки на оружие невидно.

Нет никакой разницы! RGB каналы (т.е. сама картинка) сжимаются одинаково, как в DXT1 так и в DXT3 так и в DXT5. Не сжимаются они только в DXT (8:8:8:8).

Поделиться этим сообщением


Ссылка на сообщение
23 минуты назад, alex5773 сказал:

Короче какие галочки там ставить нужно при DXT1 с оружием, для статики?

 

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

Текстуры, которые могут удаляться от ГГ, нужно сохранять с MipMaps, например оружие и почти все остальные текстуры в игре.

Я думал, что будет понятно. :) Ставь галочку ММ при сохранении текстур оружия. Когда будешь сохранять какие-нибудь кирпичи, перечитай вышенаписанное. :yahoo:

  • Спасибо 1

Поделиться этим сообщением


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

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