FOnline Engine
Current master GitHub
Документация 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 лимиты

Стабильный ID Опция проекта Runtime-константа По умолчанию Смысл
model-format.limit.layers FO_MODEL_LAYERS_COUNT MODEL_LAYERS_COUNT 30 Число slots в каждом model-layer array и исключительная верхняя граница индексов Layer, DisableLayer, AnimLayerValue и layer indices у Cut.
model-format.limit.textures FO_MODEL_MAX_TEXTURES MODEL_MAX_TEXTURES 8 Число texture slots каждого mesh и исключительная верхняя граница indices Texture.
model-format.limit.bones FO_MODEL_MAX_BONES MODEL_MAX_BONES 54 Максимальное число skin-bone matrices в одном combined draw batch.
model-format.limit.bones-per-vertex FO_MODEL_BONES_PER_VERTEX MODEL_BONES_PER_VERTEX 4 Максимальное число imported skin influences, сохраняемых на vertex до нормализации весов.

Defaults взяты из generated project-interface contract. Проект может их переопределить, но client binaries, baked resources, model layer properties, shaders и packaged content должны использовать одинаковые значения.

Введите запрос.