Инструкция по созданию бампа в Морровинде, опубликованная в далеком 2007 году.

Авторы: Тореро & Ej-12 (ejov3003@mail.ru) Коррекция - TJ, Siegrun

Содержание

  1. Введение
    • Что такое Бамп и зачем он нужен
    • Особенности работы с Бампом для Морровинда
  2. Создание бампа
    • Инструменты для создания бампа
    • За дело!
      • Этап 1. Создание модели
      • Этап 2. Работа над текстурой бампа
      • Этап 3. Алхимия NifScope
      • Этап 4. Настройка бампа
      • Этап 5. Настройка сложных двуслойных моделей
    • Маленькие секреты бампа
    • Немного о TES-шейдере
    • Еще немного о NifScope
    • Как сделать Бамп только Нифскопом
    • Довесочек
  3. Приложение
    • Немного о текстурах и их форматах
    • Немного о Мешах (Meshes)
    • Еще немного полезного

Введение

Что такое Бамп и зачем он нужен.

Бампмаппинг – это способ на плоской поверхности имитировать рельефность или неровность, в результате чего изображение становиться более объемным и реалистичным. Этот эффект достигается при помощи сочетания света и тени, путем различной степени освещенности каждого пикселя поверхности на основе значений, зафиксированных в специальной карте высот, которую называют bumpmap.

Даэдрическая броня, до и после

Особенности работы с бампом для Морровинда.

Морровинд - игра, созданная на заре современных технологий, когда о Картах Нормалей, БампМаппинге, ПаралаксМаппинге и прочих текстурных «извращениях» еще знать не знали, слышать не слыхивали, а если и слышали, то только в новостях и в сплетнях, и то далеко не многие.

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

Казалось бы, что от игрушки тех времен ожидать чего-то большего нельзя, ну, может, модели новые создать не из 10 полигонов, а из 100. Но как, к счастью, выяснилось, все куда интереснее! Морровинд оказался как раз на стыке двух эпох игростроя - современной эры смазливых коммерческих проектов и старых добрых игр от души и для души, которые делались, как говорится, не за страх, а за совесть. Вот и впитал в себя наш «Старичок» все лучшее, что было на тот момент. Атмосферу и сюжет от прошлого поколения и продвинутый движок от надвигающегося. Хотя об этом тогда еще никто не догадывался. Тем паче, что многое еще было сокрыто от глаз геймеров слабыми видеокартами и «добрыми дядями», изрядно «облегчившими» игру. Но семя в лице опередившего свое поколение движка было таки посажено и, благодаря усердным стараниям любителей Игры, принесло плоды, сбором которых мы сейчас и займемся.

Понятно, что несмотря на свою продвинутость, движок Морровинда далек от совершенства и тем паче от возможностей современных игровых движков, в частности, своего прямого последователя TES IV: Oblivion. Так что для достижения дополнительных текстурных эффектов (бампа (bump) в данном случае) ему нужна некоторая помощь: Карты Отражений (reflect map) , без которых Bump просто не будет работать и, собственно, текстура рефлекта (отражения), заменяющая моделям источник света, который отрисовывает Bump.

Создание бампа

Инструменты для создания бампа

А) Nifskope, собственно самый главный инструмент в нашей работе. (ищем здесь).

Лучше взять старую версию, 0.8.5 от (2006-05-25 00:07), последующие версии больше заточены для работы с мешами Обливиона и с Морровскими моделями не всегда работают корректно, поэтому все нижеследующее относится к 8.5 версии Нифскопа.

Б) 3DMax – версии 5.1 или 4. Возможно использование любого другого 3Д редактора, поддерживающего экспорт моделей в формат Морровинда. Т.к. при необходимости карту отражения можно добавить потом, через Нифскоп – об этом ниже. Но все-таки предпочтительнее использовать МАКС. Еще лучше держать все возможные модули, это бывает полезно, хотя при экспорте может возникать некоторая путаница.

В) Модули импорта/экспорта формата .nif. Для экспорта лучше всего использовать официальный плагин от Bethesda, т.к. плагин от разработчиков Нифскопа весьма глючен и часто приводит Морровинд в полное расстройство. Хотя, если у вас с ним проблем нет, используйте его.

