×
Menu

General notes about textures 1

Различные примечание о текстурах в целом и в общем.
 
"Мутные" текстуры зависят не только от разрешения! Но и от исходного качества.
Иной раз "мастера" берут текстуру изначально низкого разрешения и без всякой обработки, просто перегоняют ее в
большее! И никакие фильтры ее здесь не спасут.
 
Но правильно прорисованная текстура, сразу создававшаяся в высоком разрешении и,
в 512 будет хорошо выглядеть,  даже на большом объекте.
Но, та же текстура, обмыленная фильтрами и шейдерами будет выглядеть ужасным мылом!
Что собственно имеет место быть в дефолтной курице.
Однако текстуры ниже 512 уже начинают терять детализацию сами по себе, особенно на больших экранах.
 
Текстуры ниже 512 применимы лишь для небольших объектов, которым не нужна высокая детализация.
Либо, для создания заливки объекта чистым цветом.
 
Примечание.
Есть вариант пере-рендера текстуры в МАКСе.
Это когда текстуру используют в составе материала, добавляя, в оный, бампы, глосы и прочие карты.
А затем используют рендер в высоком разрешении.
В ряде случаев получатся создать фактически новую текстуру, но максимально близкую к оригиналу и имеющую
высокую степень детализации, за счет бампа и эффектов материала.
 
Примечание.
Технологические "прорывы" в области "нейронных сетей" позволили открыть еще одно направление по улучшению текстур.
Такие, как использование машинных алгоритмов обучения для "додумывания" качества текстур.
Что позволяет значительно повышать их реальное качество при повышении разрешения.
См. такие плагины на Nexuse.
Вроде года так с 2018-19го это стало развиваться в отношении текстур под МВ.
 
Примечание.
Имеет смысл создавать один файл текстуры для множества объектов.
Т.е. все малые текстуры тарелок положить в один файл.
Это увеличит быстродействие по линии ХДД, за счет сокращения вызовов на кол-ву файлов текстур.
*Хотя, как некоторые возражают, это повысит заполнение видеопамяти, в которой будут болтаться текстуры фактически не используемые в данный момент.
*Однако, значительное кол-во мелких текстур, также загружает видеопамять и повышает нагрузку на ХДД, что может понижать быстродействие.
*В курице такое использовалось для объектов которые точно будут находиться в кадре вместе. Перчатки, или детали локаций.
Впрочем, на практике, современные (2020 года) видео-карты-монстры с 4 и более ГБ озу, переварят и первое и второе не поперхнувшись.
Поскольку основные сложности и нагрузку создают шейдеры, а не заливка моделей текстурами в реал-тайме.

Примечание.
Высший пилотаж, это группирование текстур по названию.
Т.е. если некая группа объектов использует специфические текстуры, как сами объекты, так и их текстуры, полезно именовать последовательно.
Это даст некоторый плюс к скорости загрузки объектов в память.
Т.е. позволит выстроить порядковую цепочку из их ID.
Не так чтобы это было "совсем критично", но небольшой плюс дать может.
Равно упростив работу, для пользователя, с такими объектами в 3д Редакторе, или в ТЕС КС.
Также при просмотре текстур через Хнвию, блок текстур в одном месте экрана, лучше чем постоянное прокручивание оного.
 
Примечание.
См. проект АТЛАС.
https://www.nexusmods.com/morrowind/mods/45399
На западных сайтах был предпринят проект по повышению быстродействия дефолтного МВ по средством размещения текстур моделей в один файл.
Одна модель = одна текстура.
Этот метод позволил сократить кол-во шейпов в Ниф файла.
Число шейпов - прямо влияет на фпс. Меньше шейпов - больше фпс.
В ряде случаев разница до 100%.
 
Обращайте внимание, что большие поверхности, например фасады зданий, могут потребовать создания тайлинга текстур! А также, создание АТласов занимает больше времени, чем быстрое текстурирование модели небольшими кусочками из разных файлов.
Но конечно, лучше стремится к лучшему! Главное не заболеть "перфикционизмом"(С)
Явление это опасное и вредное, т.к. быстро подрывает силы и угашает запал. Но что более печально, крайне заразное!(С)
 
