世界组件
下面每个字段都由引擎自身的组件注册表推导而来——就是编辑器 Details 面板读的那一份——
所以这里的类型和默认值就是你添加组件时真正拿到的值,且不可能与代码脱节。讲怎么用的正文在
每条目所链接的指南里。字段说明取自 C++ ES_PROPERTY 处的原文,因此为英文。
Marker
A named point or region of gameplay interest — spawn point, waypoint, trigger zone — queryable like any component.
Explained in gameplay/markers.
| Field | Type | Default | Notes |
|---|---|---|---|
type | string | empty | |
properties | object | empty |
ParticleEmitter
A particle system: emission, lifetime, shape, forces, noise, colour and size over life, sub-emitters and trails.
Explained in world/particles.
| Field | Type | Default | Notes |
|---|---|---|---|
rate | number | 10 | Range ≥ 0. |
burstCount | number | 0 | Range ≥ 0, step 1. |
burstInterval | number | 1 | Range ≥ 0. |
duration | number | 5 | Range ≥ 0. |
looping | boolean | true | |
playOnStart | boolean | true | |
maxParticles | number | 1000 | Range ≥ 1, step 1. |
lifetimeMin | number | 5 | Range ≥ 0. |
lifetimeMax | number | 5 | Range ≥ 0. |
shape | enum | Cone | One of Point, Circle, Rectangle, Cone. |
shapeRadius | number | 100 | Range ≥ 0. |
shapeSize | Vec2 | (100, 100) | |
shapeAngle | number | 25 | |
speedMin | number | 500 | |
speedMax | number | 500 | |
angleSpreadMin | number | 0 | |
angleSpreadMax | number | 360 | |
startSizeMin | number | 100 | Range ≥ 0. |
startSizeMax | number | 100 | Range ≥ 0. |
endSizeMin | number | 100 | Range ≥ 0. |
endSizeMax | number | 100 | Range ≥ 0. |
sizeEasing | enum | Linear | One of Linear, EaseIn, EaseOut, EaseInOut. |
startColor | Color | #ffffff | |
endColor | Color | #ffffff00 | |
colorEasing | enum | Linear | One of Linear, EaseIn, EaseOut, EaseInOut. |
rotationMin | number | 0 | |
rotationMax | number | 0 | |
angularVelocityMin | number | 0 | |
angularVelocityMax | number | 0 | |
gravity | Vec2 | (0, 0) | |
damping | number | 0 | Range ≥ 0. |
noiseStrength | number | 0 | Range ≥ 0. |
noiseFrequency | number | 0.01 | Range ≥ 0. |
noiseScrollSpeed | number | 0 | |
noiseOctaves | number | 1 | Range 1–8, step 1. |
texture | Asset<texture> | none | |
spriteColumns | number | 1 | Range ≥ 1, step 1. |
spriteRows | number | 1 | Range ≥ 1, step 1. |
spriteFPS | number | 10 | Range ≥ 0. |
spriteLoop | boolean | true | |
blendMode | enum | Additive | One of Normal, Additive, Multiply, Screen, PremultipliedAlpha, PmaAdditive, Lighten, Darken, Overlay, None. |
layer | enum (sortingLayers) | 0 | Range step 1. |
material | Asset<material> | none | |
simulationSpace | enum | World | One of World, Local. |
enabled | boolean | true | |
subEmitterTrigger | enum | Death | One of Death, Birth. |
subEmitterChance | number | 1 | Range 0–1. |
subEmitterInheritVelocity | number | 0 | Range 0–1. |
subEmitter | Entity | none | |
trailEnabled | boolean | false | |
trailWidth | number | 8 | Range ≥ 0. |
trailPoints | number | 6 | Range 2–12, step 1. |
trailMinDistance | number | 6 | Range ≥ 0. |
collisionEnabled | boolean | false | |
collisionFloor | number | 0 | |
collisionBounce | number | 0.5 | Range 0–1. |
collisionFriction | number | 0.1 | Range 0–1. |
collisionLifetimeLoss | number | 0 | Range 0–1. |
colorGradient | object | {"stops":[]} | |
sizeCurve | object | {"keys":[]} |
ParticleForceField
A field that pushes particles around — point, directional, vortex or drag.
Explained in world/particles.
| Field | Type | Default | Notes |
|---|---|---|---|
type | enum | Directional | One of Directional, Point, Vortex, Drag. |
strength | number | 200 | |
radius | number | 0 | Range ≥ 0. |
direction | Vec2 | (1, 0) | |
falloff | boolean | true | |
enabled | boolean | true |
Tilemap
A Tiled map asset projected into the scene; the engine derives one layer entity per map layer.
Explained in world/tilemaps.
| Field | Type | Default | Notes |
|---|---|---|---|
source | Asset<tilemap> | none |
TilemapLayer
One layer of tiles — its tileset, cell size, orientation, sorting and collision.
Explained in world/tilemaps.
| Field | Type | Default | Notes |
|---|---|---|---|
cellSize | Vec2 | (32, 32) | |
orientation | enum | Orthogonal | Grid layout: orthogonal, isometric, staggered, or hexagonal. One of Orthogonal, Isometric, Staggered, Hexagonal. |
hexSideLength | number | 0 | Hexagonal side length in px (0 = a regular pointy hex = tileHeight/2). Ignored unless orientation is Hexagonal. Range ≥ 0, step 1. |
staggerAxis | enum | Y | Stagger axis (staggered/hex): Y shifts rows, X shifts columns. One of Y, X. |
staggerIndex | enum | Odd | Which lines carry the half-cell shift (staggered/hex). One of Odd, Even. |
originOffset | Vec2 | (0, 0) | |
tileset | Asset<texture> | none | |
tilesetColumns | number | 1 | Range ≥ 1, step 1. |
renderLayer | enum (sortingLayers) | 0 | Range step 1. |
tintColor | Color | #ffffff | |
opacity | number | 1 | Layer transparency (0 = invisible, 1 = opaque). Range 0–1. |
parallaxFactor | Vec2 | (1, 1) | |
visible | boolean | true |