Г) Для создания текстур Бампа нам понадобится Photoshop, любой версии с .DDS-плагином от nVidia (этот) либо поискать более старую версию этого же плагина на других сайтах.

Д) TES CS – куда нам без него.

Е) Для просмотра графики в .dds-формате (им лучше всего пользоваться для текстурирования см. приложение) понадобится XNView – программа для просмотра.

За дело!

Этап 1. Создание модели

Для начала создадим новую модель или импортируем готовую модель из Морровинда. Например, сделаем такой кирпич. Теперь идем в редактор материалов. Можно нажать «М» на клавиатуре. 

Выбираем материал «Blinn» (с ним проще всего работать) или «Blinn» – материал по умолчанию.

  1. – с чем работаем.
  2. – здесь выбираем материал.
  3. – задаем параметры, каким оттенком будет «светиться» наш кубик на свету и в темноте, здесь же задаем уровень (999х76) забликовки, прозрачность (об этом ниже) и цвет самоосвещения. Если поставить что-то кроме черного, у вас получится спецэффект;).
  4. – назначаем текстуры. Слот Diffuse – базовая текстура и слот Reflect – то, что у нас будет изображать из себя Свет.

Пока здесь все, идем по пути File -> Export -> Nif Format, сохраняем модель и запускаем CS, чтобы посмотреть, что у нас вышло:

А вышло у нас следующее, кирпичи в ассортименте:

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

Насмотрелись? Идем дальше.

Этап 2. Работа над текстурой бампа

Запускаем Adobe Photoshop. Берем то, из чего мы хотим сделать Бамп (BumpMap) и делаем это с помощью DDS-плагина от Nvidia.

Если у вас по каким-то причинам нет этого плагина, вам придется много повозиться с заливками, выделениями и другими инструментами. :( Однако, иногда можно упростить себе работу, использовав в качестве бампа (BumpMap) сильно осветленную текстуру. Чем Светлее — тем выше будет уровень неровностей. Также можно поднять уровень Синего, нажав комбинацию CTRL+M и отредактировав каналы RGB.

Cм. рис. 8 сделано по быстрому, но вполне может подойти.

Помимо возможности импорта\экспорта, сей плагин добавляет в меню Filter раздел NVDIA TOOL, в котором и сидит нужный нам фильтр.

На изображении:

  1. уровень сглаживания, насколько будет резкий контур у бампа.
  2. высота, чем больше значение, тем более «рваным» будет рельеф, экспериментируйте.
  3. метод создания, рекомендуется либо COLORSPACE либо МАХ(R.G.B.)
  4. фильтрация альфа-канала.
  5. экспериментируйте

Сохраняем в .dds-формате ДХТ3 (подробнее см. приложение) и запускаем Nifskope.

Этап 3. Алхимия NifScope

Приводим его в удобный для себя вид и делаем примерно ниже следующие:

  1. Щелкаем мышкой на нашем кирпиче, при этом в окне блоков выделится его NiTriShape, раскрываем + NiTexturingProperty (настройки, свойства текстуры), снова раскрываем + и строку NiSourceTexture (назначенная текстура).
  2. Теперь правой кнопкой мыши (ПКМ) - NiSourceTexture, Copy Branch – копировать связь.
  3. И сразу же ПКМ – Paste Branch.
  4. Внизу окна BLOCK LIST появится еще одна строка, в данном случае №9 (NiSourceTexture), вот его нам сейчас и будет нужно.
  5. Снова - ПКМ, только вместо раздела Block выбираем раздел Texture – Choose, ищем через появившееся окно проводника свою текстуру бампа (Bump). Либо кликаем два раза ЛКМ по строке NiSourceTexture в колонке VALUE (значение), она откроется для ручного ввода имени текстуры, куда и забиваем нужное. Путь указывать не нужно. - Это важно! Если у вас будет жестко заданный путь, МW в ряде случаев не находит текстуру, особенно если текстуры упакованы в .BSA. Вообще почти все строчки в NifSkope поддаются ручному вводу по 2ЛКМ.
  6. Совет: называйте вашу BumpMap текстуру аналогично базовой. Например ХХХ1.dds – имя базовой текстуры, а ХХХ1_NM.dds - имя Бамп-текстуры, ХХХ1_dt.dds  DetailMap текстура деталей, ХХХ1_g.dds  GlowMap текстура Свечения, ХХХ1_DR.dds  DarkMap текстура «грязи» :) добавочная к DetailMap можно сделать больше темных пятен. Таким образом, вы сможете быстро менять имена текстур, что очень выгодно при обработке многострочных моделей.