Примечание.
Но, нельзя экономить на текстурах!
Т.е. накладывать одну и туже текстуру на слот базовой текстуры и бампа, а также на текстурный эффект блеска!
Для Дарк, Детайл, Глосс - это допустимо, но не для Базового и Бампа!
Если в сцене окажется несколько объектов с одной текстурой на этих слотах (базовый и бамп), произойдет перекос кэша и модели могут посинеть!
Видимо это особенность движка оптимизирующего кол-во текстур в памяти, либо особенность бса файлов...
Особенно это заметно при использовании одной и той же текстуры в слоте бампа, "рефлекта" и одновременно в качестве базовой.
Т.е. в крайнем случае, создайте копию текстуры и переименуйте ее.
После такого, ее можно будет использовать в других моделях на других слотах текстур, или эффектов.
 
Примечание.
Никогда не используйте текстуру бампа на иных слотах!
Т.е. если некая текстура была использована в текстурном слоте "bumpMap" какой-то модели, не следует применять эту текстуру в других моделях.
На других слотах, таких как; базовый, детайл, или же на эффекте отражения.
Это приводит к багу Синего Цвета!
*при этом не важно "состоянии текстуры", т.е. какого она цвета.
Светло синего "бампового", или обычная, цветная.
Если текстура попала в слот бампа свойств текстур, она будет считаться Бампом и приводить к подобному багу!
 
Примечание.
Большой размер текстуры несколько понижает быстродействие видео карты!
Чем больше таких текстур в кадре, тем ниже фпс.
Перед началом создания текстуры определитесь с ее назначением и оцените РЕАЛЬНО необходимый ей уровень качества!
Помните, что кроме ваших текстур, в игре будут стоять плагины и других авторов.
Проводите все возможные оптимизации текстур. Сокращая их число за счет объединения в один файл,
уменьшая по мере оправданности изначальные размеры, использую одну и туже текстуру в разных моделях.
Конечно кроме слота Бампа.
Такие простые вещи не только повысят быстродействие игры, но и популярность Вашего плагина.
 
Примечание.
Для больших поверхностей (более 512 игровых ед) лучше использовать небольшие текстуры в режиме тайлинга.
Т.е. масштабировать текстуру несколько раз по поверхности.
Для дополнительной маскировки тайлинга, кроме использования безшовной текстуры, можно добавить карту детализации.
Или декалей, но уже без повторов по другому каналу развертки.
Это как позволить несколько сократить размер текстур, так и не получить "мыло" при близком контакте камеры с поверхностью.
 
Итого.
- создание атласов уместного для объекта разрешения.
- порядковое именование текстур для одного сета объектов в особенности.
- учет игровых размеров объекта и подбор текстуры оптимального разрешения.
- размещение текстур нескольких объектов в один файл, особенно если эти объекты точно будут находиться в одной сцене.
- использование текстур небольшого разрешения для больших поверхностей с дополнительной маскировкой повторов посредством карт декалей и детейла.
Подобный подход может дать дополнительный бонус к скорости и стабильности игры.
 
Однако, он же потребует и "планирования", т.е. перед созданием моделей придется прикидывать, что и где будет лежать.
К сожалению, при "наитии вдохновения" этот "плановый подход" не всегда получается использовать.
Но по возможности, к нему стоит присматриваться, т.к. это позволяет лучше обдумывать дизайн объектов со всеми вытекающими из этого.
Как плюсами, так и минусами. )))
Сиречь, объект может, как; стать еще КРУЧЕ, так и пасть под грузом "амбиций".
Или, что точнее, от осознания, сколько нужно сил и времени на реализацию задумки!
 

Модель и ее текстура.
В один атлас можно класть детали нескольких объектов.
Особенно если оные часто соседствуют в сцене, как эти грибы.
https://staticdelivery.nexusmods.com/mods/100/images/45399/45399-1514933591-770966576.png