Показать сообщение отдельно
Старый 08.12.2009, 07:55   #1
активист
Золотая звезда Золотая звезда Спонсор Prosims Золотая звезда 
 Аватар для Simply_me
 
Репутация: 14119  
Адрес: Prosims, Команда Креатива
Возраст: 34
Сообщений: 2,040
Профиль на Thesims3.com
Лампочка [TS3] Создаём прозрачный пол и прозрачные предметы

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

Нам потребуется:

Шаг 1. Создаём рабочую папку - в неё мы поместим временные файлы.

Шаг 2. Открываем s3oc, File -> New (Clone)(legacy)... (в новой версии - Cloning -> Normal objects), находим предмет, который будем превращать в стекло, и проделываем необходимые для клонирования операции: Clone or Fix... -> Start -> Ok


Шаг 3. Открываем сохранённый package в s3pe: File -> Open.
Извлекаем из него все файлы с тегами (Tag) MLOD и MODL: Resource -> Export -> To file... и сохраняем их в рабочую папку. Таких файлов может быть от 2-х до 6-ти, но обычно их 4.




Шаг 4. Создаём в рабочей папке столько подпапок, сколько у нас получилось файлов в предыдущем шаге. Названия подпапок значения не имеют, но чтобы не запутаться, давайте их просто пронумеруем: "1", "2", "3" и так далее. Далее раскладываем все MLOD'ы и MODL'ы по созданным папкам: по одному файлу в каждую. Порядок не важен.


Шаг 5. Открываем папку "1", кликаем правой кнопкой мыши на файл, выбираем "Открыть с помощью..." и находим в списке S3ObjTool.exe:


В появившемся окошке кликаем на кнопку "Decompile" и указываем путь к файлу в папке "1" -> Open:




Если всё сделали верно, в правом окошке появится сообщение "No errors":


Повторите этот шаг для всех файлов MLOD и MODL в остальных подпапках.

Шаг 6. Находим файлы для редактирования. Если вы откроете сейчас любую из папок "1", "2", "3" (и далее), то заметите, что в них появилось приличное количество файлов. Какие-то из них нам нужно самую малость подправить в Блокноте. Что это за файлы, нам и предстоит выяснить. Возвращаемся к S3ObjTool, жмём MODL\MLOD Info и указываем путь к уже известному нам файлу в папке "1":


Справа появилась некая информация:


Ищем Group с самым большим значением Faces (У меня это Group 0). Под этой строчкой находится еще одна - MTST. А уже под ней мы видим несколько block - у каждого свой номер. Вот файлы под этими номерами нам и нужны. Открываем папку "1" и находим в ней эти самые block (.mtlsrc), которые нам показала программа. В моём случае таких файлов 3:


Кликаем правой кнопкой мыши на первый нужный нам block и выбираем: Отправить... -> Блокнот:


И вот, видим содержимое файла:


Этот код нам и предстоит править. Но для начала нужно повторить операцию Отправить -> Блокнот для всех нужных нам block в папке "1" и вернуться к S3ObjTool: снова кликаем по MLOD\MODL Info, но на этот раз указываем путь к файлу в папке "2". Ищем в правом окошке Group с самым большим значением Faces, находим в папке "2" показанные файлы block и вновь повторяем "Отправить" -> "Блокнот".

В каких-то ситуациях файлов block может не быть вообще. Как здесь:


В этом случае смотрим на значение Matl_block. На скриншоте выше Matl_block = 1 - это значит, что в папке нам нужно искать файл под названием "...block01.mtlsrc".
В конце концов, у вас должно быть открыто от 2-х до 8-ти окошек Блокнота с текстовым содержимым.

