Показано с 1 по 13 из 13

Тема: Туториал: Изменение свойств материала

  1. #1
    Sims-модератор Аватар для kazarin
    Регистрация
    31.08.2008
    Сообщений
    4,428
    Записей в блоге
    5
    Спасибо
    я - 637; мне - 1,088

    Туториал: Изменение свойств материала

    Изменение свойств материала
    Автор: Jasana

    В этом туториале рассказывается, как:
    - изменить свойства материала - сделать его прозрачным, отражающим, анимированным, рельефным
    - сохранить несколько перекрасок в одном пакадже
    Я предполагаю, что вы уже умеете перекрашивать предметы.

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

    Вам потребуется:
    - SimPe
    - любая графическая программа

    Содержание

    1. Начинаем работу. О возможности сделать предмет рельефным.
    2. Ресурсы TXTR, TXMT, MMAT.
    3. Материал - простейший.
    4. Материал - текстурированный.
    5. Материал - рельефный.
    6. Материал - металл (отражающий).
    7. Материал - рельефный и отражающий.
    8. Материал - стекло.
    9. Материал - полупрозрачный.
    10. Материал - дырчатый.
    11. Материал - анимированный.
    12. Замечания.

    Скачать туториал в формате docx
    Скачать туториал в формате doc

    Туториал написан для тех, кто уже умеет перекрашивать предметы! Некоторое представление о интерфейсе СимПе тоже не помешает.
    Вопросы по туториалу задавайте в теме Вопросы по работе с SimPe.
    Последний раз редактировалось Дюкаша; 18.09.2019 в 07:02.
    Резервное копирование спасёт мир ©
    Мои работы и туторы TS2 ~ Мои работы и туторы TS4 ~ Мой ЖЖ

  2. Сказали спасибо 6 раз(а):


  3. #2
    Sims-модератор Аватар для kazarin
    Регистрация
    31.08.2008
    Сообщений
    4,428
    Записей в блоге
    5
    Спасибо
    я - 637; мне - 1,088
    1. Начинаем работу. О возможности сделать предмет рельефным.

    Мы собираемся добавить предмету перекраски с различными свойствами материалов. Поскольку я человек ленивый я собираюсь сохранить все перекраски в одном пакадже, что и вам советую.
    Сразу отмечу, что не все материалы со свойствами, перечисленными в Содержании, можно сделать для любого объекта: рельеф можно добавить только тем объектам (и одёжкам), меш которых допускает рельеф; для мешей одежды есть еще одно ограничение - игры с "прозрачностью" и анимирование возможно только для не-основных слоев многослойного меша.
    К сожалению, я не могу назвать гарантированный способ узнать, будет ли рельеф работать для конкретного объекта (ну, кроме как попробовать добавить рельеф и посмотреть, будет он работать или нет); но я могу сказать, когда рельеф точно работать не будет.
    Рельеф работать НЕ будет, если в их GMDC ресурсе, на закладке Elements нет элемента BumpMapNormal. (Самый простой способ достать GMDC объекта - склонировать объект.)
    У большинства максисовских мешей рельеф не работает.
    Для самодельных мешей, рельеф будет работать только в том случае, если меш был импортирован в формате smd. Если использовался другой формат - рельефа не будет, хотя BumpMapNormal в GMDC может и быть.

    В этом туториале я буду перекрашивать декоративный предмет Ancient Transport Urn Sculpture - один из немногих. у которых рельеф все-таки есть.
    Сделайте перекраску этого предмета, и перейдем к рассмотрению ресурсов, которые мы будем менять.
    Резервное копирование спасёт мир ©
    Мои работы и туторы TS2 ~ Мои работы и туторы TS4 ~ Мой ЖЖ

  4. #3
    Sims-модератор Аватар для kazarin
    Регистрация
    31.08.2008
    Сообщений
    4,428
    Записей в блоге
    5
    Спасибо
    я - 637; мне - 1,088
    2. Ресурсы TXTR, TXMT, MMAT.

    Пакадж перекраски содержит ресурсы трех типов - TXTR, TXMT, MMAT.
    В ресурсе Texture Image (TXTR) хранится картинка текстуры.
    В ресурсе Material Definition (TXMT) хранятся различные параметры текстуры - именно их мы будем менять в этом туториале.
    Ресурс Material Override (MMAT) связывает текстуру и объект - без него ваша текстура видна не будет.
    В дальнейшем я буду пользоваться только сокращенными названиями типов ресурсов.
    На следующих скриншотах я отметила всё, с чем мы будем работать.

    Поле "1" предназначено для изменения имени текстуры (это имя ресурса в пакадже, а не имя загружаемого файла).
    Желательно, чтобы имена текстур соответствовали виду <имя объекта>-<имя части меша>-<имя текстуры>_txtr, где:
    - <имя объекта> - это общая часть начала названий всех ресурсов в пакадже
    - <имя части меша> - название части меша, для которой будет использована эта текстура
    - <имя текстуры> - любая уникальная строчка
    На самом деле, для объектов это соответствие необязательно (кажется), но удобно. Обратите внимание - в качестве разделителей используются минусы, только в конце подчеркивание.
    После каждого изменения имени обязательно нужно сделать Fix TGI - это ссылка "2". Fix TGI меняет Instance для ресурсов, а для того, чтобы игра различала ресурсы, требуется уникальность инстансов (которая обеспечивается уникальностью имен - инстансы вычисляются по именам.
    Выпадающий список "3" позволяет выбрать формат, в котором текстура хранится в пакадже. Если формат выбран неправильно, текстура может отображаться в игре неправильно.
    Форматы, которые мы будем использовать:
    - Raw8Bit - для текстур рельефа
    - DXT1Format - для непрозрачных текстур
    - DXT3Format - для частично прозрачных текстур с резкими границами между областями с различной прозрачностью
    - DXT5Format - для частично прозрачных текстур с размытыми границами между областями с различной прозрачностью
    Для форматов DXT1, DXT3 допустимо использовать формат с бОльшим номером (например DXT5 вместо DXT1) - глюков не будет, но текстура - и, соответственно, пакадж - будет "весить" больше, поэтому выбирайте формат правильно. С меньшим номером (DXT1 вместо DXT3) - нельзя, потеряется прозрачность.
    После любых изменений в текстуре, не забудьте нажать Commit - отмечен стрелкой "4".

    При изменении ресурса TXMT мы будем работать с тремя подзакладками - Properties, File List и Categorized Properties. На этом скриншоте показана закладка Properties.
    Верхняя часть одинаковая для всех закладкок - поскольку относится к закладке Content. Как и в TXTR, "1" - имя ресурса, "2" - Fix TGI, которое надо сделать после изменения имени. Имена строятся по тому же принципу, что и для TXTR , только все разделители - подчеркивания.
    Отступление. Раз уж нам попался такой предмет, скажу пару слов о LOD90-версиях предметов.
    У некоторых предметов - как у нашего - есть дополнительная версия LOD90 - это упрощенная версия предмета, показывающаяся на экране соседства (Neighborhood View). У таких объектов, каждому TXMT "полноценного" объекта должен соответствовать TXMT "упрощенного" объекта, иначе объект будет показываться мерцающим синим на экране соседства. Обычно упрощенные TXMT не содержат никаких спец-свойств (как рельеф, или отражаемость, да и текстура там есть не всегда). Имя упрощенного TXMT обязательно должно быть точно таким же, как для полноценного TXMT, только в части "название части меша" должно быть добавлено lod90 - как мы видим на скриншоте.

    Вернемся к закладке Properties.
    Список "3" - список существующих параметров. Добавить параметры в список можно только с этой закладки.
    Когда какой-то параметр выделен в списке, его имя и значение появляются в полях "4". Имя и значение можно менять
    add и delete - отмечены стрелкой "5" - используются при добавлении и удалении параметров.
    Чтобы удалить параметр, надо выделить его в списке и нажать delete.
    Чтобы добавить параметр, надо нажать add - в конец списка добавится строчка, содержащая только двоеточие - эту строчку надо выделить и ввести имя и значение для нового параметра.
    Внимание - параметры читаются игрой в алфавитном порядке, и добавленный параметр не будет виден, если забыть сделать sort List - отмечен стрелкой "6".

    На закладке File List перечислены текстуры (ресурсы TXTR), использующиеся в данном TXMT. Обратите внимание - названия используемых текстур есть (и нужно будет менять) и на закладке Properties (в соответствующих параметрах), и на закладке File List.
    "1" - список используемых текстур, название выделенной текстуры показывается в поле "2", ссылки add и delete ("3") позволяют добавить и удалить строчку.

    Закладка Categorized Properties дублирует закладку Properties - все изменения параметров на любой из этих двух закладок сразу же обновляются на другой - но на текущей закладке более удобно менять некоторые значения, в особенности цвета.
    На закладке Properties цвета отображаются как три числа (красная, зеленая, синяя составляющие) в интервале от 0 до 1. на закладке Categorized Properties числа цветовых составляющих отображаются в интервале 0-255, как это делается во всех графических программах; кроме того, здесь есть маленький прямоугольник с цветом, соответствующим текущему (обновляется при переходе фокуса на другое поле); кроме того, когда фокус стоит на цветовом поле, есть возможность выбирать цвет из выпадающего списка со стандартныит цветами.

    Естественно, после любых изменений в TXMT надо не забыть сделать Commit

    "1" - список параметров, "2" - поле, в котором отображается (и меняется) выделенный параметр; "3" - кнопка Commit. "4" - кнопка Unique Instances, она есть только если добавлена панель Resource Actions; подробнее о ней я расскажу позже.
    Мы будем менять следующие поля:
    - family - уникальная строка, генератор встроен в SimPe
    - name - имя TXMT ресурса, который будет использоваться этим MMATом
    Следующие поля мы менять не будем, но на их значения стОит обращать внимание при "играх" с более сложноустроенными объектами:
    - modelName - имя CRES ресурса - он указывает на меш объекта
    - objectGUID - уникальный номер (GUID) объекта - если объект занимает несколько клеток, то это поле должно содержать GUID клетки-мастера (master tile)
    - objectStateIndex - для объектов, имеющих состояния чистое-грязное, этот параметр может отличаться, для остальных он не важен
    - subsetName - имя части (subset) меша, к которой будет применяться данный материал
    - defaultMaterial - это поле может иметь значение 1 (true) ровно для одного из материалов для части меша, указанной в subsetName - для всех добавочных перекрасок значение должно быть 0 (false), но если вы делаете новый объект - проследите, чтобы хотя бы один материал был назначен материалом по умолчанию
    Пара слов о кнопке Preview (слева от Commit) - она позволяет посмотреть, как текстура "ляжет" на объект, не запуская игру. Правда, у нее есть несколько ограничений - она не совсем корректно применяет прозрачные текстуры (точнее, не показывает то, что в игре будет видно в прозрачные "дыры"), вообще не применяет текстуры рельефа и отражения, и не всегда работает в пакаджах перекрасок - но в целом это очень полезная кнопка.

    Перейдем к изменению параметров.
    Имеющийся материал достаточно сложный - он имеет и текстуру, и рельеф, и металлический блеск - поэтому мы сделаем немного лишней работы - сначала удалим всё лишнее для получения простейшего материала, потом будем добавлять то, что удалили.
    Я изменю уникальную добавку в названии ресурсов с [Jasana-27.9.2006-82910] на tutorialTXMToptionsJasana - ну не нравятся мне эти стандартные циферки :-< Это делать не обязательно, но и не запрещается.
    Сделаем резервную копию текущего материала, чтобы иметь возможность проверять названия полей - только переименуем его, так чтоб на него не ссылался ни один MMAT - тогда игра этот ресурс видеть не будет. Нажимаем правой кнопкой мыши на "полноценном" TXMT ресурсе, выбираем Clone. Меняем имя ресурса - заменяем то, что между base_и _txmt - у меня это marble - на что угодно другое, например unused, после чего делаем Fix TGI и Commit. В дальнейшем, если я буду говорить "меняем имя TXMT" - я буду говорить о замене именно этой части.
    Материал с baselod90 в названии можно удалить - он нам не понадобится.
    Резервное копирование спасёт мир ©
    Мои работы и туторы TS2 ~ Мои работы и туторы TS4 ~ Мой ЖЖ

  5. #4
    Sims-модератор Аватар для kazarin
    Регистрация
    31.08.2008
    Сообщений
    4,428
    Записей в блоге
    5
    Спасибо
    я - 637; мне - 1,088
    3. Материал - простейший.

    Сейчас мы сделаем самый простой материал - у него не будет никаких параметров, кроме цвета. Такие материалы хорошо использовать для маленьких деталей, и для LOD90 версий.
    Переименуем имеющийся "полноценный" TXMT - например, в simple (напоминаю, не забудьте сделать Fix TGI) - и начинаем "наводить порядок" на закладке Properties:
    - удаляем все параметры с названиями, начинающимися на:
    -- stdMatAlpha (параметры прозрачности) -- stdMatBaseTexture (параметры основной текстуры)
    -- stdMatNormalMapTexture (параметры рельефа)
    -- stdMatTextureCoord (параметры анимации)
    - меняем значение stdMatEnvCubeMode на none, и stdMatEnvCubeCoef на 0,0,0, и удаляем stdMatEnvCubeTextureName (параметры металлического блеска)
    На закладке File List, удаляем все три строчки из списка.
    На закладке Categorized Properties, настроим цвета:
    - stdMatDiffCoef - цвет, которым будет "залит" предмет
    - stdMatSpecCoef - цвет ярко освещенных областей
    - stdMatSpecPower - степень использования освещенного цвета - точных значений для этого параметра не подскажу, но у блестящих предметов это число побольше, у тусклых - близко к нулю
    - reflectivity - общий коэффициент яркости
    Для материала, использующего текстуры, параметры stdMatDiffCoef и stdMatSpecCoef обычно содержат оттенки серого (чтобы не искажать цвета текстуры). Поскольку у нас текстуры нет - можем поставить что угодно.
    Итого, у меня осталось следующее (цвет я поставила 127,127,255 - оттенок голубого):

    Сделаем материал работающим.
    Во-первых, сделаем его копию для LOD90-версии объекта - склонируем, заменим в названии base на baselod90, сделаем Fix TGI.
    Во-вторых, исправим MMAT-ресурс: в поле name запишем полное название нашего TXMT с префиксом ##0x1C050000! и без суффикса _txmt - например, у меня это ##0x1C050000!sculptureurn-tutorialTXMToptionsJasana_base_simple. Commit, сохраняемся, можно посмотреть на результат в игре:
    Резервное копирование спасёт мир ©
    Мои работы и туторы TS2 ~ Мои работы и туторы TS4 ~ Мой ЖЖ

  6. #5
    Sims-модератор Аватар для kazarin
    Регистрация
    31.08.2008
    Сообщений
    4,428
    Записей в блоге
    5
    Спасибо
    я - 637; мне - 1,088
    4. Материал - текстурированный.

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

    Для начала надо сделать собственно текстуру (картинку), как - это уж ваше дело, внимание на рисовании картинки я заострять не буду, отмечу только несколько моментов:
    - для импорта картинок желательно (а с частично-прозрачными картинками прямо-таки необходимо, если не хочется геморроя с меньшими размерами) использовать NVidia DDS Utilities - если у вас их еще нет, их надо скачать, установить, и в SimPE в меню Extra->Preferences указать путь к ним; после этого картинки можно импортировать через Build DXT, не нужно будет делать update all sizes
    - желательно сохранять пропорции оригинальных текстур - в нашем случае это 1:4 - авторам меша виднее, они же делали текстурную развертку
    - о развертке - она в нашем предмете весьма оригинальная:

    Оригинального в ней то, что часть развертки расположена за пределами основного квадрата, но текстуру мы можем сделать только для основного квадрата, на остальные она "размножится" - это значит, что текстура будет обязательно симметричной.
    Тем, кто совсем не в курсе, что такое и чем полезна развертка, советую прочитать туториал с ее использованием - он для одежды, но принципы одинаковые.
    Сделанную текстуру надо импортировать - в TXTR ресурс.
    Итак, берем любой из имеющихся в пакадже TXTR (вторую можно удалить, она нам не понадобится), импортируем какую-нибудь картинку, ставим формат DXT1, меняем имя - например, мой TXTR будет называться sculptureurn-tutorialTXMToptionsJasana-base-textured_txtr - делаем Fix TGI, Commit. Скопируйте куда-нибудь название TXTR - оно вам понадобится.

    Клонируем "simple" TXMT, даем ему уникальное название - например, меняем на textured (не забываем про Fix TGI! больше напоминать не буду :р) - и добавляем следующие параметры со значениями на закладке Properties:
    - stdMatBaseTextureAddressingU = tile
    - stdMatBaseTextureAddressingV = tile
    - stdMatBaseTextureAlphaReplicate = 0
    - stdMatBaseTextureEnabled = true
    - stdMatBaseTextureName = название TXTR с новой текстурой с префиксом ##0x1C050000! и без суффикса _txtr - например, у меня это ##0x1C050000!sculptureurn-tutorialTXMToptionsJasana-base-textured
    После добавления параметров, не забываем сделать sort List.
    На закладке File List, добавляем одну строчку - копируем туда значение параметра stdMatBaseTextureName (то есть ##0x1C050000!sculptureurn-tutorialTXMToptionsJasana-base-textured).
    На закладке Categorized Properties, исправляем stdMatDiffCoef - на оттенок серого, причем близкий к белому - поскольку теперь задана основная текстура, ее цвет будет смешиваться с этим цветом - и stdMatSpecCoef - соответственно.
    Делаем Commit - TXMT готов:

    Сделаем теперь TXMT для LOD90-версии предмета - клонируем "textured" TXMT, и заменяем в названии base на baselod90. Впрочем, если текстура более-менее однотонная, можно поступить иначе - клонировать "baselod90_simple" TXMT, изменить имя на "baselod90_textured", и параметры stdMatDiffCoef, stdMatSpecCoef в соответствии с цветом объекта.

    Сделаем MMAT. Для начала, как обычно, его надо клонировать и заменить поле name на имя нового TXMT. Плюс, поскольку это не первый MMAT в данном пакадже, надо сделать еще две вещи.
    Во-первых, выберите в меню Tools->Object Tools->Hash Generator:

    В появившемся диалоге надо выбрать GUID, скопировать значение поля Hash Value и вставить его вместо значения family в новом MMAT. Commit.
    Во-вторых, сейчас у обоих MMATов одинаковые Instance, поэтому игра их будет путать. Для остальных типов ресурсов, это "лечится" с помощью Fix TGI, но для MMAT такого действия нет. Инстансы можно поменять несколькими путями, и самый простой из них - такой:
    - нажмите правой кнопкой мышки где-нибудь в верхнем ряду кнопок, и поставьте галку возле Resource Actions
    - среди добавившихся кнопок, найдите кнопку с подсказкой Unique Instances
    - выделите все MMAT (например, с помощью Shift) и нажмите кнопку Unique Instances
    Cохраняемся, этот материал готов:
    Резервное копирование спасёт мир ©
    Мои работы и туторы TS2 ~ Мои работы и туторы TS4 ~ Мой ЖЖ

  7. #6
    Sims-модератор Аватар для kazarin
    Регистрация
    31.08.2008
    Сообщений
    4,428
    Записей в блоге
    5
    Спасибо
    я - 637; мне - 1,088
    5. Материал - рельефный.

    Когда автор хочет добавить предмету небольшие впадины/выступы - например, сделать нечто из плотно прилегающих досок, или выжечь/вырезать что-то на дереве, или добавить выпуклую вышивку на ткань - у него есть два варианта: сделать эти впадины/выступы частью меша, или нарисовать их на текстуре рельефа. Второй вариант, по-моему, предпочтительнее: во-первых, экономит точки, во-вторых, позволяет делать разный рельеф в разных перекрасках. Да, текстуры рельефа работают не у всех - для них нужны достаточно хорошие видеокарты - но тех, у кого рельеф не виден, лишние пара сотен точек в меше не порадуют.
    Если на вашем компьютере рельеф не работает, эта часть - и, скорее всего, две следующие тоже - будет для вас теоретической; но даже без работающего рельефа можно делать его "вслепую", для остальных

    Для материала с рельефом нам понадобятся 2 текстуры: первая - основная, делается так же, как обычно, вторая - рельеф - должна содержать только оттенки серого, чем светлее - тем больше выступ, чем темнее - тем глубже впадина. Если вы вообще никогда не рисовали текстур рельефа - для эксперимента просто залейте всю картинку серым, и напишите где-нибудь - например, на постаменте - свое имя белым цветом.
    Для основной текстуры, клонируйте имеющийся TXTR, дайте ему уникальное имя - например, sculptureurn-tutorialTXMToptionsJasana-base-bumped_txtr - замените картинку, поставьте формат DXT1.
    Для основной текстуры, клонируйте любой TXTR, дайте ему уникальное имя - например, sculptureurn-tutorialTXMToptionsJasana-base-bumped-bump_txtr - замените картинку, поставьте формат Raw8Bit.
    Записываем названия текстур - они будут использоваться в TXMT.

    Клонируем "textured" TXMT - рельефный материал использует все параметры, которые использует текстурный, плюс дополнительные - даем ему уникальное название - например, меняем на bumped - и добавляем следующие параметры со значениями на закладке Properties:
    - stdMatNormalMapTextureAddressingU = tile
    - stdMatNormalMapTextureAddressingV = tile
    - stdMatNormalMapTextureEnabled = true
    - stdMatNormalMapTextureName = название TXTR с текстурой рельефа с префиксом ##0x1C050000! и без суффикса _txtr - например, у меня это ##0x1C050000!sculptureurn-tutorialTXMToptionsJasana-base-bumped-bump
    Меняем значение stdMatBaseTextureName = название TXTR с основной текстурой с префиксом ##0x1C050000! и без суффикса _txtr - например, у меня это ##0x1C050000!sculptureurn-tutorialTXMToptionsJasana-base-bumped
    После добавления параметров, не забываем сделать sort List.

    На закладке File List, добавляем еще одну строчку - теперь там две строки, первая должна содержать значение параметра stdMatNormalMapTextureName, вторая - stdMatBaseTextureName. Порядок важен! То есть, у меня получилось следующее (не буду делать скриншот ради двух строчек ):
    ##0x1C050000!sculptureurn-tutorialTXMToptionsJasana-base-bumped-bump
    ##0x1C050000!sculptureurn-tutorialTXMToptionsJasana-base-bumped

    Делаем TXMT для LOD90-версии предмета - поскольку применять рельеф к маленькой копии практически бесполезно, я предлагаю клонировать "baselod90_textured" TXMT и заменить там имя основной текстуры (или цвет, в зависимости от того, что вы решили сделать с этим материалом на предыдущем шаге).

    Для MMATа шаги в точности те же, что и для предыдущего материала - клонируем, заменяем name, генерируем значение для family в Hash Generator, выделяем все MMAT и применяем Unique Instances.
    Собственно, эти шаги нужно будет повторять для MMATов во всех последующих материалах, так что, думаю, можно не повторяться?

    Материал готов:
    Последний раз редактировалось kazarin; 23.08.2014 в 01:36.
    Резервное копирование спасёт мир ©
    Мои работы и туторы TS2 ~ Мои работы и туторы TS4 ~ Мой ЖЖ

  8. #7
    Sims-модератор Аватар для kazarin
    Регистрация
    31.08.2008
    Сообщений
    4,428
    Записей в блоге
    5
    Спасибо
    я - 637; мне - 1,088
    6. Материал - металл (отражающий).

    Для придания материалу металлического блеска материалу назначается дополнительная текстура - карта отражения (reflective map). Это не настоящее отражение, наверное, правильнее называть такой материал "переливающийся"? Как и с рельефом, отражение может не работать на "слабых" машинах.
    Карту отражения можно сделать и самостоятельно, но обычно используются стандартные текстуры. Получить список таких текстур можно с помощью Resource Finder:

    - "1" - переключитесь на закладку Resource Finder - если ее нет, выберите в меню Window->Resource Finder (примечание - закладка может появиться справа, а не внизу - это не принципиально)
    - "2" - в выпадающем списке Match, выберите Ends with
    - "3" - в поле ввода под выпадающим списком, напишите envcube_txtr
    - "4" - нажмите Start и подождите, пока игра найдет подходящие текстуры
    - "5" - сделайте двойной щелчок мышкой по текстуре, чтобы посмотреть ее - подождите, пока ее пакадж загрузится, и переключайтесь на закладку Plugin View, чтобы посмотреть картинку
    Выберите подходящую вам текстуру, и запишите ее название (без суффикса _txtr, как обычно).

    Я сделаю металлический материал с основной текстурой - будем клонировать "textured" TXMT - но, конечно, можно добавить карту отражения и в безтекстурный материал.
    В силу природной ленивости :-D я не стану делать для металла новую текстуру (картинку) - воспользуюсь текстурой материала из пункта 4. (Да, несколько материалов могут использовать одну и ту же текстуру, и это очень удобно впрочем, если не хотите - сделайте новую текстуру, импортируйте ее в новый TXTR, не забудьте изменить ее имя, и поставить новое имя в параметр stdMatNormalMapTextureName и на закладку File List.
    В качестве карты отражения я возьму reflectionbronze-envcube, она подходит по цвету моей текстуре.
    Итак, клонируем "textured" TXMT, меняем имя - я назову свой "reflective" - и на закладке Properties делаем следующее:
    - добавляем поле stdMatEnvCubeTextureName, и ставим его значением имя выбранной карты отражения; это единственное поле, которое нужно добавить - делаем sort List
    - меняем значение параметра stdMatEnvCubeMode на reflection
    - меняем значение параметра stdMatEnvCubeCoef - имеет смысл переключиться на закладку Categorized Properties, поскольку это цветовой параметр, и определяет он степень использования карты отражения: при черном цвете (0,0,0) отражение не применяется вообще, при белом - практически "затирает" основную текстуру; предлагаю поставить среднее значение - 127,127,127

    На закладке File List, добавляем еще одну строчку - теперь там две строки, первая должна содержать значение параметра stdMatEnvCubeTextureName, вторая - stdMatBaseTextureName. Порядок важен! То есть, у меня получилось следующее:
    reflectionbronze-envcube
    ##0x1C050000!sculptureurn-tutorialTXMToptionsJasana-base-textured

    TXMT готов, можно делать TXMT для LOD90-версии (поскольку карта отражения тоже будет малозаметна на маленькой модели, предлагаю просто клонировать и переименовать "baselod90_textured" TXMT) и MMAT (все те же шаги, что и в предыдущем материале).
    Надеюсь, разница заметна?
    Резервное копирование спасёт мир ©
    Мои работы и туторы TS2 ~ Мои работы и туторы TS4 ~ Мой ЖЖ

  9. #8
    Sims-модератор Аватар для kazarin
    Регистрация
    31.08.2008
    Сообщений
    4,428
    Записей в блоге
    5
    Спасибо
    я - 637; мне - 1,088
    7. Материал - рельефный и отражающий.

    А можно ли сделать материал рельефным и отражающим одновременно? Конечно, можно (при условии, что рельеф работает для данного меша). Сейчас этим и займемся.
    Вкратце, надо просто добавить и параметры, нужные для рельефа, и параметры, нужные для отражения. Единственная тонкость - в порядке имен текстур на закладке File List.

    Итак, берем за основу "bumped" TXMT - потому что отражение добавить быстрее, чем рельеф. Я собираюсь оставить текстуры от bumped материала (если вы хотите сделать новые текстуры - пожалуйста, шаги такие же, как в изготовлении материала с рельефом, и не забудьте поменять stdMatBaseTextureName и stdMatNormalMapTextureName в новом TXMT), и в качестве карты отражения я возьму reflectionsilver-envcube.
    Добавляем параметры отражения - точно так же, как в предыдущем материале.

    На закладке File List, добавляем еще одну строчку - теперь там три строки, содержащие значения параметров в следующем порядке:
    stdMatEnvCubeTextureName
    stdMatBaseTextureName
    stdMatNormalMapTextureName
    Еще раз повторяю - порядок важен! У меня получилось следующее:
    reflectiosilver-envcube
    ##0x1C050000!sculptureurn-tutorialTXMToptionsJasana-base-bumped-bump
    ##0x1C050000!sculptureurn-tutorialTXMToptionsJasana-base-bumped

    Как обычно, делаем TXMT для LOD90-версии и MMAT, смотрим, что получилось:
    Резервное копирование спасёт мир ©
    Мои работы и туторы TS2 ~ Мои работы и туторы TS4 ~ Мой ЖЖ

  10. #9
    Sims-модератор Аватар для kazarin
    Регистрация
    31.08.2008
    Сообщений
    4,428
    Записей в блоге
    5
    Спасибо
    я - 637; мне - 1,088
    8. Материал - стекло.

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

    Клонируем "simple" TXMT, и добавляем следующие параметры:
    - stdMatAlphaBlendMode = blend
    - stdMatAlphaMultiplier = 1
    - stdMatAlphaRefValue = 127
    - stdMatAlphaTestEnabled = 0
    Изменим значение параметра stdMatUntexturedDiffAlpha на, например, 0.4 - этот параметр определяет степень прозрачности.
    Сделаем также все те же изменения, что были нужны для металлического материала (на закладке File List будет всего одна строка, имя карты отражения).

    Как обычно, делаем TXMT для LOD90-версии (предлагаю клонировать текущий материал - прозрачность будет заметна на экране соседства) и MMAT, смотрим, что получилось:

    Ваза выглядит несколько странно - это ожидаемый результат для предмета, который не предполагалось сделать стеклянным. Например, яркий овал в середине - это дно вазы: автор меша, не предполагая прозрачности, "схалтурил", не стал делать "правильное" дно. Стеклянный материал можно сделать для любого предмета, но забавных/неприятных эффектов, подобных этому, не будет только у плоских прямоугольных мешей (например, стекол в окнах).
    Резервное копирование спасёт мир ©
    Мои работы и туторы TS2 ~ Мои работы и туторы TS4 ~ Мой ЖЖ

  11. #10
    Sims-модератор Аватар для kazarin
    Регистрация
    31.08.2008
    Сообщений
    4,428
    Записей в блоге
    5
    Спасибо
    я - 637; мне - 1,088
    9. Материал - полупрозрачный.

    Как быть, если стеклянный материал хочется сделать неоднотонным, или с разной степенью прозрачности? Очень просто - добавляем параметры, относящиеся к прозрачности, а неоднородность цвета/прозрачности сохраняем в картинке.
    Уточню один момент: сделать разные части одной текстуры частично прозрачными и совсем непрозрачными (например, ваза непрозрачная, основание стеклянное) нельзя - этого можно добиться, разделив меш предмета на части, но это требует изменения меша, что выходит за рамки данного туториала.

    Рисуем картинку, клонируем для нее TXTR, даем ему уникальное имя, импортируем картинку - формат должен быть DXT3 или DXT5.

    Клонируем "textured" TXMT - я назову клон "blend" - меняем в нем имя основной текстуры на новый TXTR, добавляем 4 параметра, которые мы добавляли в стеклянном материале. Менять stdMatUntexturedDiffAlpha не надо - если, конечно, вы не хотите сделать материал еще более прозрачным, чем задано в текстуре.

    Как обычно, делаем TXMT для LOD90-версии и MMAT, смотрим, что получилось:
    Резервное копирование спасёт мир ©
    Мои работы и туторы TS2 ~ Мои работы и туторы TS4 ~ Мой ЖЖ

  12. #11
    Sims-модератор Аватар для kazarin
    Регистрация
    31.08.2008
    Сообщений
    4,428
    Записей в блоге
    5
    Спасибо
    я - 637; мне - 1,088
    10. Материал - дырчатый.

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

    Рисуем картинку - в ней могут быть только полностью прозрачные или полностью непрозрачные участки, частично прозрачные будут преобразованы; клонируем для нее TXTR, даем ему уникальное имя, импортируем картинку - формат должен быть DXT3 или DXT5.

    Клонируем "blend" TXMT, меняем в нем имя основной текстуры на новый TXTR, меняем следующие параметры:
    - stdMatAlphaBlendMode = none
    - stdMatAlphaTestEnabled = 1
    Обратите внимание на значение параметра stdMatAlphaRefValue - он определяет, что будет прозрачным, что нет: участки с альфой меньшей, чем значение этого параметра, считаются полностью прозрачными, участки с большей альфой - полностью непрозрачными. Значение параметра может быть в интервале от 0 до 255, 0 - полностью прозрачный участок текстуры, 255 - полностью непрозрачный. По умолчанию это значение равно 127.

    Как обычно, делаем TXMT для LOD90-версии и MMAT, смотрим, что получилось:

    Как видите, такие "фокусы" тоже будут давать странные результаты для не подготовленных к прозрачности мешах. Вырезание дырок дает хорошие результаты на тонких предметах - ширмах, заборах, занавесках.
    Резервное копирование спасёт мир ©
    Мои работы и туторы TS2 ~ Мои работы и туторы TS4 ~ Мой ЖЖ

  13. #12
    Sims-модератор Аватар для kazarin
    Регистрация
    31.08.2008
    Сообщений
    4,428
    Записей в блоге
    5
    Спасибо
    я - 637; мне - 1,088
    11. Материал - анимированный.

    Примечание: насколько мне известно, все анимационные параметры работают только для материалов типа StandardMaterial (тип материала можно посмотреть на закладке cMaterialDefinition в TXMT). Такой тип материала стоит у объектов и (если не стоит, то можно поставить) дополнительных слоев в мешах одежды; для основного слоя одежды анимацию в материале сделать нельзя.
    Есть несколько способов анимировать текстуру, мы рассмотрим простейший - покадровый.
    Внимание: все текстурные анимации работают только в режиме игры не на паузе; на паузе, или в режиме покупки/постройки, анимация останавливается.

    Начнем с рисования картинки.
    Картинка для анимированного материала должна быть подготовлена специальным образом: кадры должны быть расположены рядом друг с другом, обычные анимированные изображения не подойдут. То есть, например, если для обычной текстуры вы используете картинку размером 128х128, и хотите сделать анимированную текстуру с 8 кадрами, у вас есть 2 варианта:
    - сделать картинку размером 128х1024, и разместить на ней кадры в 1 ряд, в порядке 1-2-3-4-5-6-7-8)
    - сделать картинку размером 256х512, и разместить на ней кадры в 2 ряда, в порядке верхний ряд 1-2-3-4, нижний ряд 5-6-7-8
    Как видите, анимирование материала всегда приводит к большему размеру картинки, так что не делайте слишком большого количества кадров.
    Не забывайте также, что длина и ширина картинки, импортируемой в TXTR ресурс, должны быть степенью двойки - т.е. например 128, 256, 512, 1024, 2048 - то есть количество кадров не может быть произвольным - как минимум оно будет чётным.
    Для нашего объекта, предлагаю сделать анимацию в 4 кадра - просто сделать и копии любой из использовавшихся картинок, расположить их в ряд одну за другой, и поменять оттенок (Hue) разным копиям. Вот (уменьшенный) пример моей картинки (обычная была 256х1024, картинка для анимированной текстуры - 1024х1024):

    Интересный момент, выяснившийся в процессе написания этого туториала - для конкретно этого объекта, анимировать вазу проблематично из-за того, что ее развертка не помещается в положенный квадрат. Хотя этот квадрат и сужается до размера кадра, "размножается" вся текстура, в результате чего фрагменты вазы за пределами квадрата получают текстуры предыдущего и следующего кадра. Если хотите, попробуйте поменять оттенок для всего кадра, посмотрите, как это выглядит.
    Как обычно, клонируем TXTR, даем уникальное имя, импортируем картинку - я использую непрозрачную картинку, поэтому формата DXT1 достаточно.

    Клонируем "textured" TXMT - я назову клон "animated" - меняем в нем имя основной текстуры на новый TXTR, добавляем следующие параметры:
    - stdMatTextureCoordAnimMode = tile
    - stdMatTextureCoordAnimNumTiles = 4,1 - значение этого параметра - два числа, разделенных запятой - количество кадров по горизонтали, количество кадров по вертикали
    - stdMatTextureCoordTfAnimOrigin = 0.5,0.125 - два числа, определяющих координаты середины начального кадра, значения от 0 до 1 - сначала по вертикали, потом по горизонтали; чтобы определить эти значения, разделите 0.5 на количество кадров в соответствующем направлении (обратите внимание, порядок горизонталь/вертикаль в этих двух параметрах разный!)
    - stdMatTextureCoordTileAnimSpeed = 2 - скорость анимации количество кадров в секунду

    Делаем TXMT для LOD90-версии - анимация не работает на экране соседства, поэтому используйте обычный текстурный материал - и MMAT, смотрим, что получилось:
    Резервное копирование спасёт мир ©
    Мои работы и туторы TS2 ~ Мои работы и туторы TS4 ~ Мой ЖЖ

  14. #13
    Sims-модератор Аватар для kazarin
    Регистрация
    31.08.2008
    Сообщений
    4,428
    Записей в блоге
    5
    Спасибо
    я - 637; мне - 1,088
    12. Замечания.

    Все свойства, рассмотренные в этом туториале, можно использовать совместно - то есть можно, например, сделать дырчато-рельефный материал, или металлическо-анимированный - надо просто добавить и настроить параметры, соответствующие выбранным свойствам.
    Чтобы убрать лишнее свойство, не обязательно полностью удалять относящиеся к нему параметры - можно просто отключить свойство определенным параметром, например, основную и рельефную текстуры можно отключить, поставив значение false параметрам stdMatBaseTextureEnabled и stdMatNormalMapTextureEnabled, соответственно. Обычно материалы содержат много неиспользующихся параметров - например, параметры анимации, которые не рассматриваются в этом туториале.
    В туториале освещены не все возможные манипуляции с материалом - изучайте, экспериментируйте, делитесь результатами
    Резервное копирование спасёт мир ©
    Мои работы и туторы TS2 ~ Мои работы и туторы TS4 ~ Мой ЖЖ

  15. Пользователь сказал cпасибо:


Похожие темы

  1. Туториал: Изменение игровых мешей (Tutorial: Modifying a TS3 Mesh)
    от Фаина в разделе The Sims 3: Изготовление скинов и предметов
    Ответов: 7
    Последнее сообщение: 14.10.2011, 23:33
  2. [ТУТОРИАЛ] Изменение свойств материала (рельеф, прозрачность, металл, анимирование)
    от Jasana в разделе The Sims 2: Изготовление скинов и предметов
    Ответов: 69
    Последнее сообщение: 19.04.2008, 10:46

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •