
Как создать пользовательский объект для игры The Sims4, используя программу TSR Workshop, с изготовлением меша и текстурной развертки в 3ds max.
Необходимые программы и материалы:
Создание объекта и текстурной развертки
1. В уроке мы рассмотрим простейший меш, например попробуем смоделировать книгу. Открываем программу 3ds max, создаем простой бокс (растягиваем его в окне Top нужных нам пропорций примерно как должна выглядеть книга).
2. Выбираем в меню Modifiers - UnwrapUWV
3. Сбоку справа откроется свиток модификатора , выбираем в нем OpenUVEditor. Откроется доп. окошко с текстурной разверткой, пока пустое.
4. Нажимаем Ctrl+A (выделить все) и в меню окошка Mapping - FlatternMapping. Это модификатор сделает развертку нашего объекта.
Конечно, здесь есть разные опции, и чем сложнее объект, чем больше опций нужно применять, так же на карте можно двигать части предметов, склеивать их и т.д. К примеру, если выбрать Mapping Unfold, получим такую развертку.Мне она нравится, я буду работать дальше с ней.
Далее в том же окошке выбираем Tools-Render UWV Template, по умолчанию он сохраняет картинку в 1024px, это для книги много, ставим 512*512 и жмем внизу на копку Render, получаем еще одно окошко с картинкой нашей карты.
Сохраняем ее в свою папку с любым названием и любым форматом, который вам нужен, я сохранила как book.jpg.
5. Закрываем все окна редактора текстурной карты, и сохраняем наш объект в формате OBJ (Кнопка М с иконкой редактора, Export, выбираем формат obj), далее еще раз Export и Done.
* Модель и текстурную развертку можно делать в любом 3d редакторе, для карты также можно использовать специальную программу UV Mapper.
Клонирование объекта в TSR Workshop
6. Открываем программу Воркшоп. Выбираем Create New Project, далее кликаем на иконку со стулом Objects (объекты).
В списке разворачиваем свиток Decor и ищем Clutter (это самые маленькие объекты в игре, предметы декора).
Берем любой, подходящий нам клон. Я взяла клон салфетницы, так как у нее квадратная тень (а нам для книги тоже нужна будет квадратная) и нет лишних групп, таких как стекло.
7. В следующем окне прописываем название нашего объекта (обязательно пишем уникальное имя), а в поле description пишем описание объекта, свое имя и т.д. Жмем Next и Done.
8. Переходим в закладу Mesh, нажимаем Export (иконка с красной стрелкой) и сохраняем меш салфетницы в свою папку в формате wso. Я назвала его "салфетница ЕА.wso"
Подгонка меша в Милкшейпе и привязка костей
9. Открываем Милкшейп. У вас должны стоять плагины для работы с wso-файлами. Если они стоят правильно, то в списке File-Import будет строчка TSRW Objects. Нажимаем на нее, открываем сохраненную салфетницу ЕА
10. Сразу же, ничего не нажимая, вновь заходим в File-Import-Waverfront OBJ и выбираем наш сохраненный в максе файл книги.
Она открылось огромная по сравнению с нашей салфетницей, потому что пропорции и координаты в максе совсем другие, нежели в игровых мешах. Сейчас уменьшим нашу книгу. Переходим в закладку Groups, в ней сейчас открыто три группы. Group_0 - это тень салфетницы, Group_1 - это салфетница, и book наша книга (но у вас может по другому называться).
Выделяем только книгу кнопкой Select
Переходим в закладку Model, нажимаем на кнопку Scale, внизу появились поля для цифр. Вбиваем в каждое 0.9 (с точкой). И начинаем нажимать кнопку Scale рядом с этими цифрами и уменьшать книгу. Четное количество раз, книга должна остаться белой. Если она у вас черная, значит нажали нечетное количество раз и поли перевернулись.
Уменьшаем книгу и двигаем к салфетнице (Двигать кнопка Move) до тех пор, пока размер нас не удовлетворит. Смотрим, чтобы книга лежала ровно на оси координат (в окне Top и Front). Приближать и двигать окна можно ЛКМ с зажатым Shift и Alt, или просто колесом мыши. Если окно "убежало", ПКМ по окну и Reset Wiew.
11. Снимаем выделение (при выбранной кнопке Select кликаем по полю любого окна). Во вкладке Groups выбираем group_1 (салфетница) и удаляем. Выделяем Group_0 и подгоняем тень под нашу книгу. Можно это делать также увеличением/уменьшением, если нужно растянуть или уменьшить только по одной оси, отключаем кнопочку с другими осями. Можно просто выделять вертексы и передвигать их кнопкой Move. В результате должно получиться примерно так, тень должна немного выходить со всех сторон меша.
12. Выделяем нашу книгу в закладке Groups (можно вместе с тенью, нажав Ctrl+A), переходим в закладку Jonts. У нас в ней должна быть одна кость 0хCD68F001. Эта кость от салфетницы.
Привязываем ее к нашему новому объекту, нажав Assign. (если этого не сделать, ваш меш будет невидим в игре)
13. Сохраняем наш меш - File-Exropt-TSRWObjects с именем book hide.wso.
В нашем случае группы клона (салфетницы) и нашей книги совпадают, т.е. группа тени идет выше, группа меша ниже. Но есть клоны, где все наоборот или несколько групп. Тогда не забудьте переставить группы местами и обязательно переименовать первую в group_0, а также следите чтобы группы с разными материалами в клоне и в вашем файле совпадали.
Экспорт меша, изготовление и замена текстурных карт
14. переходим в Воркшоп. Во вкладке Mesh выбираем кнопку с зеленой стрелкой Import и выбираем наш файл в формате wso, на вопрос в следующем окне отвечаем Да, и Ok.
15. Открываем вкладку Material и разворачиваем список текстур для группы 1 (группу 0 не трогаем, там уже занесены текстуры тени). Здесь две строчки с материалами, первая для обычного отображения объекта, вторая для горелого. Изменить нужно будет обе. Но сначала нам нужно сделать эти текстуры. Их три - DiffuseMap (основная), SpecularMap1 (карта блеска и отражений) и NormalMap (карта объема).
Мы рассмотрим в этом уроке только Диффузную карту, подробно как делать карту Спекулара можно прочесть здесь, карту Нормали здесь. Заменять все три текстуры ОБЯЗАТЕЛЬНО!
Итак, карта диффузная, задает основной цвет и текстуру предмета.
16. Открываем в Фотошопе текстурную развертку, которую мы сохранили с 3ds max. Ищем в интернете изображение книги, так чтобы было видно корешок, а также текстурку со страничками. Можно нарисовать самому, все зависит от вашей подготовки в графическом редакторе )
Я нашла вот такую симпатичную обложечку книги о Шерлоке Холмсе.
Вырезаю части и накладываю сверху по развертке. Какая часть чему соответствует, увидите опытным путем, когда добавите текстуру в Воркшоп. Можно для начала написать цифры, загрузить текстуру на книгу в Воркшопе и потом по ним ориентироваться.
Тут главно все аккуратно наложить и сохранить в формате DDS с названием book diffuse такими настройками:
Выбираем DTX1 no alpha, так как у нас нет альфа-канала, лишний вес файла не нужен. Текстуры с альфа-каналом сохраняются в DTX5 alpha.
Файл спекулар я практически сделала черным, потому что книга не должна блестеть в игре, нормаль я тоже не хочу использовать, так как у меня нет на книге элементов, которым нужно подчеркнуть объем. Я использовала нейтральную нормаль (можно скачатьздесь).
17. Возвращаемся в Воркшоп и последовательно загружаем все наши три текстуры (кнопка Edit возле каждой текстуры, затем Import), на вопрос "Применить ко всем LOD", выбираем Да (Применить ко всем).
18. Переходим на вторую строчку с материалами.
Встаем на диффуз, нажимаем также edit, но уже не загружаем снова нашу текстуру через Import (она уже добавлена в проект и загрузка ее повторно увеличит вес файла вдвое), а выбираем ее из списка текстур проекта через кнопку Browse. На вопрос применить ко всем LOD также отвечаем Да.
Заменяем тут также текстуры спекулар и нормаль, также выбирая их из списка через browse.
Меши пониженной детализации, настройка опций, экспорт в package
19. Во вкладке mesh еще есть меш пониженной детализации (medium), бывает еще меш совсем низкой детализации (low) и тени для каждого ЛОДа. Меш пониженной детализации (medium) показывается на отдалении предмета, он должен быть значительно уменьшен по полигонам от меша hide, а меш Low почти в половину от меша Medium. Это можно сделать в Милкшейпе плагином DirectX Mesh Tool, или в Блендере плагином Decimate, или в 3dsmax плагином ProOptinizer. Все завивисит от полигональности вашего меша, в данном случая у нас простой бокс и уменьшить его невозможно, поэтому я загружаю этот меш в LOD Medium. А также в обе группы SunShadow (солнечная тень) нужно загрузить меш без тени (удаляем группу group_0 у нашего объекта в Милкшейпе и сохраняем меш как book shadow.wso) Это солнечная тень, которая падает от объекта днем на улице.
После уменьшения меша плагинами, к нему нужно заново привязать кость. Для этого в Милкшеп нужно к своему уменьшенному мешу загрузить любой меш (через Import-TSRWObjects, свой готовый меш hide или меш стандартного клона), привязать кость к своему выделенному объекту и удалить вспомогательные меши.
20. В закладке Projects можно изменить цену, цвет иконки, загрузить иконку объекта, которая будет отображаться в покупке (файл 256*256 в jpg), или сменить категорию нахождения объекта в разделе Покупка.
21. Сохраняем проект - File-SaveAs (вдруг понадобится что-то изменить) и экспортируем файл в формат package - File-Export-To package с тем названием, которое писали в поле Title.
22. переносим в папку Mods, проверяем в игре.
** При моделировании объектов для игры важно не забывать общие правила креаторства и расчет полигональности для игровых объектов.
- 3d-редактор (в данном уроке 3dsmax)
- TSR Workshop (версия в уроке 2.0.202)
- Milshape 1.8.5 (с плагином wso)
- Photoshop (с плагином dds)
Создание объекта и текстурной развертки
1. В уроке мы рассмотрим простейший меш, например попробуем смоделировать книгу. Открываем программу 3ds max, создаем простой бокс (растягиваем его в окне Top нужных нам пропорций примерно как должна выглядеть книга).

