Документация
Docs/ru/reference/model-format/assets.md
Ресурсы и лимиты моделей
Сгенерированный справочник. Не редактируйте напрямую. Обновите
BuildTools/ModelFormatInterface.json, затем запуститеpython BuildTools/docs_model_format.py --write.
| Индекс | Синтаксис | Токены | Композиция | Ресурсы | Анимация | Валидация | Каноническая JSON-модель | Руководство |
ModelMeshBaker запекает исходники мешей до того, как ModelInfoBaker проверяет и сериализует конкретные .fo3d.
Входные ресурсы
| Стабильный ID | Ресурс | Расширения | Назначение | Требования | Источник |
|---|---|---|---|---|---|
model-format.asset.fbx |
FBX mesh | .fbx |
Импортирует drawable hierarchy, имена material textures и skin data для mesh payload, а ModelSourceLoader извлекает source skeleton и animation clips, преобразуемые ModelInfoBaker в обязательный runtime rig. | faces должны триангулироваться, а imported face count совпадать с generated triangle count skin clusters должны помещаться в FO_MODEL_MAX_BONES mesh skin references должны разрешаться в physical mesh hierarchy source skeletons и clips должны пройти проверки конечности значений, hierarchy, counts, keys и compatibility |
Source/Tools/ModelMeshBaker.cpp, Source/Tools/ModelSourceLoader.cpp |
model-format.asset.obj |
OBJ mesh | .obj |
Импортирует static hierarchy и drawable mesh через тот же путь ufbx; отсутствующие vertex attributes получают детерминированные defaults. | для concrete model файл должен содержать хотя бы один drawable mesh OBJ подходит для static attachments и cut volumes, но не для authored skeletal animation stacks |
Source/Tools/ModelMeshBaker.cpp, Source/Tests/Test_ModelBaker.cpp |
model-format.asset.description |
Описание модели | .fo3d |
Собирает primary baked mesh с layer-selected root modifiers, child models, particles, materials, effects, cuts и animation mappings. | каждое concrete description должно разрешить directive Model файлы с basename TEMPLATE_ являются include-only и не создаются как модели |
Source/Tools/ModelInfoBaker.cpp |
model-format.asset.texture |
Текстура модели | .png, .tga, .dds |
Default diffuse textures и явные значения Texture, отличные от Parent, разрешаются относительно owning baked mesh. | каждая imported default diffuse texture должна существовать в baked resources явный target mesh для texture должен быть drawable |
Source/Tools/ModelInfoBaker.cpp, Source/Client/ModelHierarchy.cpp |
model-format.asset.effect |
Эффект модели | .fofx |
Явное значение Effect, отличное от Parent, является baked-resource path для EffectUsage::Model. | effect resource должен существовать явный target mesh эффекта должен быть drawable |
Source/Tools/ModelInfoBaker.cpp, Source/Client/ModelHierarchy.cpp |
model-format.asset.particle |
Присоединённая частица | .spk, .efk |
Layer-selected AttachParticles создаёт baked SPARK или Effekseer resource на model bone, пока значение слоя активно. | particle resource должен существовать среди baked resources ссылайтесь на baked .spk или .efk, а не на authoring source .spark или .efkproj задайте непустую Link bone: runtime-создание частицы требует её |
Source/Tools/ModelInfoBaker.cpp, Source/Client/ModelInstance.cpp |
Compile-time лимиты
Defaults взяты из generated project-interface contract. Проект может их переопределить, но client binaries, baked resources, model layer properties, shaders и packaged content должны использовать одинаковые значения.