Этап 4. Настройка бампа

Выделяем раздел NiTexturingProperty нашего NiTriShape.

Смотрим в окно Block Details (детальное содержимое блока) видим несколько строк с до боли знакомыми названиями, :) нам нужен, понятно - BUMP — строка Bump Map Texture.

Раскрываем плюсик и начинаем все менять (все раскрывается двойным кликом левой кнопки мыши (ЛКМ) ).

  • Is Used --- «NO», меняем на «YES»!!!!! (двойной клик)
  • Source --- № строки с текстурой здесь: NiSourceTexture №9
  • Clamp Mode – рекомендуется 3 (методом научного тыка, получается наиболее ровный Бамп)
  • Filter Mode  2 (аналогично предыдущему)
  • Texture Set  2 (см. выше) так или иначе, изменение этих значений весьма заметно, химичьте.

Пропускаем ряд строк, можно сделать как на скрине ниже, но это все не так заметно.

  • Bump Map Luma Scale – 1.0000, либо 0.9000 – более мелкий рельеф будет. Или еще как  :)
  • Bump Map Luma Offset – оставить по нолям.
  • Matrix – рекомендуемые: м11, м12 – на 1.0000, тогда м21 и м22 по нулям оставить, либо менять наоборот. Или как на скрине, менять только последние цифры. Это очень важный раздел настроек БАМПА (Bump Map)- задается высота, глубина и резкость текстуры. Экспериментируйте, рис. 11 приведены оптимальные настройки.

В принципе, все это базовая настройка добавления Карты Бампа. Жмем «SAVE» и идем в TES 3: CS возрадоваться делом рук своих.

Этап 5. Настройка сложных двуслойных моделей

Все вышеприведенное, конечно, хорошо и красиво, но иногда хочется чего-то большего, например, задать модели какой-нибудь дополнительный рисунок. Например, чтобы из под облезшей краски поблескивал металл, или по тусклой стали был нанесен рисунок позолотой. Здесь без двухслойного меша не обойтись.

Задача, в общем, простая, - нужно текстуре нарисовать альфа-канал, а как это делается, описано во многих пособиях, поэтому я не стану на этом задерживаться. Наша задача - заставить правильно работать Bump с Reflect-ом на этом самом прозрачном меше, а тут не все так просто, особенно у GeForce.

Если этого не сделать у вас будет то что на картинке справа:

  1. двухслойный меш
  2. основа

Запускаем Adobe Photoshop!

Открываем текстуру, из которой собираемся сделать Bump Map. Выделяем нужные элементы, которые должны быть непрозрачными, загружаем их в альфа-канал и, не снимая выделения, запускаем NVDIA TOOL – создаем, как указано выше, текстуру. Только не забудьте перейти с альфа-канала на RGB-канал.

Теперь инвертируем выделение и жмем Delete - должен получится синий рисунок на черном поле. Или наоборот, Черный на Синем.

Этот ход — выделение каналов R, G или B с последующей генерацией Бампа и удалением выделенного может применяться и в других случаях.

Соответственно, наличие альфа-канала обязательно. По-видимому, такие сложности есть только у GeForce, для видеокарт семейства ATI достаточно просто создать альфа-канал на обеих текстурах.

Настройка Двуслойности в 3dsMax.

Для тех, кто вдруг не знает.

  • Выделяем модель (участок модели), которой нужен второй слой.
  • Идем в меню правки, ищем CLONE (клонировать), жмем. Или, выделив полигоны, жмем «ПКМ» -

