ignifx0.x · unpublished
GitHub

File formats·skills/ignifx/references/formats/components.md

components

<!-- Generated by `pnpm docs:schemas`. Do not edit by hand. -->

Animator (ignifx/Animator)#

FieldKindDefaultDescription
animatorassetnullThe .animator.json document this state machine runs.
defaultLayerstr""The layer play() and currentState() use when given no name.
speedf321A multiplier on every state's own rate.
updateWhenPausedboolfalseWhether the animator keeps advancing while app.pause() holds.
applyOnAwakebooltrueWhether the first pose is written before the first update.

AudioListener (ignifx/AudioListener)#

The ears spatial audio is heard from; usually on the main camera entity.

FieldKindDefaultDescription

AudioSource (ignifx/AudioSource)#

A sound attached to an entity: which clip, which bus, how loud, how many at once, and how it behaves in 3D.

FieldKindDefaultDescription
clipassetnullThe sound to play.
busstr"SFX"Which mixer bus this source routes into.
volumef321The sound's own linear gain.
pitchf321Playback rate; takes effect on the next play().
loopboolfalseWhether instances repeat instead of ending.
playOnAwakeboolfalsePlay once as soon as the entity comes alive.
maxInstancesi328How many may sound at once; the oldest is stolen.
spatialboolfalsePosition the sound in 3D instead of in the stereo field.
minDistancef321Distance below which no attenuation is applied.
maxDistancef3250Maximum distance, used by the linear model.
rollofff321How steeply the sound falls off with distance.
distanceModelenum"inverse"Which attenuation curve to use.
conerecord{"innerAngle":360,"outerAngle":360,"outerVolume":0}Directionality of a spatial source; 360/360 is omnidirectional.
panf320Stereo pan of a non-spatial source.

Billboard (ignifx/Billboard)#

FieldKindDefaultDescription
modeenum"full"Whether the billboard is free or locked upright.
faceCameraPlaneboolfalseWhether to align with the view plane rather than aim at the eye.

BoxCollider (ignifx/BoxCollider)#

A box collision shape, sized in local units and scaled by the entity.

FieldKindDefaultDescription
centervec3[0,0,0]
isTriggerboolfalse
materialassetnull
inlineMaterialoptionalnull
layerOverridestr""
sizevec3[1,1,1]

BoxCollider2D (ignifx/BoxCollider2D)#

An axis-aligned box, sized in local metres and scaled by the entity.

FieldKindDefaultDescription
offsetvec2[0,0]
isTriggerboolfalse
materialassetnull
inlineMaterialoptionalnull
frictionCombineenum"average"
restitutionCombineenum"average"
oneWayboolfalse
layerOverridestr""
sizevec2[1,1]

Camera (ignifx/Camera)#

The camera an entity renders the world through; the entity's transform is the view.

FieldKindDefaultDescription
projectionenum"perspective"Perspective, or a flat orthographic view.
fovf3260Vertical field of view, in degrees.
orthographicSizef325Half the visible height, in metres.
nearf320.1Near clip plane, in metres.
farf321000Far clip plane, in metres.
viewportrecord{"x":0,"y":0,"width":1,"height":1}Normalized viewport; y is measured from the bottom.
clearColoroptionalnullOverrides the scene clear colour while this camera renders.
priorityi320The enabled camera with the highest priority renders.

Camera2D (ignifx/Camera2D)#

The 2D camera: orthographic size in metres, pixel-perfect snapping, bounds, and follow fields.

FieldKindDefaultDescription
orthographicSizef325Half the viewport height, in metres.
pixelPerfectboolfalseSnap zoom to an integer and positions to whole pixels.
referenceResolutionvec2[640,360]The design resolution a pixel-perfect camera fits an integer zoom to.
boundsMinoptionalnullThe lower bound of the camera's travel, in metres.
boundsMaxoptionalnullThe upper bound of the camera's travel, in metres.
followentityRefnullThe entity Camera2DFollow tracks.
followDampingf320.15Seconds the follow takes to catch up; 0 is rigid.
followOffsetvec2[0,0]A constant offset added to the followed position.
deadZonevec2[0,0]Half-size of the rectangle the target moves in freely.
priorityi320Highest enabled camera wins.