Шаг 7. Переходим в одно из окон Блокнота (сoветую запомнить номер открытого в нем block'а), жмём Ctrl + A, копируем один из следующих кодов и вставляем вместо выделенного текста:

Неперекрашиваемая текстура (стекло останется в игре только того цвета, что мы зададим ему в следующем шаге):

Код:
; decompiled with S3ModlD V1.00 - by Wesley Howe
MATD 0103
MtlName 0x920790DF
ShaderName GlassForObjectsTranslucent
MTNF 12
UVScales 1 3 0.000030518509 0.000000000000 0.000000000000
EdgeDarkening 1 1 0.000000000000
NormalUVScale 1 2 1.000000000000 1.000000000000
RefractionDistortionScale 1 1 0.000000000000
NormalMapScale 1 1 1.000000000000
Shininess 1 1 20.000000000000
DiffuseUVScale 1 2 1.000000000000 1.000000000000
Specular 1 3 0.500000000000 0.500000000000 0.500000000000
SpecularUVScale 1 2 1.000000000000 1.000000000000
Diffuse 1 4 0.321782201529 0.321782201529 0.321782201529 0.141975298524
FresnelOffset 1 1 0.500000000000
Transparency 1 1 1.000000000000
Перекрашиваемая текстура (стеклу можно задать узор в Create - A - Style):

*данный код пока только проверяется, гарантии его работы на всех предметах нет*

Код:
; decompiled with S3ModlD V1.00 - by Wesley Howe
MATD 0103
MtlName 0xE01A0BB8
ShaderName GlassForObjectsTranslucent
MTNF 21
Transparency 1 1 1.000000000000
DiffuseUVSelector 1 3 0.000030518509 0.000000000000 0.000000000000
UVScales 1 3 0.000030518509 0.000000000000 0.000000000000
EdgeDarkening 1 1 0.000000000000
SpecularUVSelector 1 3 0.000030518509 0.000000000000 0.000000000000
SpecularMap 4 4 30000003 00000000 00000000 00000000
MaskWidth 2 1 00000200
MaskHeight 2 1 00000200
SpecularUVScale 1 2 1.000000000000 1.000000000000
DiffuseMap 4 4 30000004 00000000 00000000 00000000
MaskWidth 2 1 00000200
MaskHeight 2 1 00000200
NormalMapScale 1 1 1.000000000000
DiffuseUVScale 1 2 1.000000000000 1.000000000000
0x449A3A67 2 1 00848484
Specular 1 3 0.495049506426 0.495049506426 0.495049506426
Shininess 1 1 20.000000000000
Diffuse 1 4 0.519999980927 0.519801974297 0.519801974297 0.802469074726
NormalUVScale 1 2 1.000000000000 1.000000000000
RefractionDistortionScale 1 1 0.000000000000
FresnelOffset 1 1 0.200000002980
Сохраняем файл с заменённым текстом (не закрываем его!): "Файл" -> "Сохранить" и копируем тот же самый код во все остальные окна Блокнота. Каждое из них также следует сохранить.

Шаг 8. Цвет.

Идём на этот сайт и выбираем из списка один из оттенков - исключительно на ваш вкус. По сути, нам от этого сайта нужны только значения Red - Green - Blue для выбранного вами цвета. Если не хотите ограничиваться выбором, представленным на сайте, можно подобрать свой цвет в графическом редакторе, к примеру, в Photoshop'е.

Я выбрала нечто под названием "brown 2":


Когда цвет выбран, и значения RGB находятся перед вами, переходим на эту страничку, вводим в указанной строчке Red - в первое окошко(#1), Green - во второе (#2), Blue - в третье (#3) и кликаем на кнопку Start:


Ниже, на чёрном фоне появился ряд новых значений RGB. Нам нужна колонка RGB 0÷1:


Разворачиваем любое из окон Блокнота и находим в тексте строчку Diffuse:


Видим в ней 4 значения. Первые три отвечают за цвет - по порядку: Red, Green и Blue.
Копируем первое число из колонки RGB 0÷1, вставляем его вместо первого числа в строчке Diffuse и дописываем к нему 7 нулей:


Таким образом, было 0.321782201529 -> изменили на 0.933330000000.

Повторяем то же самое для 2-го и 3-го числа в колонке RGB 0÷1 - второе вставляем в Блокнот на место второго и дописываем 7 нулей, третье на место третьего - тоже приписываем 7 нулей:




4-е число в этой строке отвечает за прозрачность текстуры. Чем оно меньше, тем более прозрачным получится предмет. Например, при значении 0.100000000000, цвет стекла практически неразличим, а при значении 0.800000000000 цвет остаётся достаточно насыщенным.

Сохраняем файл: "Файл" -> "Сохранить".

Копируем строчку Diffuse целиком и вставляем в каждое окно Блокнота вместо такой же строчки. Еще раз сохраняем каждый из файлов ("Файл" - "Сохранить") и закрываем группу целиком.

Шаг 9. Собираем объект.

Снова понадобится S3ObjTool. Кликаем Recompile и указываем по очереди путь ко всем файлам в папках, которые мы создавали в шаге 4.


S3ObjTool можно закрыть. Разворачиваем s3pe и импортируем в package изменённые MLOD'ы и MODL'ы: Resource -> Import - From file... -> выбрать файл с иконкой S3ObjTool.




После каждого удачного импорта в списке окажется новый зачёркнутый файл:


После того, как импортировали в package все файлы из подпапок, сохраняем oбъект: File -> Save


Закрываем s3pe и запускаем s3oc: Open (Fix) -> сохранённый package.


Ждём полной загрузки и дважды кликаем на название:


Теперь можно изменить детали вашего объекта и добавить превью, которое будет отображаться в каталоге предметов:
  • Catalog Name - название предмета
  • Catalog Desc. - описание предмета
  • Price - цена
  • Размер иконки не должен превышать 128х128px, её фон должен быть прозрачным, формат - png.

Готово? Жмём Start и терпеливо ждём. Как только появилось окошко "Ok", можно поздравить себя, закрыть s3oc, скопировать packagе в папку Packages (подробнее об этом...) и, скрестив пальцы, запустить игру.
Стекло само по себе выглядит замечательно. А если слегка поэкспериментировать с освещением, можно добиться чего-нибудь интересного:




*стекло на втором скрине - измененный ковер 4х4*

Коврик, использованный в уроке, можно скачать здесь, ванну - здесь. Большая просьба: не распространять нигде, кроме prosims.ru.
Чтобы получить эффект, как на 2-м скрине, нужно:

- удалить напольное покрытие (в нужной части комнаты);
- положить стеклянный ковер (находится в декоре) - использовать чит: moveobjects on;
- края ковра (между ними и плитками пола останется небольшой просвет) застелить напольным покрытием.
__________________

Последний раз редактировалось Simply_me, 08.12.2009 в 20:12.
Simply_me вне форума   Ответить с цитированием