DETACH — не забудьте поставить галку напротив AS A CLONE.

  • Теперь скроем все ненужное. ПКМ по модели – HIDE SELECTION (скрыть выделение).
  • Переходим в редактор материалов, где создаем новый или копируем (просто перетащить «ЛКМ» в соседний слот) уже имеющийся материал, задаем материалу новое имя вместо 2 – Default на что-нибудь другое. Это важно.
  • В разделе ПРОЗРАЧНОСТЬ (opacity) вместо 100 ставим 99.
  • Спускаемся в раздел MAP (КАРТA) выбираем DIFFUSE COLOR, «ЛКМ» - попадаем в меню подробных настроек, в самом верху кнопка BitMapParameters, жмем, здесь выбираем текстуру для второго слоя, содержащую альфа-канал. Все, вываливаемся обратно в меню настроек карты, жмем стрелку вверх и возвращаемся в основное меню настроек материала.
  • Если надо, проделываем то же самое с картой отражений, т.е., меняем то, что изображает из себя освещение.
  • Назначаем новый материал клонированному объекту. Теперь «ПКМ» unhide all – показать все.
  • File -> Export -> Nif. Открываем модель нифскопом, долго и упорно кликаем по объекту, чтобы найти, где у него какой слой:). Или ищем его в Block List. Когда очень большая модель, 2-5 сотен строк, проще кликать по объекту, чем просматривать все строки.

Маленькие секреты Бампа.

  • Если на готовой текстуре Бампа нарисовать что-то черным цветом, эти места будут затемнены на модели, по ним не будет двигаться рефлект. Текстура должна быть без альфа-канала, либо затемнение должно находиться на непрозрачности. Также можно использовать выделение Каналов с последующим удалением выделенного. См. Рис. 17, 18.
  • Полностью «гладкий» бамп иногда тоже полезен. Генерится из чистого фона (белый, черный). Либо простая заливка Светло-синим, Сиреневым, Голубым цветом.
  • В качестве Бампа можно использовать и базовую текстуру, но в этом случае модель будет очень сильно затемнена, что иногда бывает полезно.

Немного о TES-шейдере.

Это материал специально для моделей Морровинда.

  • TES-шейдер поддерживает Bump, но не поддерживает Reflect – из-за чего работает он только с зачарованными предметами, на которые движком игры накладывается текстура, изображающая из себя свечение.
  • Он не поддерживает Bump и GlowMap одновременно - это сочетание приводит к вылету Construction Set на рабочий стол, ну, и игры, вестимо.
  • Он поддерживает Detail Map – карту детализации.
  • Он очень хорош для создания кожаных и деревянных элементов для модели.
  • А также для работы с бипедными (содержащими скелетную привязку) моделями (Biped).
  • А для второго слоя часто незаменим, особенно, если нужно нарисовать грязь.
  • Может использовать Displacement.
  • Dark Map – можно сделать очень темные пятна.
  • Для рендеринга текстур в Максе – назначать текстуру на Gloss Map.
  • Decal Map – иногда тоже бывает полезна.

Немного о настройках:

  • Для достижения прозрачности, альфу на 0.9.
  • Particle Colors – применять к системам частиц
  • Displacement ставить не выше 10, и при этом в модели должно быть много вертексов.

Это применительно ко всем материалам.

Еще немного о Nifskope

  • Возможно добавить GlowMap для любого материала с бампом, даже для TES shaders.

Базовые настройки:

Для остальных слотов Detail Texture, Dark Texture и пр., кроме Bump Map Texture.

  • Is Used --- «NO», меняем на «YES»!!!!!
  • Source --- № строки с текстурой. Создается отдельно.
  • Clamp Mode – рекомендуется 3
  • Filter Mode – 2Texture Set – не менять, иначе в КС и в окне Nifskope эта текстура не будет отображаться.

Игры это не касается.

Остальное – экспериментируйте...

Важно, при копировании Branch-ей используется глобальный Буферобмен, поэтому если вы начнете копировать имена Текстур, или еще что, информация о линках пропадает!

  • Возможность редактировать, добавлять эффект отражения в готовые модели, не подвергая их истязанию в 3DS Max, что особенно удобно с анимированными моделями, например, луками (см. ниже)
  • А вот это можно увидеть только в TES CS, GlossMap, добавленная через NifScope, в игре не отображается:

Как сделать Bump только c помощью NifSkope

  • С большими проблемами, чем с использованием 3DMax`а, но можно. А может, и с большим кайфом :) По настроению.

ВАРИАНТ «А» (на случай отсутствия варианта «Б»)

  • ПКМ –> Block –> INSERT – жмем на Т ищем – NiTextureEffect (скриншоты ниже)
  • Дублируем уже имеющийся Branch с текстурой (см. выше в добавлении Бампа).
  • Идем в NiTextureEffect и прописываем № выше созданной строки, куда прописываем текстуру для отражения, и ставим нужные параметры. Подсматриваем их в уже готовой модели, для этого рекомендуется держать перед собой второе окно NifScope с уже готовой моделью. Ее можно взять из любого плагина серии BetterArmor или BetterWeapons за авторством тов. EJ-12
  • Настроив таким образом Effect, идем в раздел NiNode – собственно, кликнув по модели и поднявшись со строки NiTriShape на NiNode, к которому она принадлежит.
  • Выделив NiNode, смотрим в Block Details, где ищем строки Children и Effects и там и там, ПКМ -> Add empty link – добавить еще одну пустую связь. При этом значение Num Indices должно увеличиться на +1 (для удаления забить на -1 и нажать ПКМ - Update).
  • В появившихся строчках забиваем  строки нашего текстурного эффекта (NiTextureEffect).
  • Все, если вы все сделали правильно, то останется проверить вашу модель через КС и, если он сразу не вылетел, но показал модель во всем блеске, добавьте Бамп, как было указано выше, и приступайте к изготовлению следующей модели.
  • Да, кстати, цифры в NiTextureEffect очень важны - они задают поведение текстуры отражения на модели, иногда можно добиться интересных результатов, но часто это все выглядит как ошибка, или приводит CS к краху.

ВАРИАНТ «Б»

  • Открыть перед собой 2 окна Nifskope. Ваша модель и Настроенная модель
  • В готовой модели находим строку с готовым NiTextureEffect.
  • ПКМ по ней. И COPY BRANCH.
  • В вашей модели PASTE BRANCH
  • Делать, как описано в ВАРИАНТЕ “А”, прилинковать ваш Эффект к нужной НОДЕ.

Базовые настройки TextureEffect

  • Scale — размер текстуры, насколько она масштабируется.
  • Texture Filtering — 1-2 стандартно
  • Texture Clamping — 3
  • Texture Type — 2
  • Coordinate Generation Type — 2 особенно заметны изменения см. рис. 28

Все выше описанное, только в картинках :)

Так выглядит модель в КС без Бампа:

А вот ниже - уже с Бампом. Использована Базовая текстура, как на Отражение, так и на Бамп.

Довесочек

О том, как в .nif вставить часть другого .nif`а, или "Одеваем Скелетов"!

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

Итак...

  • Открыть перед собой 2 окна NifSkope. Ваша модель и модель из которой вы хотите что-то “выдрать”.
  • В готовой модели находим нужную вам деталь (косточка у скелета, или наплеченик)
  • ПКМ по ее NiNode. Берите всю ноду (а не один NiTriShape), так можно использовать уже имеющиеся на ней эффекты. К тому же, в одной ноде может быть много частей одной детали. COPY BRANCH.
  • В вашей модели PASTE BRANCH. Появится нужная вам нода. Важно, в моделях со скелетной привязкой не копируйте базовую ноду. См ниже.
  • Теперь переходим к линкованию. Кликните по той части вашей модели к которой вы хотите добавить новую часть. Например, одеть шлем на голову скелета. Кликаем по голове и поднимаемся к ее родительской ноде. Т.е., к тому элементу, при раскрытии “+” коего появляется все остальное. Выделите эту NiNode и посмотрите в Block Details строку Children. Убедитесь, что там указан тот NiTriShape, к которому вы добавляете новую деталь.

BM 034.jpg

  • Выделив NiNode, смотрим в Block Details, где ищем строки Children и Effects и там и там, ПКМ -> Add empty link – добавить еще одну пустую связь. При этом значение Num Indices должно увеличиться на +1 (для удаления забить на -1 и нажать ПКМ - Update). Дописываем № свежей вставленной NiNode. Если вы сделали правильно, Новая деталь встанет на указанное ей место.
  • Это если вы работаете с простыми, не содержащими Бипед объектами. Но если вы хотите одеть костлявого в мантию, вам придется прилинковать объект к “NiNode Bip01”, т.к. Мантия уже содержит скелетную привязку. А в самом файле с мантией скопировать “NiNode chest”.