CapsuleCollider (ignifx/CapsuleCollider)#

A capsule collision shape standing along X, Y, or Z.

FieldKindDefaultDescription
centervec3[0,0,0]
isTriggerboolfalse
materialassetnull
inlineMaterialoptionalnull
layerOverridestr""
radiusf320.5
heightf322
directionenum"y"

CapsuleCollider2D (ignifx/CapsuleCollider2D)#

A capsule standing along X or Y.

FieldKindDefaultDescription
offsetvec2[0,0]
isTriggerboolfalse
materialassetnull
inlineMaterialoptionalnull
frictionCombineenum"average"
restitutionCombineenum"average"
oneWayboolfalse
layerOverridestr""
radiusf320.25
heightf321
directionenum"y"

CharacterController (ignifx/CharacterController)#

A kinematic capsule with collide-and-slide, support detection, and body pushing.

FieldKindDefaultDescription
radiusf320.4
heightf321.8
centervec3[0,0,0]
slopeLimitf3245
skinWidthf320.05
pushStrengthf321
interpolationenum"interpolate"

CharacterController2D (ignifx/CharacterController2D)#

A kinematic character with collide-and-slide, slopes, autostep, and snap-to-ground.

FieldKindDefaultDescription
shapeenum"capsule"
radiusf320.25
heightf321
offsetvec2[0,0]
slopeLimitf3245
stepOffsetf320
snapToGroundf320
skinWidthf320.01
onOneWayPlatformsbooltrue
pushBodiesboolfalse
interpolationenum"interpolate"

CircleCollider2D (ignifx/CircleCollider2D)#

A circle; the larger scale axis wins.

FieldKindDefaultDescription
offsetvec2[0,0]
isTriggerboolfalse
materialassetnull
inlineMaterialoptionalnull
frictionCombineenum"average"
restitutionCombineenum"average"
oneWayboolfalse
layerOverridestr""
radiusf320.5

CylinderCollider (ignifx/CylinderCollider)#

A cylinder collision shape standing along Y.

FieldKindDefaultDescription
centervec3[0,0,0]
isTriggerboolfalse
materialassetnull
inlineMaterialoptionalnull
layerOverridestr""
radiusf320.5
heightf322

EdgeCollider2D (ignifx/EdgeCollider2D)#

An open chain of line segments — a platformer's ground contour.

FieldKindDefaultDescription
offsetvec2[0,0]
isTriggerboolfalse
materialassetnull
inlineMaterialoptionalnull
frictionCombineenum"average"
restitutionCombineenum"average"
oneWayboolfalse
layerOverridestr""
pointsarray[]

Environment (ignifx/Environment)#

The world's image-based lighting, skybox, fog, image processing, and clear colour.

FieldKindDefaultDescription
environmentassetnullThe .env image-based lighting to install.
rotationf320Rotation of the environment around world Y, in degrees.
blurf320How blurred the specular reflection is.
skyboxrecord{"enabled":true,"size":20}The background the environment draws.
fogrecord{"mode":"none","color":[0.784314,0.784314,0.784314,1],"density":0.01,"start":10,"end":100}Distance fog.
imageProcessingrecord{"exposure":1,"contrast":1,"toneMapping":"none"}Exposure, contrast, and tone mapping. Recompiles PBR pipelines when it changes.
clearColorcolor[0,0,0,1]The colour the scene is cleared to, in sRGB.

First person controller (ignifx/FirstPersonController)#

