Talos docs

AssetRef

Since 0.6Changed in 0.7
Plain text

Fields

FieldTypeRequiredDefaultAllowed valuesDescription
kindAssetKindyesglb, texture, material, audio, envmap, splat, shader, effect, visemes
pathstringyesThe file, relative to the scene file's folder, or a built-in. Built-in meshes (kind "glb"), each centred on the origin and 1 m across unless said: "builtin:cube" (1 m cube), "builtin:sphere" (radius 0.5), "builtin:capsule" (radius 0.5, 2 m tall), "builtin:plane" (1×1 m on XZ, facing +Y), "builtin:cylinder" (radius 0.5, 1 m tall, Y-up), "builtin:cone" (base radius 0.5 at y -0.5, tip at y +0.5). Scale the entity to size them. Any builtin: name other than these meshes is refused (asset-builtin-unknown); the engine ships no sounds.
boundsAabbno
trianglesnumberno
colliderModeColliderModenosimple, full, noneHow a mesh of this asset collides when it collides as itself (kind "glb" only). A mesh's own colliderMode wins over this, and this over the scene's meta.physics.colliderMode.
rigRigKindnonone, humanoid, custom
clipsstring[]no
provenanceAssetProvenanceno
importAssetImportnoPresent when this asset came from a model file the author imported. bounds and triangles are then the importer's measurements OF THAT FILE, in the file's own units and axes, before the import transform — so a collider sized from bounds has to transform them first.
forwardModelForwardno-Z+Z, -Z, +X, -XWhich way this model's nose points once the file is in the engine's axes. The runtime turns it onto the entity's forward, which is -Z, so an entity's -Z IS the nose whatever the model was authored along. Defaults to "-Z", which is no rotation at all. This is not import.forwardAxis said twice. That one names the FILE's own depth axis so the file's basis can be turned onto the engine's, it lands the model on glTF's +Z front, and it lives inside an import record that also demands a source path and the file's SHA-256. This one is a statement about the MODEL, it is the half-turn (or quarter-turn) between glTF's front and the engine's forward, and an asset with no import record at all can carry it. They compose: the import transform runs first, forward turns what comes out. See docs/CONVENTIONS.md. Meaningful only on a glb asset; the asset-forward-invalid rule refuses it anywhere else.
skeletonAssetSkeletonnoThe skin this model carries, as the importer read it. Written by asset.import for a skinned glTF so an animator's IK chains, look-at and pelvis can be checked against real bone names before the scene runs. Absent on a model with no skin.
morphsstring[]noThe morph target channels this model carries, as the importer read them: each name once (a name shared by several meshes, a head's and its teeth's jawOpen, is one channel), in the order first met: the names the model's morph weights are known by. Written by asset.import for a glTF with morph targets; absent on a model with none.
clipDurationsobjectnoClip name → length in seconds, one entry per name in clips, as the importer read them. What a one-shot's blendOut or an event's at is measured against.

See also