BM 035.jpg

  • Все вышеизложенное относится к Бипедным объектам. Скелеты, святоши, дреморы и прочие прямоходящие товарищи. Но в случае с четвороногими (ползающими, летающими и пр.) существами дело несколько усложняется. Их модели имеют более сложную структуру. В ней видимые части модели являются отдельной от костей группой. В бипедных моделях кости и их оболочки входят в одну группу. Таким образом, новые оболочки приходится линковать не к NiTriShape-ам видимых в окне рендеринга частям модели, а к NiTriShape-ам группы Root Bone. Это несколько затрудняет поиск нужной части (NiNode – Bone X).
  • Однако и это вполне решаемо.

  • Важно: если вы одеваете вашу модель в разносторонние части (Левый и Правый наплечники, например) вам придется сделать вторую деталь с нуля. Иначе она у вас будет перевернута. Также, некоторые детали не встают точно на объект (например Шлем на череп скелета, или Усы для крысы). Их придется подгонять/позиционировать через 3dsMax.

БЛАГОДАРНОСТИ.

  1. Разработчикам NifSkope, без этой славной утилиты не было бы этой красоты.
  2. Bethesda, так любезно оставившей эти возможности движка и выпустившей плагин для 3dsMax.
  3. Товарищу Deathruler’у с славного сайта www.fullrest.ru, который первым из Российских модмейкеров нашел эту возможность.
  4. Товарищу EJ-12, который стал активно разрабатывать эту золотую жилу, выпустив на момент написания статьи 18 плагинов с использованием этих возможностей. А также активно помогал в написании этой статьи.
  5. И всем Модмейкерам, своими трудами не дающими кануть в забвение Великой Игре!

Приложение

Немного о текстурах и их форматах:

Итак, Морровинд понимает три типа текстур:

А) *.bmp - самый лажовый

Древнющий формат аж со времен Windows 3.11, может быть как с индексированными цветами - 8-мибитный (всего в палитре 256 цветов на все, аналог gif-а), так и полноцветным - 24-х битный (16777216 цветов) и, ко всему прочему, формат абсолютно без сжатия (нет, в случае 8-и битного изображения доступно RLE-сжатие, но не слишком помогает, да и хромает совместимостью) и весит на порядок больше, чем все остальное, не поддерживает прозрачность, не поддерживает mip-level's (о них дальше)... В общем, одни минусы у этого формата, пещерный век, короче.

Б) *.tga - более приемлемый

Формат видеостанций TrueVision может быть сохранен в виде:

  • 16 бит (65536 цветов) - не используется, кому сейчас нужен этот 16-тибитный цвет времен 2-й кваки?
  • 24 бита - полноцветное изображение без альфа-канала, стало быть, и без информации о прозрачности текстуры 32 бита - полноцветное изображение с альфа-каналом (для игры Morrowind имя альфа-канала обязательно Alpha 1, для других может быть любым, но, в принципе, Alpha 1 - это эталон для всех, просто не задокументированный)
  • Cжатия тоже нет, но метод сохранения данных другой, поэтому вес файлов в разы меньше аналогичных *.bmp
  • Не поддерживает мип-уровни (mip-level's)

В) *.dds - форева!

Формат DirectX - Direct Draw Surface. Также просмотр возможен с помощью XnView (мега-смотрелка, лучше ACDSee на порядок). Плюсов - масса, минусов - не отмечено.

  • Формат с отличным сжатием за счет удаления некоторой информации, которая глазом не фиксируется (или очень мало фиксируется). В общем, как и jpg, поддерживает создание мип-уровней (mip-level's) mip-maps - это уменьшенные в два раза на каждый уровень копии оригинального изображения. Чем дальше находится объект от игрока, тем меньшая по размерам текстура используется для этого объекта. C одной стороны это уменьшает нагрузку на видеокарту, с другой стороны при уменьшении текстуры происходит ее фильтрация и она будет смотреться сглаженной, а не зернистой. В случае, если большая текстура натянута на маленький объект, у текстуры 1024*1024 - 9 мип-уровней, и если объект расположен на границе видимости, для него будет применена не вся огромная текстура, а последний мип-уровень 2*2, почувствуйте разницу... - поддерживает разные типы сохранения изображения, а главное - альфа-канал, все DXT - это 24 бита на RGB-информацию и отличаются только по сохранению альфа-канала.
  • DXT1 без альфа-канала - сответственно, без прозрачности
  • DXT1 с альфа-каналом - альфа-канал сохраняется как однобитный - либо он есть, либо его нет - четкая граница между прозрачностью и непрозрачностью.
  • DXT3 - четырехбитный альфа-канал - градиент из 16 цветов, подходит для большинства текстур, у которых на краях должен быть небольшой участок полупрозрачности.
  • DXT5 - восьмибитный альфа-канал, градиент из 256 оттенков, может потребоваться для больших объектов с протяженными участками полупрозрачности от максимальной непрозрачности к полной прозрачности.


Остальные 20 вариантов сжатия текстуры нам без надобности, у них свои специфические методы применения.

Немного о Мешах (Meshes)

А) Какой 3DSMax нужен для работы с ними?