FieldKindDefaultDescription
cameraPivotentityRefnullThe child entity that pitches; usually the camera's entity.
moveActionstr"Move"The vector2 action that walks.
lookActionstr"Look"The vector2 action that looks around.
jumpActionstr"Jump"The button action that jumps.
sprintActionstr"Sprint"The button action that sprints.
crouchActionstr"Crouch"The button action that crouches.
sensitivityf320.15Degrees of rotation per unit of look input.
invertYboolfalseWhether looking up needs the stick pushed down.
walkSpeedf324Ground speed, in m/s.
sprintSpeedf327Ground speed while sprinting, in m/s.
crouchSpeedf321.8Ground speed while crouched, in m/s.
standHeightf321.8The controller height while standing, in metres.
crouchHeightf321The controller height while crouched, in metres.
gravityf3220Downward acceleration, in m/s squared.
jumpHeightf321.1How high a jump reaches, in metres.
coyoteTimef320.1How long a jump stays legal after leaving the ground.
jumpBufferTimef320.1How long an early jump press is remembered.
airControlf320.5How much of the ground speed applies mid-air.
lockPointerOnClickbooltrueWhether the first click requests pointer lock.
headBobAmplitudef320How far the head bobs while walking, in metres; 0 disables it.
headBobFrequencyf321.8Head bobs per metre travelled.
sprintFovKickf320Extra vertical FOV while sprinting, in degrees; 0 disables it.

HeightfieldCollider (ignifx/HeightfieldCollider)#

A terrain collision shape built from a regular grid of height samples.

FieldKindDefaultDescription
centervec3[0,0,0]
isTriggerboolfalse
materialassetnull
inlineMaterialoptionalnull
layerOverridestr""
heightsarray[]
samplesXu322
samplesZu322
sizevec3[1,1,1]

HudText (ignifx/HudText)#

Pixel-space text drawn by Babylon Lite, anchored to a corner of the render target.

FieldKindDefaultDescription
fontassetnullThe TTF or OTF the glyphs come from.
textstr""The literal string to draw; ignored when i18nKey is set.
i18nKeystr""A translation key looked up in app.i18n; wins over text.
fontSizef3232The em size, in render-target pixels.
colorcolor[1,1,1,1]The colour every glyph starts with.
alignenum"left"Which edge the lines align to.
maxWidthf320The wrap width in pixels; 0 does not wrap.
lineHeightf321.2The line-height multiplier.
opacityf321The whole-block alpha multiplier.
anchorenum"topLeft"Which corner of the screen the position is measured from.
positionvec2[0,0]The offset from the anchor, in render-target pixels.
orderi320Sort order within the text renderer; lower draws first.

Light (ignifx/Light)#

A directional, point, spot, or hemispheric light, with optional shadow casting.

FieldKindDefaultDescription
typeenum"directional"Which kind of light this is.
colorcolor[1,1,1,1]The light's sRGB colour.
intensityf321How bright the light is.
rangef3210Distance at which a point or spot light reaches zero.
spotAnglef3245A spot light's full cone angle, in degrees.
spotExponentf322A spot light's falloff exponent; higher is sharper.
groundColorcolor[0,0,0,1]A hemispheric light's sRGB colour from below.
shadowsrecord{"enabled":false,"technique":"pcf","mapSize":1024,"bias":0.00005,"normalBias":0,"darkness":0,"cascades":4,"maxDistance":0}Shadow casting; point and hemispheric lights cannot cast (IGX-0703).
includeOnlyarray[]Light only these entities' renderers.
excludearray[]Never light these entities' renderers.

LOD group (ignifx/LodGroup)#

FieldKindDefaultDescription
levelsarray[]The levels, nearest first.
hysteresisf320.1How far past a threshold a switch waits, as a fraction.

MeshCollider (ignifx/MeshCollider)#

A triangle-mesh or convex-hull shape built from real geometry; needs a GPU app.

FieldKindDefaultDescription
centervec3[0,0,0]
isTriggerboolfalse
materialassetnull
inlineMaterialoptionalnull
layerOverridestr""
meshassetnull
convexboolfalse
includeChildrenbooltrue

MeshRenderer (ignifx/MeshRenderer)#

Draws one clone of a mesh asset with a material.

