FOnline Engine
Current master GitHub
Documentation Docs/en/reference/model-format/tokens.md

Model Description Tokens

Generated reference. Do not edit directly. Update BuildTools/ModelFormatInterface.json, then run python BuildTools/docs_model_format.py --write.

Index Syntax Tokens Composition Assets Animation Validation Canonical JSON Guide

The manifest token set is compared directly with ModelDescriptionParser::ParseToken. A new or removed parser spelling makes generation fail until this table is reconciled.

Stable ID Token spellings Category Syntax Context Stability Authoring contract Runtime effect
model-format.token.model Model structure Model <mesh.fbx|mesh.obj> description experimental Selects the primary baked mesh hierarchy and base source skeleton. The path is resolved relative to the file containing the directive; the last assignment wins. The selected mesh supplies physical bones, drawables, skinning, and default materials; ModelInfoBaker separately converts selected source clips and compatible contributed joints into the immutable runtime rig.
model-format.token.include Include structure Include <file.fo3d> [<name> <value> ...] description experimental Parses another description inline with optional %name% replacements. Include paths are relative, arguments must be paired, state is shared, and recursion is rejected. Included directives become part of the concrete description before validation and baking.
model-format.token.mesh Mesh selector Mesh <draw-bone-name|All> current link experimental Selects the drawable mesh targeted by following Texture and Effect directives. All clears the selector and targets every drawable mesh. Material overrides apply only to the selected mesh, or to all meshes when the selector is empty.
model-format.token.subset Subset selector Subset <ignored> description deprecated Obsolete compatibility spelling. The parser consumes one argument, logs a warning, and does not select a mesh. None. Replace it with Mesh; do not use it in new content.
model-format.token.layer Layer selector Layer <index-or-enum> description experimental Selects a compile-time layer slot. Selecting a layer clears the mesh selector and moves subsequent modifiers to a dummy link until Root or Attach creates an active link. The selected layer participates only when its project-provided model-layer value is non-zero.
model-format.token.value Value selector Value <integer-or-enum> selected Layer experimental Selects the exact non-zero value that activates the next Root or Attach entry. Selecting a value also clears the mesh selector and current link. A link is active only when the runtime layer array contains this exact value at the selected index.
model-format.token.root Root composition Root description or selected Layer/Value experimental Selects the default root modifier when no Layer was selected, or creates a layer/value root modifier when Layer and non-zero Value are active. The selected modifier can transform the model, change speed/materials/effects, disable meshes/layers, and apply cuts without creating a child.
model-format.token.attach Attach composition Attach <child.fo3d|child.fbx|child.obj> selected Layer/Value experimental Creates a layer-selected child-model link. The path is relative to the file containing the directive. With Link, the child is attached to one parent bone. Without Link, same-named child and parent bones are paired for a shared-skeleton attachment. A direct FBX/OBJ child has no description-level scale correction, so its static extent must stay within Baking.ModelAttachmentMinExtent and Baking.ModelAttachmentMaxExtent.
model-format.token.attach-particles AttachParticles composition AttachParticles <particle.spk|particle.efk> selected Layer/Value experimental Creates a layer-selected baked-particle link. The resource path is stored verbatim rather than relative to the description. The client creates the particle on the Link bone and removes it when the activating layer value is no longer selected.
model-format.token.link Link composition Link <parent-bone> current layer link experimental Sets the parent bone for the current non-default link. It is ignored while the parser points at the default or dummy link. A child model attaches as one object to this bone; particles require this bone. Empty child-model links do not consume it at runtime.
model-format.token.cut Cut geometry Cut <volume.fbx|volume.obj> <layer-list|All> <shape-list|All> <unskin-bone-1|-> <unskin-bone-2|-> <unskin-shape|~shape|-> current link experimental Adds one or more baked cut volumes to selected composed-mesh layers. Hyphen separates layer and shape lists; - omits unskin fields and ~ reverses the unskin shape. Combined geometry inside or outside the authored cut shapes is removed; optional paired bones drive unskin handling.
model-format.token.transform-set RotX, RotY, RotZ, MoveX, MoveY, MoveZ, ScaleX, ScaleY, ScaleZ, Speed transform <token> <finite-float> current link experimental Sets one transform axis or playback-speed multiplier on the current link. Rotation values are authored in degrees. Non-zero values multiply the model transform or speed chain. Zero means no contribution at runtime.
model-format.token.scale-set Scale transform Scale <finite-float> current link experimental Sets ScaleX, ScaleY, and ScaleZ to the same authored value. A non-zero value contributes a uniform scale transform.
model-format.token.transform-add RotX+, RotY+, RotZ+, MoveX+, MoveY+, MoveZ+, ScaleX+, ScaleY+, ScaleZ+, Speed+ transform <token> <finite-float> current link experimental Adds to one transform or speed field. When the current field is zero, the operand becomes the initial value. Includes can layer additive adjustments without requiring a preceding base assignment.
model-format.token.scale-add Scale+ transform Scale+ <finite-float> current link experimental Applies the additive rule to all three scale axes. Provides a uniform additive scale adjustment for templates and selected links.
model-format.token.transform-multiply RotX*, RotY*, RotZ*, MoveX*, MoveY*, MoveZ*, ScaleX*, ScaleY*, ScaleZ*, Speed* transform <token> <finite-float> current link experimental Multiplies one transform or speed field. When the current field is zero, the operand becomes the initial value. Includes can apply proportional adjustments while preserving zero as the runtime identity sentinel.
model-format.token.scale-multiply Scale* transform Scale* <finite-float> current link experimental Applies the multiplicative rule to all three scale axes. Provides a uniform proportional scale adjustment for templates and selected links.
model-format.token.disable-layer DisableLayer composition DisableLayer <layer[-layer...]> current link experimental Adds layer indices to the current link’s disabled-layer set. Every value is range checked. When the link is active, matching layer slots are skipped for that model instance.
model-format.token.disable-mesh DisableMesh composition DisableMesh <mesh[-mesh...]|All> current link experimental Adds drawable mesh names to the current link’s disabled set. All stores the empty wildcard. When the link is active, matching meshes in that model instance are omitted from combined geometry.
model-format.token.texture Texture material Texture <slot> <texture-name|Parent[_mesh]> current link and Mesh selector experimental Overrides one texture slot on the selected mesh or all meshes. Non-Parent names resolve relative to the current model mesh; Parent copies the active parent texture from an attached-model context. The override participates in mesh batching and texture-atlas coordinate adjustment.
model-format.token.effect Effect material Effect <effect.fofx|Parent[_mesh]> current link and Mesh selector experimental Overrides the draw effect on the selected mesh or all meshes. Parent copies the active parent effect from an attached-model context. Meshes with different effects cannot share one combined draw batch.
model-format.token.anim Anim animation Anim <state> <action> <ModelFile|animation-mesh> <clip|~clip|Base> description experimental Maps a state/action pair to a source animation clip. ModelFile selects the primary model source, ~ reverses playback, and Base selects the first source clip before conversion into the baked runtime rig. The first declaration for a pair is registered; model-specific lookup and substitutions are described in the canonical model-animation guide.
model-format.token.anim-speed AnimSpeed animation AnimSpeed <state> <action> <positive-float> description experimental Sets authored playback speed for one mapped state/action pair. The speed multiplies runtime playback and divides the common effective duration.
model-format.token.allow-animation-geometry AllowAnimationGeometry animation AllowAnimationGeometry <external-animation-file> description experimental Temporarily permits drawable geometry in one exact external Anim source while that source is repaired into a geometry-free animation file. The path resolves from the final concrete description, like an external Anim path. Validation-only: the exception is not serialized. Duplicate, unselected, duplicate-resolved, or stale exceptions fail the bake, so remove each line with the repaired source export.
model-format.token.anim-layer-value AnimLayerValue animation AnimLayerValue <state> <action> <layer> <value> description experimental Overrides one layer value whenever the exact authored state/action pair is requested. The override is applied before redundant-call detection and model composition.
model-format.token.fast-transition-bone FastTransitionBone animation FastTransitionBone <bone> description experimental Marks a validated base-model bone for immediate transition reset when a newly attached child uses that Link bone. The next body-animation track resets transition state for the marked attachment bone.
model-format.token.state-alias StateAnimEqual animation StateAnimEqual <from-state> <to-state> description experimental Defines a one-step state-animation alias. The alias is applied once before exact animation lookup and has priority over an exact source-key entry.
model-format.token.action-alias ActionAnimEqual animation ActionAnimEqual <from-action> <to-action> description experimental Defines a one-step action-animation alias. The alias is applied once before exact animation lookup and has priority over an exact source-key entry.
model-format.token.disable-shadow DisableShadow rendering DisableShadow description experimental Disables shadow rendering for every instance of the description. The model-level flag combines with the per-instance shadow toggle.
model-format.token.disable-interpolation DisableAnimationInterpolation animation DisableAnimationInterpolation description experimental Disables keyframe interpolation on the model animation controller. The registered animation controller samples without interpolation.
model-format.token.disable-backward DisableBackwardAnim animation DisableBackwardAnim description experimental Disables WalkBack and RunBack selection for movement-pose animation. Movement always uses forward walk/run and SetMoveDir also aligns look direction.
model-format.token.rotation-bone RotationBone animation RotationBone <bone> description experimental Selects the validated torso/body rotation bone and enables the movement overlay controller. Look and move directions may diverge; body and configured head bones receive directional rotation while movement/turn animations play on the overlay controller.
Start typing to search.