Плагин экспорта TESExporterMax4 существует в версиях для 3DSMax3 и 3DSMax4, версия для четвертого макса также работает и с пятым максом, НО в пятой версии гарантирован крах с экспортом скелетной анимации (99%) и редко скелетной привязки (одежда), а также возникают ошибки при экспорте анимации морфингом (лица) (от редактора – скелетная привязка как раз лучше в пятом работает, а вот анимация… особенно модификатор Morfer, который применяется для анимации лиц и луков, крайне проблематично - 99-100% вылет макса в Ошибку. Так что 5 - форева, 4-ка - для анимации лиц и оружия.)


Б) Как импортировать?

Есть только два пути:

Первый - NifImport - не может импортировать файлы со скелетной привязкой (не всегда правда, иногда получается), не может импортировать файлы со скелетной анимацией (анимацию никто не может импортировать), частенько глючит на мегаздоровых по размеру файлах, портит UVW-координаты текстур (отражает их по вертикали), путь к текстуре в материале надо прописывать заново, т.к. хранится только имя текстуры и ее путь относительно корневой папки Морровинда

Второй - Nifto3ds - конвертирует nif-модель в древний формат 3d-графики *.3DS, который понимается большинством 3d-редакторов - не может импортировать скелетную анимацию, разбивает все объекты сцены на "объекты по материалам" - то есть, если была одна сетка с тремя материалами - будет разбита на три части, каждая из которых имеет свой материал, не сохраняет сами материалы, даже имя текстуры не сохраняет, UVW координаты текстур вроде нормально конвертирует.

В) Как исправить UVW-координаты наложения текстуры при импорте NifImport-ом

  1. выделить модель
  2. применить к ней модификатор Unwrap UVW
  3. на командной панели в блоке Parameters модификатора нажать кнопку Edit
  4. в открывшtмся окне Edit UVWs выделить все вершины, потом выбрать в меню Tools -> Flip Vertical
  5. выбрать инструмент Move Vertical (если нажать на кнопку инструмента Move и удерживать, через секунду появится выбор из трех - Move, Move Vertical, Move Horizontal) и сдвинуть все вершины по высоте на прежнее место, т.к. после отражения они часто смещаются по вертикали относительно своего положения.

(С) Взято с сайта Фуллрест

Импорт в 3Ds и Obj и экспорт из них можно сделать при помощи Blender 3D – по существу, от его импортера ничего не страдает, кроме анимации - при смене бипеда и вообще скелетных работах бывает повреждение и она не работает после экспорта в nif (еще не совсем проясненный аспект).

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

Еще немного полезного

При экспорте, штатным модулем Bethesda:

  • Галочка напротив Controllers напрочь убивает всю анимацию, иногда бывает полезно.
  • БипедСамплРейт – влияет на размер модели в игре, помимо всего прочего.

В настройках материала 3DS Max:

  • Изменение фильтрации в настройках текстур часто дают интересные результаты, особенно если у текстуры отражения поставить NONE вместо Pyramidal – по умолчанию. Впрочем этоже можно сделать и через NifScope. См. Выше.
  • Всегда делайте резервные копии моделей, неосторожное обращение с NifSkope портит модель, приводя CS к краху. Перед заменой или добавлением модели сохраняйте ваш плагин. И, прежде чем поместить модель в мир (в окно Рендеринга), сделайте предпросмотр через Preview Window.
1

Комментарии

Авторизуйтесь, чтобы оставить новый комментарий. Или зарегистрируйтесь.