FieldKindDefaultDescription
meshassetnullThe geometry template to clone.
materialsarray[]One per submesh; empty uses the default material.
castShadowsbooltrueWhether this mesh is rendered into shadow maps.
receiveShadowsbooltrueWhether shadow maps darken this mesh.
renderOrderi320Sort key within the opaque or transparent phase; lower draws first.
pickablebooltrueWhether picking considers this mesh at all.

Model (ignifx/Model)#

One instance of a loaded glTF, cloned under the entity's node.

FieldKindDefaultDescription
modelassetnullThe glTF template to instantiate.
materialOverridesmap{}Replaces a glTF material, by its name.
castShadowsbooltrueWhether the instance is rendered into shadow maps.
receiveShadowsbooltrueWhether shadow maps darken the instance.
pickablebooltrueWhether picking considers the instance at all.

MusicPlayer (ignifx/MusicPlayer)#

A playlist of music tracks with crossfading, routed to the Music bus.

FieldKindDefaultDescription
playlistarray[]The tracks, in the order they are played.
busstr"Music"Which mixer bus the music routes into.
volumef321The gain a track fades up to.
playOnAwakeboolfalseStart the first playlist entry as soon as the entity is alive.
autoAdvancebooltrueCrossfade to the next track when one ends.
loopPlaylistbooltrueWrap to the first track after the last one.
loopTrackboolfalseRepeat the current track instead of ending it.
crossfadeSecondsf321.5How long a crossfade takes, in seconds.
FieldKindDefaultDescription
surfaceentityRefnullThe entity carrying the NavMeshSurface to join; the first baked one when unset.
speedf323.5The agent's top speed, in metres per second.
accelerationf328How hard the agent accelerates, in metres per second squared.
radiusf320.5The agent's radius, in metres.
heightf322The agent's height, in metres.
stoppingDistancef320.25How close counts as arrived, in metres.
separationWeightf320How hard agents push apart; 0 disables separation.
updateRotationbooltrueWhether the agent turns the entity to face the way it is moving.
updatePositionbooltrueWhether the crowd's position is written onto the transform.
FieldKindDefaultDescription
surfaceentityRefnullThe entity carrying the NavMeshSurface to cut; the first baked one when unset.
shapeenum"box"Whether the hole is a box or a cylinder.
sizevec3[1,2,1]The box's full size, in metres.
radiusf320.5The cylinder's radius, in metres.
heightf322The cylinder's height, in metres.
FieldKindDefaultDescription
layerslayerMask[]Which layers' MeshRenderers are baked; empty means every layer.
bakeOnAwakebooltrueWhether the surface bakes itself as soon as it is enabled.
cellSizef320.2Recast voxel width, in metres.
cellHeightf320.2Recast voxel height, in metres.
walkableSlopeAnglef3245The steepest walkable slope, in degrees.
agentHeightf322The headroom an agent needs, in metres.
agentRadiusf320.5How far agents stay from a wall, in metres.
agentClimbf320.4The tallest step an agent walks up, in metres.
maxEdgeLengthf3212The longest contour edge, in voxels.
maxSimplificationErrorf321.3How far a simplified edge may stray, in voxels.
minRegionAreaf328Regions smaller than this are discarded, in voxels squared.
mergeRegionAreaf3220Regions smaller than this are merged, in voxels squared.
maxVertsPerPolyu326The largest navmesh polygon, in vertices.
detailSampleDistancef326Detail-mesh sampling distance, in voxels.
detailSampleMaxErrorf321Detail-mesh vertical error, in voxels.
tileSizeu320Tile size in voxels; 32-64 when maxObstacles is above zero.
maxObstaclesu320How many NavMeshObstacles fit; above zero builds a tile cache.
maxAgentsu3264How many NavMeshAgents this surface's crowd holds.
maxAgentRadiusf321The largest agent radius the crowd will see, in metres.
randomSeedu320The seed Recast's randomized queries use, so paths are reproducible.
prebakedstr""A .navmesh.bin address; unsupported by the pinned Babylon Lite.

