game:cities:cities_skylines:moding:citizen

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


Создание ассета персонажа (Citizen Asset Creation)

Введение

Этот гайд охватывает создание пользовательских персонажей для Cities: Skylines. Эти ассеты могут быть пешеходами, велосипедистами и другими типами NPC в игре. Требуются базовые знания 3D-моделирования, работы с текстурами и импортом ассетов в игру.
Используйте оптимизированную геометрию с минимальным количеством полигонов.
Убедитесь, что модель ориентирована в правильном направлении (вперёд по оси Z). Примените все трансформации перед экспортом (scale, rotation). Это 3D-модель гражданина, которая будет видна, когда камера окажется рядом с ним.

Он создаётся с помощью программ для 3D-моделирования, таких как Blender, 3ds Max, Maya или SketchUp.
Сам файл сетки содержит вершины (их координаты, UV-развертку, нормали и цвета) и треугольники. Для гражданских лиц в файле также содержатся кости скелета, к которым привязана сетка с помощью весов костей.
Горожане в игре — небольшие объекты, поэтому детали важны лишь вблизи камеры.
Рекомендуется придерживаться разумного количества треугольников в зависимости от размера и детализации вашей модели. Для справки вы можете посмотреть примеры ванильных персонажей или ассетов других авторов. Иными словами держать основной mesh в пределах 1500–2000 треугольников. Абсолютный предел для сетки — 65 536 вершин.

Основная модель и LOD ванильного персонажа..

Вы можете использовать Mesh Info от SamsamTS для проверки количества треугольников в ресурсах.

Создайте упрощённую LOD-модель с ~100–200 треугольниками. LOD автоматически подгружается на дистанции, улучшая производительность.

LOD — это уровень детализации. Это сетка, которую видно издалека. Она должна быть как можно проще. Горожане маленькие, а LOD виден только издалека, поэтому модели с менее чем 100 треугольниками может быть достаточно.

LOD не анимирован, поэтому вам не нужно импортировать для него скелет.
Вы должны подогнать свою сетку под один из доступных шаблонов каркаса, которые можно найти в этой папке:
C:\Program Files (x86)\Steam\steamapps\common\Cities_Skylines\Files\Templates
Все модели должны использовать стандартный скелет Citizens.
Экспортируйте FBX с привязанной кости rig (humanoid rig из Unity подходит).

Один из шаблонов скелета.

Вам нужно привязать сетку к костям скелета. В 3ds Max это делается с помощью модификатора кожи и добавления всех костей

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

Пример UV-развёртки с использованием видимой горизонтальной мозаики внизу.

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

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

Центр модели должен быть в ногах персонажа.
Pivot помогает правильно отображать модель в редакторе.
Точка отсчёта или начало координат — это центральная точка на поверхности. Обычно она обозначается с помощью красного/зелёного/синего маркера.
В Blender / 3ds Max: обязательно примените трансформации (Ctrl+A в Blender).
Модель не должна быть масштабирована в редакторе после импорта.
Убедитесь, что вы экспортируете одну сетку и связанный с ней скелет с правильным поворотом и масштабом, иначе вы не сможете повернуть или масштабировать своего персонажа при импорте.
Рекомендуется экспорт в `.fbx` (версия 2013 или 2014/15).
Поддержка `.obj` ограничена, скелет и анимации не сохраняются.
Основной набор: 1024×1024 (RGBA).
LOD-текстуры: 128×128 или 256×256 (зависит от детализации).
Все импортированные основные текстуры должны иметь одинаковое разрешение.
В 3D-графике принято использовать степени двойки, то есть такие размеры, как 512×512, 512×256, 256×256, 128×256 и т. д. Рекомендуется придерживаться этого стандарта, но самое главное — ширина и высота должны делиться на 32, иначе текстура будет повреждена при сжатии.

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

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

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

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

Используется для маски волос, очков, аксессуаров.
Черный = прозрачный, белый = непрозрачный.

Пример альфа-текстуры для некоторых перил и металлических балок.

Прозрачность, белый означает непрозрачный или видимый, черный означает прозрачный или невидимый. Значения серого могут влиять на то, как объект выглядит издалека или под углом.
Полупрозрачность не поддерживается, для этого вам нужно использовать шейдер rotors .
Если вы не импортируете альфа-карту, по умолчанию она будет полностью непрозрачной или полностью видимой.

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

Цветовая маска влияет на смену окраски персонажа в игре.

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

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

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

Контролирует блеск (для кожаных элементов, металла и т.д.).
Используйте серые оттенки: больше белого = сильнее отражение.
Придаёт объём и глубину.
Используйте OpenGL формат, если экспортируете из Blender.

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

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

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

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

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

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

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

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

PNG или TGA (без сжатия). Альфа-канал должен быть сохранён, если используется. Используйте формат без потерь, например .PNG.

Игра поддерживает и другие форматы, но нет смысла использовать какой-то другой. Неважно, насколько сильно сжата ваша текстура, даже если она цельная или сложная, игра преобразует её в формат DXT, так что на конечный размер не повлияет ничего, кроме разрешения.

Убедитесь, что текстура имеет разрядность 8 бит на канал, так как изображение с разрядностью 16 бит на канал невозможно импортировать. Не используйте функцию «Меньший файл (8 бит)» в окне «Экспорт в Photoshop», так как она создает изображение с индексированным цветом, а не с разрядностью 8 бит на канал.
Название должно быть коротким и уникальным. Используйте латиницу, избегайте пробелов и спецсимволов.

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

Текстуры должны иметь то же имя, что и сетка, но с идентификатором типа текстуры после него. В результате получатся такие имена, как meshname_d.png и meshname_lod_d.png