2. Выбираем в меню Modifiers - UnwrapUWV

3. Сбоку справа откроется свиток модификатора , выбираем в нем OpenUVEditor. Откроется доп. окошко с текстурной разверткой, пока пустое.

4. Нажимаем Ctrl+A (выделить все) и в меню окошка Mapping - FlatternMapping. Это модификатор сделает развертку нашего объекта.

Конечно, здесь есть разные опции, и чем сложнее объект, чем больше опций нужно применять, так же на карте можно двигать части предметов, склеивать их и т.д. К примеру, если выбрать Mapping Unfold, получим такую развертку.Мне она нравится, я буду работать дальше с ней.

Далее в том же окошке выбираем Tools-Render UWV Template, по умолчанию он сохраняет картинку в 1024px, это для книги много, ставим 512*512 и жмем внизу на копку Render, получаем еще одно окошко с картинкой нашей карты.


Сохраняем ее в свою папку с любым названием и любым форматом, который вам нужен, я сохранила как book.jpg.

5. Закрываем все окна редактора текстурной карты, и сохраняем наш объект в формате OBJ (Кнопка М с иконкой редактора, Export, выбираем формат obj), далее еще раз Export и Done.

* Модель и текстурную развертку можно делать в любом 3d редакторе, для карты также можно использовать специальную программу UV Mapper.
Клонирование объекта в TSR Workshop
6. Открываем программу Воркшоп. Выбираем Create New Project, далее кликаем на иконку со стулом Objects (объекты).