ParallaxLayer (ignifx/ParallaxLayer)#

Scrolls one sorting layer at a fraction of the camera's speed.

FieldKindDefaultDescription
sortingLayerstr"Default"Which sorting layer scrolls slowly.
factorvec2[0.5,1]Fraction of the camera's motion the layer follows.
repeatXboolfalseTile the layer horizontally across the camera's view.
repeatYboolfalseTile the layer vertically.
repeatWidthf320World width of one repetition, in metres.
repeatHeightf320World height of one repetition, in metres.

Platform mover (ignifx/PlatformMover)#

FieldKindDefaultDescription
offsetvec3[0,0,6]How far the platform travels from where it started.
durationf324How long one leg of the trip takes, in seconds.
waitSecondsf320.5How long the platform pauses at each end.
carryRidersbooltrueWhether characters standing on the platform ride it.

PlayerInput (ignifx/PlayerInput)#

Binds an entity to an input actions document and one device slot, for local multiplayer.

FieldKindDefaultDescription
actionsassetnull
deviceSloti320
schemestr""

PolygonCollider2D (ignifx/PolygonCollider2D)#

The convex hull of a point list, in local metres.

FieldKindDefaultDescription
offsetvec2[0,0]
isTriggerboolfalse
materialassetnull
inlineMaterialoptionalnull
frictionCombineenum"average"
restitutionCombineenum"average"
oneWayboolfalse
layerOverridestr""
pointsarray[]

PostProcessStack (ignifx/PostProcessStack)#

Bloom, SMAA, and image processing, inserted into the scene's frame graph.

FieldKindDefaultDescription
bloomrecord{"enabled":false,"order":0,"weight":0.15,"kernel":64,"threshold":0.9,"exposure":1,"scale":0.5}Bloom.
smaarecord{"enabled":false,"order":1,"threshold":0.05,"maxSearchSteps":16,"diagonalDetection":false,"cornerDetection":false}SMAA anti-aliasing. Needs a single-sample source.
imageProcessingrecord{"enabled":false,"order":2}Exposure, contrast, and tone mapping as a pass — the alternative to Environment.

Projectile (ignifx/Projectile)#

FieldKindDefaultDescription
speedf3230How fast the projectile leaves the muzzle, in m/s.
gravityScalef321How much gravity the projectile feels; 0 flies straight.
lifetimeSecondsf325How long the projectile lives before destroying itself.
destroyOnHitbooltrueWhether the projectile destroys itself on its first contact.
ownerentityRefnullThe entity that fired it, so it does not hit its own shooter.

Rigidbody (ignifx/Rigidbody)#

Makes an entity's colliders a dynamic, kinematic, or static Havok body.

FieldKindDefaultDescription
bodyTypeenum"dynamic"
massf321
startAsleepboolfalse
freezeRotationrecord{"x":false,"y":false,"z":false}
interpolationenum"interpolate"
collisionEventsenum"auto"
kinematicSyncenum"teleport"

Rigidbody2D (ignifx/Rigidbody2D)#

Makes an entity's 2D colliders a dynamic, kinematic, or static Rapier body.

FieldKindDefaultDescription
bodyTypeenum"dynamic"
massf321
gravityScalef321
linearDampingf320
angularDampingf320.05
freezeRotationboolfalse
interpolationenum"interpolate"
collisionEventsenum"auto"

Rigidbody mover (ignifx/RigidbodyMover)#

FieldKindDefaultDescription
moveActionstr"Move"The vector2 action that steers.
forcef3240How hard the body is pushed, in newtons.
maxSpeedf3212The horizontal speed the mover stops adding force at.
cameraRelativebooltrueWhether the stick is read relative to the main camera.
torqueSteeringboolfalseWhether the stick's X steers by torque rather than by force.

SphereCollider (ignifx/SphereCollider)#

A sphere collision shape; the largest scale axis wins.

