Полный гайд по созданию Prop-ассетов: от 3D-модели до публикации в Steam Workshop. Основано на оригинальной документации CSLModding.
Это 3D-модель, видимая вблизи. Содержит вершины, UV-развёртку, нормали, цвета и треугольники. 3D-модель реквизита, которая будет видна, когда камера окажется рядом с ней. Фактический файл сетки содержит вершины (их координаты, UV-развертку, нормали и цвета) и треугольники.
Создаётся в программах для 3D-моделирования, таких как Blender, 3ds Max, Maya или SketchUp.
Рекомендуется придерживаться разумного количества треугольников в зависимости от размера и детализации вашей модели. Для справки вы можете посмотреть примеры ванильных пропсов или ресурсов от других авторов.
Лимит: 65536 вершин
Проверка: мод Mesh Info от SamsamTS
Абсолютный предел для сетки — 65 536 вершин.
Треугольное количество ванильных реквизитов.
Вы можете использовать Mesh Info от SamsamTS для проверки количества треугольников в ресурсах.
LOD (Level of Detail) — упрощённая модель для отображения издалека.
LOD — это уровень детализации. Это сетка, которая видна на расстоянии. Она должна быть максимально простой. Реквизит обычно очень маленький, поэтому достаточно модели с 1–6 треугольниками.
Если вы не предоставите сетку уровней детализации, игра попытается сгенерировать ее автоматически, что может привести к визуальным проблемам, поэтому настоятельно рекомендуется создать собственную сетку уровней детализации.
* Очень простая: 1-6 треугольников
* Если не указана — игра сгенерирует автоматически (могут быть ошибки)
Для основной сетки можно использовать UV-развертку за пределами области 0–1 (основной тайл), чтобы можно было несколько раз развернуть всю текстуру на одной грани.
Основная модель: допускается тайлинг (за пределы 0–1 UV)
LOD: строго в пределах 0–1, без наложений
Для сетки LOD UV-развертка должна находиться в диапазоне от 0 до 1 (основная плитка) на UV-карте. Развертка по плиткам не допускается. Это связано с тем, что в игре все текстуры LOD объединяются в одну текстуру, называемую атласом, поэтому при неправильном UV-развертывании текстура вашего LOD будет накладываться на текстуру какого-нибудь другого случайного объекта.
Точка отсчета или начало координат — это центральная точка на земле, куда будет установлен реквизит. Обычно она обозначается красной/зеленой/синей осью.
Точка опоры (обычно на земле). В Blender применяйте «Apply Rotation & Scale».
Убедитесь, что вы экспортируете один объект без поворота или масштабирования.
Это можно сделать с помощью «Применить поворот и масштабирование» в Blender или «Сбросить X-форму» в 3ds Max и экспортировать только выбранный объект.
Синий канал цвета вершин определяет поведение снега на зимних картах: 0 означает, что снег не будет виден.
Цвета вершин также используются в определенных шейдерах, таких как AnimUV для прокрутки или многокадровой анимации или PropRotating для анимации вращения.
Канал Blue: снег (0 = нет снега)
Используется для шейдеров (AnimUV, PropRotating)
Отсечение объекта — это когда объект исчезает, когда вы отводите взгляд от его центра.
Если ваш объект имеет небольшую высоту или ширину/длину, рекомендуется добавить невидимый треугольник большего размера, чем сама модель, чтобы в игре объект казался больше, чем на самом деле. Это снизит вероятность его исчезновения.
Если prop исчезает под определёнными углами — добавьте невидимый треугольник большего размера.
FBX (2015 года выпуска или старше) (наиболее распространенный формат) — рекомендованный
OBJ (не поддерживает цвета вершин)
DAE
Определяют цвет и свойства материала вашего объекта.
Все импортируемые основные текстуры должны иметь одинаковое разрешение.
В 3D-графике принято использовать степени двойки, то есть такие разрешения, как 1024×1024, 1024×512, 256×512, 2048×128 и т. д. Рекомендуется придерживаться этого стандарта, иначе текстура может быть повреждена из-за сжатия, что будет особенно заметно на больших расстояниях или при взгляде под острым углом. Минимально допустимое разрешение — 32×32.
Размеры текстур различных ванильных ресурсов. Разрешение указано в правом верхнем углу окна предварительного просмотра.
Убедитесь, что в настройках графики игры установлено высокое качество текстур, иначе импортированные текстуры будут иметь более низкое разрешение.
Только степени двойки: 1024×1024, 512×256, 2048×128 и т.д.
Минимум: 32×32
Все текстуры (основные и LOD) должны быть одного размера
Основной цвет и текстура вашего объекта.
В игре он будет выглядеть очень ярким, контрастным и насыщенным, поэтому обязательно уменьшите насыщенность и ограничьте самые яркие участки средне- и светло-серыми оттенками с RGB ниже 140.
Если вы не импортируете карту диффузного освещения, по умолчанию она будет белой.
Прозрачность, белый означает непрозрачный или видимый, черный означает прозрачный или невидимый. Значения серого могут влиять на то, как объект выглядит издалека или под углом.
Полупрозрачность не поддерживается, для этого вам нужно использовать шейдер rotors .
Если вы не импортируете альфа-карту, по умолчанию она будет полностью непрозрачной или полностью видимой.
Определяет, на какие части будут влиять цветовые вариации. Белый означает, что он будет затронут полностью, а черный - совсем не затронут.
Рассеянность будет умножена на изменение цвета, это означает, что результирующий цвет будет выглядеть темнее, чем исходный рассеянный.
Если вы не импортируете цветовую карту, по умолчанию она будет полноцветной, но для отображения цветов должна быть включена настройка «использовать цветовые вариации».
Здания могут иметь два разных типа освещения - рассеянное дополнительное освещение в диапазоне 0-120, которое почти никогда не используется, и случайное ночное освещение окон в диапазоне 128-255, которое используется в большинстве зданий.
Если вы не импортируете карту освещенности, по умолчанию она будет без подсветки.
Пример карты освещения, показывающей оба градиента.
192-128 в перевернутом виде (внизу)
192-255 (вверху).Цвета для случайно подсвечиваемых ночных окон:
- 192 (Нейтральный цвет фона)
- 192-128 Перевернуто (Первый набор окон)
- 192-255 (Второй набор окон)
Вы можете создать черно-белую текстуру подсветки и использовать настройку уровней для настройки выходных цветов таким образом, чтобы черный стал 192, а белый - 128 для одного набора окон, а черный стал 192, а белый - 255 для другого набора.
0-120 всегда включает подсветку в зависимости от рассеянности. Не рекомендуется смешивать два разных типа подсветки в одной текстуре, поскольку это может создать проблемы с наложением.
Коэффициент отражения, значения яркости (выше 80% или 205 RGB) станут «окнами», через которые будет виден искусственный внутренний пол.
Зеркальный блик от солнца очень большой и яркий, поэтому вы можете захотеть использовать очень низкую (0-10%) зеркальность для поверхностей, обращенных вверх, например крыш.
Если вы не импортируете зеркальную карту, по умолчанию она будет без зеркальности.
Также иногда называемая рельефной картой, добавляет искусственную глубину или форму, изменяя вид освещения.
Это можно сделать на основе карты diffuse или карты высот (более яркие цвета будут лучше смотреться вытянутыми) с помощью онлайн-генератора карт нормалей , плагина photoshop, такого как xNormal , или автономного программного обеспечения, такого как CraziBump .
Генератор карты нормалей должен быть настроен на + X + Y, что означает, что инверсии цветовых каналов не требуются. Подробнее читайте в статье о карте нормалей .
Высокая зеркальность и карта нормалей плохо сочетаются из-за сжатия, поэтому вам может потребоваться закрасить окна и другие блестящие части сплошным цветом перед созданием карты нормалей или закрасить эти части 128,128,255 на окончательной карте нормалей.
Если вы не импортируете карту нормалей, по умолчанию она будет плоской - без выпуклостей.
Все импортированные LOD-текстуры должны иметь одинаковое разрешение.
Если вы не предоставите текстуры уровней детализации, игра попытается запечь их с помощью UV-развертки вашей сетки уровней детализации, что может привести к визуальным проблемам. Поэтому рекомендуется создавать собственные текстуры уровней детализации с помощью запекания.
Diffuse (\_d) — основной цвет. Яркость не выше \~140 RGB, низкая насыщенность
Alpha (\_a) — прозрачность (чёрный = невидимый). Нет полу-прозрачности
Color (\_c) — цветовые вариации. Белый = полностью влияет
Illumination (\_i) — подсветка. Белый = максимум
Specular (\_s) — отражения. Белый = максимум. Обычно используйте до 10%
Normal (\_n) — псевдорельеф. Сгенерируйте из diffuse/height-карты. Формат: +X +Y
Используйте PNG, 8 бит/канал
Не используйте «Smaller File (8-bit)» в Photoshop — создаёт индексированное изображение
Исходные файлы примера ресурса, готового к импорту. СКАЧАТЬ
У сетки может быть любое название, но не рекомендуется использовать пробелы или подчеркивания, так как название сетки для понижающей дискретизации будет выглядеть как meshname_lod.
Текстуры должны иметь то же название, что и сетка, но с идентификатором типа текстуры после него. В результате получатся такие названия, как meshname_d.png и meshname_lod_d.png
Вам следует поместить файлы сетки и текстур в папку импорта, расположенную здесь:
%LocalAppData%\Colossal Order\Cities_Skylines\Addons\Import
Папка AppData по умолчанию скрыта, вы можете получить к ней доступ, скопировав и вставив путь в проводник или нажавWindows + Rи введя appdata.
Файлы должны находиться в:
%LocalAppData%\Colossal Order\Cities_Skylines\Addons\Import
mesh.fbx → mesh\_d.png, mesh\_s.png, mesh\_n.png и т.д.
LOD: mesh\_lod.fbx → mesh\_lod\_d.png и т.п.
В левом нижнем углу есть переключатель «загрузить существующий реквизит и декорации», он также загрузит реквизит и сети, такие как дороги / треки / дорожки, из выбранного вами шаблона, что полезно, когда вам нужно повторно импортировать уже импортированный ресурс, но вы не хотите размещать эти вещи снова.
Выбранный вами шаблон будет определять многое в вашем здании:
Все эти вещи можно изменить позже в самом редакторе или с помощью ModTools или других модов.
Для некоторых типов зданий нет шаблона, смотрите конкретные примеры , чтобы загрузить готовые шаблоны и инструкции.
После выбора сетки, в зависимости от способа ее экспорта, вам может потребоваться установить правильный масштаб и поворот, обычно требуется масштаб 100 и поворот 3 раза вокруг оси X.
Использование функции поворота сетки приведет к нарушению касательных сетки - это означает, что карты нормалей будут отображаться неправильно или не будут отображаться вообще на некоторых участках.
Чтобы исправить это, не используйте функцию поворота и убедитесь, что сетка правильно повернута перед импортом.
Если вам нужно использовать функцию поворота сетки - используйте мод исправления касательных вращения импорта сетки , чтобы исправить это.
Если вы получаете сообщение об ошибке неподдерживаемого цвета, возможно, одна из ваших текстур содержит файл размером 16 бит / канал, вам нужно изменить его на 8 бит / канал в Photoshop: Изображение> Режим> 8 бит / канал.
Если предварительный просмотр сетки не отображается или вы не можете продолжить, возможно, у вас возникли проблемы с этим, например, с несколькими объектами сетки, другими объектами, такими как манекены, камеры, источники света или слои в экспортированном файле.
Убедитесь, что ваше здание не слишком нависает над участком, так как выступающие части исчезнут, когда здание внутри участка не будет видно.
В зависимости от того, какой искусственный интеллект есть в здании, оно может иметь разную статистику, такую как потребление электроэнергии, количество рабочих, количество полицейских машин в полицейском участке и т.д.
Вы можете изменить 4 цветовых варианта, а также параметры пола, которые используются для создания поддельного интерьера для 100% зеркальных окон.
Пешеходные дорожки на железнодорожном вокзале ванильного цвета (пурпурный), соединяющие обочину с платформой.
Вы можете размещать сети, такие как дороги, железнодорожные / трамвайные пути и пешеходные дорожки.
Узнайте больше об использовании сети в конкретных случаях, таких как железнодорожные станции
Вы можете использовать - дополнительные сетевые материалы от BloodyPenguin для использования путей и других сетей в редакторе.
Вы можете разместить реквизит, такой как скамейки, фонари и антенны.
Если вы разместите опору на земле, она будет повторять рельеф местности, если здание расположено на неровной местности. Но если вы разместите его на здании, оно станет фиксированной высоты, поэтому всегда будет находиться на этой высоте относительно здания.
Вы должны использовать либо ванильный реквизит, либо пользовательские сети, опубликованные мастерской, а не локальные пользовательские, иначе они не будут отображаться подписчикам вашего ресурса.
Вы можете использовать точное позиционирование опор с помощью TPB, чтобы задать точные координаты и угол поворота опор.
Это невидимый реквизит, который обладает такими функциональными возможностями, как точки входа в здание, парковочные места или эффекты частиц дыма.
Вы можете добавлять другие здания в качестве вспомогательных к вашему основному зданию. В отличие от реквизита, они не являются ссылками на другой актив, они фактически внедряются и сохраняются в основной актив здания.
Это полезно для многофункциональных зданий или добавления деталей с использованием другого шейдера.
Опция фиксированной высоты гарантирует, что подстройка здания остается неизменной даже на неровной местности.
Субструктуры не растут на растущих объектах, они видны только в том случае, если растущие объекты размещены вручную.
Если вы только что импортировали здание для использования в качестве вспомогательного здания, вам необходимо перезагрузить игру, чтобы оно было правильно загружено и доступно в качестве вспомогательного здания.
Вы можете добавлять дополнительные сетки в виде вложенных сеток, которые появляются только при соблюдении определенных условий, например, на ванильной свалке используется несколько вложенных сеток, чтобы показать, насколько она заполнена.
Флаги - это обязательные и запрещенные условия, которые определяют, когда будет отображаться подсетка.
Существует множество флагов, и их использование не всегда очевидно, поэтому их описания могут быть неполными или не во всех случаях актуальными.
По умолчанию видны не все флаги вложенной сетки (условия), используйте мод "Флаги вложенной сетки" от TPB, чтобы отобразить все флаги в пользовательском интерфейсе редактора активов.
Активна для всех создаваемых зданий.
Неизвестно.
Вероятно, активна для зданий, которые были на карте изначально, а не созданы пользователем.
Активен для зданий, которые пользователь переименовал.
Активен для зданий, которые пользователь переименовал.
Вероятно, активна для зданий, высота которых не меняется в зависимости от изменения уровня воды.
Вероятно, связано с транспортными средствами, подъезжающими к зданию.
Вероятно, связано с выездом транспортных средств из здания.
Активен для зданий с пропускной способностью 50%, таких как кладбища, свалки, снежные свалки, склады или перерабатывающие предприятия.
То же, что и CapacityStep1, но на 100%.
Вероятно, активна для зданий, которые эксплуатируются с пониженной скоростью.
Вероятно, активна для жилых и коммерческих зданий с высокой плотностью застройки.
Неизвестно.
Неизвестно.
Вероятно, связано с ошибкой поиска пути.
Вероятно, активна для зданий во время эвакуации в случае стихийного бедствия.
Активен для зданий, строительство которых завершено.
Активна для действующих зданий.
Активна для заброшенных зданий.
Неизвестно.
Обновляется зонирование, связанное с этим.
Неизвестно, вероятно, связано с опустошением зданий.
Вероятно, активна для рухнувших зданий.
То же, что и Collapsed. Вероятно, активен для зданий, которые сгорели дотла.
Вероятно, активна для зданий, уровень которых повышается.
Связано с воспроизведением анимации на зданиях грузовой станции.
Связано с воспроизведением анимации на зданиях грузовой станции.
Связано с воспроизведением анимации на зданиях грузовой станции.
Неизвестно.
Неизвестно.
Вероятно, активна для затопленных зданий.
Неизвестно.
Вероятно, используется для зданий, которые были отмечены игроком как исторические.
Искусственный интеллект определяет, как ведет себя здание и какие ценности оно имеет.
Его можно изменить с помощью Asset AI Changer от Snow_Cat & cerebellum.
Если вам нужно функциональное декоративное здание, DecorationBuildingAI - хороший выбор.
Но если вы хотите, чтобы ваше здание можно было погружать в землю, не понижая рельеф местности - используйте BuildingAI, однако побочным эффектом является то, что оно не промокает под дождем или в снегу на зимних картах.
Содержит информацию о типе и уровне здания. Его можно изменить с помощью Asset ItemClass Changer от Snow_Cat.
Категория пользовательского интерфейса определяет, в каком меню будет отображаться ваш актив. Его можно изменить с помощью Asset UI Category Changer от Snow_Cat.
Приоритет UIPriority определяет порядок элементов в меню. Его можно изменить с помощью Snow_Cat или скрипта для изменения приоритета объекта в пользовательском интерфейсе.
По умолчанию базовая сетка расширяется до уровня земли и к ней применяется базовая текстура застройки темы карты.
При использовании шейдера здания по умолчанию части, которые меньше 0 (ground), получат базовую текстуру здания темы карты.
NoBase не заменяет подземную текстуру текстурой основания здания.
Базовая сетка все еще может быть видна, поскольку она создается при импорте для краев, находящихся ближе 5 см к 0 (ground). Можно полностью удалить базовую сетку, используя
этот скрипт.
Этот шейдер также имеет побочный эффект увеличения отражательной способности для областей с высокой зеркальностью.
Забор соответствует рельефу местности. (используется для ванильного кладбища и японского сада)
Плавающие волны в воде. (используется для Mass Transit DLC boat museum steamboat)
Некоторые шейдеры обладают специфическими скрытыми свойствами, такими как WindTurbine shader и AnimUV building shader.
- Это определяет, как должен быть размещен ваш актив:
- Придорожный
- Береговая линия
- OnWater (также отключает столкновение с водой)
- Наземный (не может быть размещен на воде)
- На поверхности (то же, что на земле, но может быть размещено на воде)
- На Terrain (то же, что на поверхности, но в воде, а не на ней)
- Береговая линия
- PathsideOrGround
Его можно изменить с помощью ModTools scene Explorer
Ctrl + E, перейдя в Tool Controller> ToolController> m_editPrefabInfo > m_placementMode.
Это используется только для растущих объектов, чтобы они росли только на углах:
- Прямой (по умолчанию)
- CornerLeft
- CornerRight
Его можно изменить с помощью ModTools scene Explorer
Ctrl + Eи перейти к Tool Controller> ToolController> m_editPrefabInfo> m_zoningMode.
В этом разделе рассматриваются некоторые конкретные типы зданий, для которых нет шаблона или которые требуют специальных инструкций. В нем также будут ссылки на использование ModTools и другие моды, упомянутые в разделе "Расширенный редактор".
Для таких зданий, как станции и гавани, рекомендуется использовать расширенный редактор зданий от BloodyPenguin, позволяющий редактировать все сегменты и автоматически размещать точки возрождения, которые используются для создания поездов, кораблей или самолетов.
Доступ к различным станциям и невидимым соединительным путям можно получить в меню «Дороги и оформление» редактора объектов с помощью дополнительных сетевых материалов BloodyPenguin, а также перемещать их с помощью Move It!.
У железнодорожной станции есть шаблон.
ля железнодорожных станций требуется железнодорожная дорожка, которая содержит пешеходные остановки в 1 метре над путями, где граждане ждут поезда. На станциях также есть невидимые пешеходные переходы, ведущие к железнодорожным путям.
У грузовой железнодорожной станции нет шаблона. Вы можете скачать готовый шаблон здесь или вы можете использовать обычный шаблон железнодорожной станции, но измените искусственный интеллект на CargoStationAI, а класс предмета - на Train Cargo Facility.
Грузовые железнодорожные станции работают с любыми железнодорожными путями, но существует специальная грузовая железнодорожная станция, на которой нет пешеходных остановочных путей. У них также есть невидимые грузовые соединительные пути, которые используются грузовыми транспортными средствами для въезда на станцию и выезда со станции.
В гавани есть шаблон.
Для гаваней требуется проход к корабельному причалу и дорожки, ведущие к корабельным причалам, а также пешеходный переход.
В Cargo harbor нет шаблона.
Вы можете скачать готовый шаблон здесь или вы можете использовать обычный шаблон гавани, но измените искусственный интеллект на CargoHarborAI, а класс предмета - на Ship Cargo Facility.
Для грузовых гаваней требуется проход к судовому причалу и дорожки для причаливания судов, а также пешеходный переход.
В аэропортах есть шаблоны.
Аэропорты используют взлетно-посадочные полосы и рулежные дорожки, как и ожидалось. Для терминалов используются пути остановки самолетов.
У станций монорельсовой дороги есть шаблоны.
Доступ к путям и дороге станции монорельсовой дороги можно получить, используя ModTools обозреватель сцен
Ctrl + Eи перейдя к Расширению 4> NetCollection> m_prefabs > Колея станции монорельсовой дороги / Надземная монорельсовая дорога средней протяженности > Plop.
У остановок канатной дороги есть шаблоны.
Доступ к сетям остановок канатных дорог можно получить, используя ModTools scene Explorer
Ctrl + Eи перейдя к Расширению 4> NetCollection> m_prefabs > CableCar Stop > Plop.
Название актива, видимое в игре, имя, которое люди должны искать.
Есть 2 разные папки, которые вы можете открыть, нажав на значки папок:
На изображении моментального снимка в правом нижнем углу. Используйте это изображение для замены снимка, вы можете заменить его изображением размером 1×1 пиксель для экономии размера файла ресурса. Это изображение будет видно только в менеджере контента. Оно также будет использоваться по умолчанию как изображение для предварительного просмотра в Steam, но вы можете изменить его отдельно при публикации.
Внизу миниатюра, с правой стороны. Используйте ее, чтобы изменить миниатюру (109×100) и всплывающую подсказку (492×147) вашего актива. Как только вы измените основную миниатюру, состояния наведения / активности обновятся автоматически.
Как только ресурс будет сохранен, файл .crp появится в локальной папке assets:
%LocalAppData%\Colossal Order\Cities_Skylines\Addons\AssetsПапка AppData по умолчанию скрыта, вы можете получить к ней доступ, скопировав и вставив путь в проводник или нажав
Windows + Rи введя appdata.
Вы можете изменить их позже в мастерской Steam Workshop.
На снимке в правом нижнем углу снова есть значок папки. Здесь вы можете изменить изображение предварительного просмотра Steam, которое является миниатюрой, видимой в steam. Максимальный размер изображения, которое будет видно, - 437×437 (на первой странице), но в Steam оно будет увеличено до 512×512, так что вам следует использовать именно этот размер.
Существует также папка content, в которой находится фактический файл активов. Вы можете вставить сюда несколько файлов .crp, если хотите загрузить пакет активов.
На странице мастерской Steam для вашего актива вы можете:
- добавьте его в коллекцию
- добавляйте изображения и видео
- добавление участников и ссылок
- добавьте необходимые предметы и DLC
- измените видимость на «только для друзей» или «приватную»
Чтобы обновить свой собственный элемент, вы должны сначала подписаться на него, тогда он появится в менеджере контента. Это не будет то же самое, что локальный ресурс, поскольку на нем будет отображаться кнопка «обновить».
Когда вы нажимаете обновить, щелкните значок папки, и теперь вы можете изменить изображение для предварительного просмотра Steam и поместить свой новый asset в папку content. При обновлении пакета не забудьте поместить все активы в папку content.
Вы также можете добавить больше активов, чтобы увеличить пакет.
Убедитесь, что ваши обновленные ресурсы сохранены с точно таким же именем, как и раньше, в противном случае оно исчезнет из сохранений ваших подписчиков, поскольку для ссылки на него игра использует внутреннее название сборного объекта. В случае сетей (дорог, треков и т.д.) Сохранение может полностью прерваться.
Сравнение локальных (вверху) и опубликованных в мастерской (внизу) названий сборных конструкций, показанных в ModTools.
Это не то, что вы можете изменить.
Это скрытое внутреннее имя, используемое для ссылки на ваш ресурс в файлах сохранения.
Именно по этой причине локальный актив - это не то же самое, что ресурс, опубликованный в мастерской.
Для локальных ресурсов: filename.Имя_данных активов
Для опубликованных ресурсов мастерской: SteamID.Имя_данных активов