Файлы готовые к импорту.

Вам следует поместить файлы `.fbx` сетки и текстур в папку импорта, расположенную здесь:

%LocalAppData%\Колоссальный заказ\ Cities_Skylines\ Дополнения \ Импорт


Папка AppData по умолчанию скрыта, вы можете получить к ней доступ, скопировав и вставив путь в проводник или нажав

Windows + R

и введя appdata.

Выберите шаблон: “Citizen” или “Custom Citizen” в редакторе ассетов.
Подходит для всех городских жителей.
От выбранного вами шаблона будут зависеть некоторые характеристики вашего персонажа:

ИИ
пол
возрастная фаза
Анимация
скорость ходьбы
шейдер, свойства материала (варианты цвета)


Некоторые из этих параметров можно изменить позже в самом редакторе или с помощью ModTools или других модов.

Перейдите в редактор → выберите шаблон → модель будет загружена автоматически.
Убедитесь, что модель корректно отрисовывается.

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

Импорт сетки в Asset Importer.



Если вы получаете сообщение об ошибке неподдерживаемого цвета, одна из ваших текстур может иметь файл размером 16 бит / канал, вам нужно изменить его на 8 бит / канал в Photoshop: Изображение> Режим> 8 бит / канал.



Если вы получаете сообщение об ошибке неподдерживаемого цвета, одна из ваших текстур может иметь файл размером 16 бит / канал, вам нужно изменить его на 8 бит / канал в Photoshop: Изображение> Режим> 8 бит / канал.

Часто возникают при некорректной UV или Pivot.
Если модель не отображается — проверьте экспорт и текстуры.

ModTools scene explorer и консоль.

Различные вещи можно изменить с помощью

ModTools

обозревателя сцен

Ctrl + E

или запуска скриптов в консоли

F7

, или определенных модов.

Установите название ассета, категорию и описание.
Проверьте анимации (ходьба, idle).
Можно указать, где персонаж может появляться (пешеход, велосипедист).
Включите LOD и AI-настройки, если требуется.
Назначьте тип поведения (AI): житель, турист и т.д.
Устанавливает принадлежность (например, гражданский, служащий).
Название файла не влияет на отображение в игре.
Используйте уникальные префиксы (например: kazanport_citizen_01).
Название будет отображаться в игре и в мастерской.
Используйте понятное и тематическое имя.
Сделайте скриншот через редактор (F12).
Превью будет использоваться на Steam Workshop.
Все ассеты сохраняются в `\AppData\Local\Colossal Order\Cities_Skylines\Addons\Assets`.
В редакторе нажмите “Опубликовать”.
Заполните все поля: название, описание, теги.

Кнопка Поделиться в контент-менеджере.

После того, как вы сохранили актив и перезагрузили игру, вы можете опубликовать его.
Перейдите в content manager> assets и найдите свой ресурс, затем нажмите Поделиться.

Название и описание

Сделайте описание понятным, с упоминанием особенностей.
Вы можете изменить их позже в мастерской Steam Workshop.
Steam использует первое изображение как превью.
Все дополнительные файлы будут загружены вместе с ассетом.

Предварительный просмотр изображений и содержимого в Steam

Окно публикации и папка с содержимым.

На снимке в правом нижнем углу снова есть значок папки. Здесь вы можете изменить изображение предварительного просмотра Steam, которое является миниатюрой, видимой в steam. Максимальный размер изображения, которое будет видно, - 437×437 (на первой странице), но в Steam оно будет увеличено до 512×512, так что вам следует использовать именно этот размер.

Существует также папка content, в которой находится фактический файл активов. Вы можете вставить сюда несколько файлов .crp, если хотите загрузить пакет активов.

Мастерская Steam

Убедитесь, что ассет виден в игре и не конфликтует с другими.
На странице мастерской Steam для вашего актива вы можете:

- добавьте его в коллекцию
- добавляйте изображения и видео
- добавление участников и ссылок
- добавьте необходимые предметы и DLC
- измените видимость на «только для друзей» или «приватную»

Чтобы обновить свой собственный элемент, вы должны сначала подписаться на него, тогда он появится в менеджере контента. Это не будет то же самое, что локальный ресурс, поскольку на нем будет отображаться кнопка «обновить».



Когда вы нажимаете обновить, щелкните значок папки, и теперь вы можете изменить изображение для предварительного просмотра Steam и поместить свой новый asset в папку content. При обновлении пакета не забудьте поместить все активы в папку content.



Вы также можете добавить больше активов, чтобы увеличить пакет.

Убедитесь, что ваши обновленные ресурсы сохранены с точно таким же именем, как и раньше, в противном случае оно исчезнет из сохранений ваших подписчиков, поскольку для ссылки на него игра использует внутреннее название сборного объекта. В случае сетей (дорог, треков и т.д.) Сохранение может полностью прерваться.

Измените ассет → нажмите “Обновить” в редакторе.
Старый ассет будет заменён, ссылка останется прежней.
Не меняйте Prefab Name при обновлении — это нарушит совместимость.

Сравнение локальных (вверху) и опубликованных в мастерской (внизу) названий сборных конструкций, показанных в ModTools.

Это не то, что вы можете изменить.

Это скрытое внутреннее имя, используемое для ссылки на ваш ресурс в файлах сохранения.

Именно по этой причине локальный актив - это не то же самое, что ресурс, опубликованный в мастерской.

Для локальных ресурсов: filename.Имя_данных активов

Для опубликованных ресурсов мастерской: SteamID.Имя_данных активов

  • game/cities/cities_skylines/moding/citizen.1755601215.txt.gz
  • Последнее изменение: 2025/08/19 18:00
  • Lex