FieldKindDefaultDescription
centervec3[0,0,0]
isTriggerboolfalse
materialassetnull
inlineMaterialoptionalnull
layerOverridestr""
radiusf320.5

SpriteAnimator (ignifx/SpriteAnimator)#

Plays a clip of atlas frames on ignifx's clock, respecting timeScale and pause.

FieldKindDefaultDescription
animationsassetnullThe .spriteanim.json document holding the clips.
defaultClipstr""Which clip to start on; empty plays the document's first.
playOnAwakebooltrueStart the default clip as soon as the document has loaded.
speedf321A multiplier on each clip's own frame rate.

SpriteLayerEffect (ignifx/SpriteLayerEffect)#

A per-layer WGSL fragment effect with an fx.params vec4.

FieldKindDefaultDescription
sortingLayerstr"Default"Which sorting layer the effect applies to.
kindenum"tint"Which shader to install.
tintcolor[1,1,1,1]The colour the tint effect multiplies by.
paramsvec4[0,0,0,0]The fx.params vec4 a custom shader reads.
shaderstr""The WGSL fragment body a custom effect installs.

SpriteRenderer (ignifx/SpriteRenderer)#

One sprite drawn from one frame of one atlas, on one sorting layer.

FieldKindDefaultDescription
spriteassetnullThe atlas this sprite draws a frame of.
colorcolor[1,1,1,1]Tint multiplied into every texel.
flipXboolfalseMirror horizontally.
flipYboolfalseMirror vertically.
sortingLayerstr"Default"Which sorting layer the sprite draws on.
orderInLayeri320Sub-order within the sorting layer; higher draws in front.
blendenum"alpha"How the colour combines with the background.
pivotOverrideoptionalnullOverrides the frame's own pivot, in [0,1] of the frame.
screenSpaceboolfalseKeep the identity view instead of following the Camera2D.
pickablebooltrueWhether app.twoD.pickAt considers this sprite.

Third person camera (ignifx/ThirdPersonCamera)#

FieldKindDefaultDescription
targetentityRefnullThe entity the camera orbits.
lookActionstr"Look"The vector2 action that orbits the camera.
distancef324.5How far behind the target the camera sits, in metres.
minPitchf32-30The lowest pitch, in degrees.
maxPitchf3260The highest pitch, in degrees.
sensitivityf320.2Degrees of orbit per unit of look input.
dampingf320.08The follow time constant, in seconds; 0 snaps.
shoulderOffsetvec3[0.5,1.5,0]The pivot offset from the target, in its own space.
invertYboolfalseWhether looking up needs the stick pushed down.
collisionEnabledbooltrueWhether the boom is shortened by geometry in the way.
collisionRadiusf320.25The radius of the sphere swept along the boom.
collisionLayerslayerMask[]Which layers block the camera; empty means every layer.
collisionRecoverySpeedf326How fast the boom eases back out, in m/s.

Third person controller (ignifx/ThirdPersonController)#

FieldKindDefaultDescription
moveActionstr"Move"The vector2 action that steers the character.
jumpActionstr"Jump"The button action that jumps.
sprintActionstr"Sprint"The button action that sprints.
walkSpeedf324Ground speed with the stick fully pressed, in m/s.
sprintSpeedf327Ground speed while sprinting, in m/s.
turnSpeedf32720How fast the character faces its direction, in deg/s.
gravityf3220Downward acceleration, in m/s squared.
jumpHeightf321.2How high a jump reaches, in metres.
coyoteTimef320.12How long a jump stays legal after leaving the ground.
jumpBufferTimef320.12How long an early jump press is remembered.
airControlf320.4How much of the ground speed applies mid-air.
stepHeightf320The tallest step the probe lifts over; 0 disables it.
slideSpeedf326How fast the character slides down a too-steep slope.
rotateToMovementbooltrueWhether the entity turns to face the way it is moving.

3D settings (ignifx/threeD-settings)#

The threeD project settings section.

