• Гость, привет и добро пожаловать! У нас было большое весеннее обновление и добавилось много новых функций и возможностей!
    Если нашел неисправность / ошибку / неверное отображение чего-либо и прочее, используй кнопку «Изменить».

S3PE Урок: Создание стеклянных/прозрачных объектов

BonaQua

Друг
Сообщения
3,613
Реакции
330
В этом уроке мы научимся создавать стеклянные/прозрачные объекты.​

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

  • s3pe
  • s3oc
  • Блокнот
  • Object Tool
  • Подключение к интернету

1
Создаём папку, в которую поместим временные файлы.Запускаем программу s3oc, выполняем команду File -> New (Clone)(legacy) или Cloning -> Normal objects (в зависимости от версии Вашей программы). Находим предмет, который будем делать стеклянным и выполняем команду Clone or Fix... -> Start -> Ok



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


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


4
Выбираем папку 1, кликаем по файлу правой кнопкой мыши и выбираем функцию Открыть с помощью... - S3ObjTool.exe:


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


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


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

8
Если вы откроете сейчас любую из созданных вами папок, то увидите очень приличное количество новых файлов. Кое-какие нам нужно будет подправить в блокноте. но для начала нужно выяснить какие. Возвращаемся в S3ObjTool, жмём MODL\MLOD Info и указываем путь к уже известному нам файлу в папке "1":


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

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


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


11
Видим следующее:

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

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

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

13
Переходим в одно из окон Блокнота (с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​
14
Сохраняем файл с заменённым текстом (не закрываем его!): Файл -> Сохранить и копируем тот же самый код во все остальные окна Блокнота. Каждое из них также следует сохранить.

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



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



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



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



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



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




4-е число в этой строке отвечает за прозрачность текстуры. Чем оно меньше, тем более прозрачным получится предмет. Например, при значении 0.100000000000, цвет стекла практически неразличим, а при значении 0.800000000000 цвет остаётся достаточно насыщенным.
21
Сохраняем файл: Файл -> Сохранить. Копируем строчку Diffuse целиком и вставляем в каждое окно Блокнота вместо такой же строчки. Еще раз сохраняем каждый из файлов (Файл - Сохранить) и закрываем группу целиком.

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



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




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



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



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



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

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



Примечания

  • Стекло на втором скрине - измененный ковер 4х4*
  • Коврик, использованный в уроке, можно скачать здесь, ванну - здесь. Большая просьба: не распространять нигде, кроме prosims.ru.
  • Чтобы получить эффект, как на 2-м скрине, нужно:
    • удалить напольное покрытие (в нужной части комнаты);
    • положить стеклянный ковер (находится в декоре) - использовать чит: moveobjects on;
    • края ковра (между ними и плитками пола останется небольшой просвет) застелить напольным покрытием.
 
Последнее редактирование:
Сверху Снизу