game:cities:cities_skylines:moding:prop

Это старая версия документа!


Создание Prop (Вспомогательных объектов) в Cities Skylines

Полный гайд по созданию 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-развертки с видимой горизонтальной мозаикой внизу.


Для основной сетки можно использовать UV-развертку за пределами области 0–1 (основной тайл), чтобы можно было несколько раз развернуть всю текстуру на одной грани.

Основная модель: допускается тайлинг (за пределы 0–1 UV)
LOD: строго в пределах 0–1, без наложений

Для сетки LOD UV-развертка должна находиться в диапазоне от 0 до 1 (основная плитка) на UV-карте. Развертка по плиткам не допускается. Это связано с тем, что в игре все текстуры LOD объединяются в одну текстуру, называемую атласом, поэтому при неправильном UV-развертывании текстура вашего LOD будет накладываться на текстуру какого-нибудь другого случайного объекта.

UV-развертка для сетки LOD с использованием автоматического развертывания в 3ds Max. Не перекрывает и не выходит за пределы основного фрагмента — хорошо подходит для запекания.

Точка отсчета или начало координат — это центральная точка на земле, куда будет установлен реквизит. Обычно она обозначается красной/зеленой/синей осью.
Точка опоры (обычно на земле). В Blender применяйте «Apply Rotation & Scale».
Убедитесь, что вы экспортируете один объект без поворота или масштабирования.
Это можно сделать с помощью «Применить поворот и масштабирование» в Blender или «Сбросить X-форму» в 3ds Max и экспортировать только выбранный объект.
Синий канал цвета вершин определяет поведение снега на зимних картах: 0 означает, что снег не будет виден.
Цвета вершин также используются в определенных шейдерах, таких как AnimUV для прокрутки или многокадровой анимации или PropRotating для анимации вращения.

Рисование вершин в 3ds Max.



Канал 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 всегда включает подсветку в зависимости от рассеянности. Не рекомендуется смешивать два разных типа подсветки в одной текстуре, поскольку это может создать проблемы с наложением.

Пример зеркальной карты, показывающей высокие значения для Windows и очень низкие для остальных.

Коэффициент отражения, значения яркости (выше 80% или 205 RGB) станут «окнами», через которые будет виден искусственный внутренний пол.
Зеркальный блик от солнца очень большой и яркий, поэтому вы можете захотеть использовать очень низкую (0-10%) зеркальность для поверхностей, обращенных вверх, например крыш.
Если вы не импортируете зеркальную карту, по умолчанию она будет без зеркальности.

Переходы между различными значениями зеркальности приводят к появлению артефактов на карте нормалей, и наоборот, даже если карта нормалей не импортирована.

Пример карты нормалей, показывающей плоские окна.

Также иногда называемая рельефной картой, добавляет искусственную глубину или форму, изменяя вид освещения.

Это можно сделать на основе карты diffuse или карты высот (более яркие цвета будут лучше смотреться вытянутыми) с помощью онлайн-генератора карт нормалей , плагина photoshop, такого как xNormal , или автономного программного обеспечения, такого как CraziBump .

Генератор карты нормалей должен быть настроен на + X + Y, что означает, что инверсии цветовых каналов не требуются. Подробнее читайте в статье о карте нормалей .

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

Если вы не импортируете карту нормалей, по умолчанию она будет плоской - без выпуклостей.

Проблема: карты нормалей отображаются неправильно, если используется функция поворота сетки импортера ресурсов.

Проблема: значение карты нормалей по умолчанию равно 0,5, что невозможно при использовании 127 (слева) или 128 (справа). На изображении показана одна и та же плоская карта нормалей на гранях с разным поворотом/ переворачиванием в ультрафиолетовом свете.


Все импортированные 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 или других модов.


Для некоторых типов зданий нет шаблона, смотрите конкретные примеры , чтобы загрузить готовые шаблоны и инструкции.

Проверьте масштаб и ориентацию (часто Scale 100 и 3 вращения по X)
Не используйте поворот в импортере — он ломает normal map
Исправления: мод Mesh Import Rotation Tangents Fix
Свет, частицы и их позиционирование
Create Ruining — добавляет «проплешину» на земле
Use Color Variations — для работы карты цвета
Max/Min Scale — случайный масштаб
Редактируются вручную или через скрипты ModTools
ModTools: Ctrl+E (Scene Explorer), F7 (Console)
Изменение ItemClass, UI Category, UI Priority — с помощью модов от Snow\_Cat
Default — обычный prop
Fence — адаптация к ландшафту
Decal — наложение на землю
Можно добавить до 3 вариаций с вероятностью
Основной prop получает остаток вероятности (100% - сумма вариаций)
Вариации также появляются в меню отдельно
m\_illuminationBlinkType — тип анимации подсветки
m\_specialPlaces — места для NPC
m\_parkingSpaces — парковка
Filename — без пробелов, спецсимволов
Asset Name — название в игре
Snapshot — иконка в Content Manager (можно 1×1 px)
Thumbnail / Tooltip — 109×100 и 492×147 соответственно
 %LocalAppData%\Colossal Order\Cities_Skylines\Addons\Assets
Через Content Manager → Assets → Share
Измените превью, описание, добавьте коллекции, DLC и пр.
Максимальный превью размер: 512×512 (Steam ресайзит до 437×437)
Подпишитесь на свой ассет
Название файла и ассета должно совпадать с оригиналом!
Иначе пропадёт из сохранений или даже сломает сейв (особенно сети)
Неизменяемое скрытое имя, используется в сейвах
Локальный: `filename.Asset Name_Data`
Workshop: `SteamID.Asset Name_Data`
Publish Multiple Assets as a Single Workshop Item
Prop Variations
Decide Color Variations Ingame
  • game/cities/cities_skylines/moding/prop.1773654013.txt.gz
  • Последнее изменение: 2026/03/16 16:40
  • Lex