В списке разворачиваем свиток Decor и ищем Clutter (это самые маленькие объекты в игре, предметы декора).

Берем любой, подходящий нам клон. Я взяла клон салфетницы, так как у нее квадратная тень (а нам для книги тоже нужна будет квадратная) и нет лишних групп, таких как стекло.
7. В следующем окне прописываем название нашего объекта (обязательно пишем уникальное имя), а в поле description пишем описание объекта, свое имя и т.д. Жмем Next и Done.

8. Переходим в закладу Mesh, нажимаем Export (иконка с красной стрелкой) и сохраняем меш салфетницы в свою папку в формате wso. Я назвала его "салфетница ЕА.wso"

Подгонка меша в Милкшейпе и привязка костей
9. Открываем Милкшейп. У вас должны стоять плагины для работы с wso-файлами. Если они стоят правильно, то в списке File-Import будет строчка TSRW Objects. Нажимаем на нее, открываем сохраненную салфетницу ЕА


10. Сразу же, ничего не нажимая, вновь заходим в File-Import-Waverfront OBJ и выбираем наш сохраненный в максе файл книги.

Она открылось огромная по сравнению с нашей салфетницей, потому что пропорции и координаты в максе совсем другие, нежели в игровых мешах. Сейчас уменьшим нашу книгу. Переходим в закладку Groups, в ней сейчас открыто три группы. Group_0 - это тень салфетницы, Group_1 - это салфетница, и book наша книга (но у вас может по другому называться).
Выделяем только книгу кнопкой Select