FieldKindDefaultDescription
navigationSeedu321337The seed Recast's randomized queries start from.
navigationWasmUrlstr""Where the Recast wasm is served from; empty uses Lite's inlined copy.
autoBakeNavMeshbooltrueWhether a NavMeshSurface bakes itself when the world loads.

Tilemap (ignifx/Tilemap)#

A grid of tile ids with cell arithmetic and merged collision geometry.

FieldKindDefaultDescription
mapassetnullThe .tilemap.json document.
chunkSizeu3232How many cells one render and collision chunk spans.
cellSizeOverridef320Metres per cell, overriding the document's own; 0 uses it.

TilemapCollider2D (ignifx/TilemapCollider2D)#

The merged collision surface of a Tilemap, rebuilt when its tiles change.

FieldKindDefaultDescription
offsetvec2[0,0]
isTriggerboolfalse
materialassetnull
inlineMaterialoptionalnull
frictionCombineenum"average"
restitutionCombineenum"average"
oneWayboolfalse
layerOverridestr""

TilemapRenderer (ignifx/TilemapRenderer)#

Draws a Tilemap's cells as sprites, materialising only the chunks the camera sees.

FieldKindDefaultDescription
atlasassetnullThe atlas the tile frames come from.
sortingLayerstr"Default"Sorting layer used when a map layer names none.
cullChunksbooltrueDrop chunks outside the camera's visible bounds.

WorldAnchor (ignifx/WorldAnchor)#

Keeps a DOM element at an entity's screen position, with clamping and distance scaling.

FieldKindDefaultDescription
offsetvec3[0,0,0]A world-space offset added before projecting, in metres.
hideWhenBehindCamerabooltrueHide the element when the anchor is behind the camera.
clampToScreenboolfalseKeep the element inside the overlay instead of hiding it.
scaleWithDistanceboolfalseShrink the element as the anchor gets further away.
referenceDistancef3210The distance at which the scale is 1, in metres.
minScalef320.25The smallest scale distance scaling may produce.
maxScalef322The largest scale distance scaling may produce.

WorldText (ignifx/WorldText)#

3D text in the render scene: signs and banners, optionally billboarded.

FieldKindDefaultDescription
fontassetnullThe TTF or OTF the glyphs come from.
textstr""The literal string to draw; ignored when i18nKey is set.
i18nKeystr""A translation key looked up in app.i18n; wins over text.
fontSizef3232The em size, in render-target pixels.
colorcolor[1,1,1,1]The colour every glyph starts with.
alignenum"left"Which edge the lines align to.
maxWidthf320The wrap width in pixels; 0 does not wrap.
lineHeightf321.2The line-height multiplier.
opacityf321The whole-block alpha multiplier.
offsetvec3[0,0,0]A local offset added to the entity's position, in metres.
pixelsPerUnitf32100How many pixels of laid-out text span one metre.
billboardboolfalseTurn the text to face the camera.
alwaysOnTopboolfalseDraw through geometry in front of the text.

WorldText2D (ignifx/WorldText2D)#

Pixel-space text placed at an entity's projected position: damage numbers and name tags.

FieldKindDefaultDescription
fontassetnullThe TTF or OTF the glyphs come from.
textstr""The literal string to draw; ignored when i18nKey is set.
i18nKeystr""A translation key looked up in app.i18n; wins over text.
fontSizef3232The em size, in render-target pixels.
colorcolor[1,1,1,1]The colour every glyph starts with.
alignenum"left"Which edge the lines align to.
maxWidthf320The wrap width in pixels; 0 does not wrap.
lineHeightf321.2The line-height multiplier.
opacityf321The whole-block alpha multiplier.
offsetvec3[0,0,0]A world-space offset added before projecting, in metres.
screenOffsetvec2[0,0]A screen-space offset added after projecting, in pixels.
pivotenum"center"Which point of the block sits on the projected position.
hideWhenBehindCamerabooltrueHide the label when the anchor is behind the camera.
orderi320Sort order within the text renderer; lower draws first.