Переходим в закладку Model, нажимаем на кнопку Scale, внизу появились поля для цифр. Вбиваем в каждое 0.9 (с точкой). И начинаем нажимать кнопку Scale рядом с этими цифрами и уменьшать книгу. Четное количество раз, книга должна остаться белой. Если она у вас черная, значит нажали нечетное количество раз и поли перевернулись.
Уменьшаем книгу и двигаем к салфетнице (Двигать кнопка Move) до тех пор, пока размер нас не удовлетворит. Смотрим, чтобы книга лежала ровно на оси координат (в окне Top и Front). Приближать и двигать окна можно ЛКМ с зажатым Shift и Alt, или просто колесом мыши. Если окно "убежало", ПКМ по окну и Reset Wiew.


11. Снимаем выделение (при выбранной кнопке Select кликаем по полю любого окна). Во вкладке Groups выбираем group_1 (салфетница) и удаляем. Выделяем Group_0 и подгоняем тень под нашу книгу. Можно это делать также увеличением/уменьшением, если нужно растянуть или уменьшить только по одной оси, отключаем кнопочку с другими осями. Можно просто выделять вертексы и передвигать их кнопкой Move. В результате должно получиться примерно так, тень должна немного выходить со всех сторон меша.

12. Выделяем нашу книгу в закладке Groups (можно вместе с тенью, нажав Ctrl+A), переходим в закладку Jonts. У нас в ней должна быть одна кость 0хCD68F001. Эта кость от салфетницы.
Привязываем ее к нашему новому объекту, нажав Assign. (если этого не сделать, ваш меш будет невидим в игре)

13. Сохраняем наш меш - File-Exropt-TSRWObjects с именем book hide.wso.

В нашем случае группы клона (салфетницы) и нашей книги совпадают, т.е. группа тени идет выше, группа меша ниже. Но есть клоны, где все наоборот или несколько групп. Тогда не забудьте переставить группы местами и обязательно переименовать первую в group_0, а также следите чтобы группы с разными материалами в клоне и в вашем файле совпадали.
Экспорт меша, изготовление и замена текстурных карт
14. переходим в Воркшоп. Во вкладке Mesh выбираем кнопку с зеленой стрелкой Import и выбираем наш файл в формате wso, на вопрос в следующем окне отвечаем Да, и Ok.

15. Открываем вкладку Material и разворачиваем список текстур для группы 1 (группу 0 не трогаем, там уже занесены текстуры тени). Здесь две строчки с материалами, первая для обычного отображения объекта, вторая для горелого. Изменить нужно будет обе. Но сначала нам нужно сделать эти текстуры. Их три - DiffuseMap (основная), SpecularMap1 (карта блеска и отражений) и NormalMap (карта объема).

Мы рассмотрим в этом уроке только Диффузную карту, подробно как делать карту Спекулара можно прочесть здесь, карту Нормали здесь. Заменять все три текстуры ОБЯЗАТЕЛЬНО!
Итак, карта диффузная, задает основной цвет и текстуру предмета.
16. Открываем в Фотошопе текстурную развертку, которую мы сохранили с 3ds max. Ищем в интернете изображение книги, так чтобы было видно корешок, а также текстурку со страничками. Можно нарисовать самому, все зависит от вашей подготовки в графическом редакторе )
Я нашла вот такую симпатичную обложечку книги о Шерлоке Холмсе.

Вырезаю части и накладываю сверху по развертке. Какая часть чему соответствует, увидите опытным путем, когда добавите текстуру в Воркшоп. Можно для начала написать цифры, загрузить текстуру на книгу в Воркшопе и потом по ним ориентироваться.

Тут главно все аккуратно наложить и сохранить в формате DDS с названием book diffuse такими настройками:

Выбираем DTX1 no alpha, так как у нас нет альфа-канала, лишний вес файла не нужен. Текстуры с альфа-каналом сохраняются в DTX5 alpha.
Файл спекулар я практически сделала черным, потому что книга не должна блестеть в игре, нормаль я тоже не хочу использовать, так как у меня нет на книге элементов, которым нужно подчеркнуть объем. Я использовала нейтральную нормаль (можно скачатьздесь).
17. Возвращаемся в Воркшоп и последовательно загружаем все наши три текстуры (кнопка Edit возле каждой текстуры, затем Import), на вопрос "Применить ко всем LOD", выбираем Да (Применить ко всем).

18. Переходим на вторую строчку с материалами.

Встаем на диффуз, нажимаем также edit, но уже не загружаем снова нашу текстуру через Import (она уже добавлена в проект и загрузка ее повторно увеличит вес файла вдвое), а выбираем ее из списка текстур проекта через кнопку Browse. На вопрос применить ко всем LOD также отвечаем Да.


Заменяем тут также текстуры спекулар и нормаль, также выбирая их из списка через browse.
Меши пониженной детализации, настройка опций, экспорт в package
19. Во вкладке mesh еще есть меш пониженной детализации (medium), бывает еще меш совсем низкой детализации (low) и тени для каждого ЛОДа. Меш пониженной детализации (medium) показывается на отдалении предмета, он должен быть значительно уменьшен по полигонам от меша hide, а меш Low почти в половину от меша Medium. Это можно сделать в Милкшейпе плагином DirectX Mesh Tool, или в Блендере плагином Decimate, или в 3dsmax плагином ProOptinizer. Все завивисит от полигональности вашего меша, в данном случая у нас простой бокс и уменьшить его невозможно, поэтому я загружаю этот меш в LOD Medium. А также в обе группы SunShadow (солнечная тень) нужно загрузить меш без тени (удаляем группу group_0 у нашего объекта в Милкшейпе и сохраняем меш как book shadow.wso) Это солнечная тень, которая падает от объекта днем на улице.

После уменьшения меша плагинами, к нему нужно заново привязать кость. Для этого в Милкшеп нужно к своему уменьшенному мешу загрузить любой меш (через Import-TSRWObjects, свой готовый меш hide или меш стандартного клона), привязать кость к своему выделенному объекту и удалить вспомогательные меши.
20. В закладке Projects можно изменить цену, цвет иконки, загрузить иконку объекта, которая будет отображаться в покупке (файл 256*256 в jpg), или сменить категорию нахождения объекта в разделе Покупка.

21. Сохраняем проект - File-SaveAs (вдруг понадобится что-то изменить) и экспортируем файл в формат package - File-Export-To package с тем названием, которое писали в поле Title.

22. переносим в папку Mods, проверяем в игре.

** При моделировании объектов для игры важно не забывать общие правила креаторства и расчет полигональности для игровых объектов.