图形组件
下面每个字段都由引擎自身的组件注册表推导而来——就是编辑器 Details 面板读的那一份——
所以这里的类型和默认值就是你添加组件时真正拿到的值,且不可能与代码脱节。讲怎么用的正文在
每条目所链接的指南里。字段说明取自 C++ ES_PROPERTY 处的原文,因此为英文。
BakedLighting
How this scene is baked — atlas size, density, bounces — and a record of what the last bake read.
Explained in graphics/lighting.
| Field | Type | Default | Notes |
|---|---|---|---|
atlasSize | number | 1024 | Side of the square atlas, in texels. Range ≥ 64, step 64. |
texelsPerUnit | number | 0.25 | How finely a surface is lit. A world unit is a design pixel. Range ≥ 0.01, step 0.05. |
bounces | number | 2 | How many times light may reflect. 0 = direct only. Range 0–8. |
samples | number | 64 | Rays each lumel gathers per bounce. Range ≥ 1. |
probeSamples | number | 128 | Directions each probe gathers, over the whole sphere. Range ≥ 1. |
bakedFrom | string | empty | Fingerprint of the inputs the last bake read. |
BitmapText
Text drawn in world space from a bitmap font, sorted alongside sprites (UI text is `Text`).
Explained in graphics/sprites.
| Field | Type | Default | Notes |
|---|---|---|---|
text | string | empty | |
color | Color | #ffffff | |
fontSize | number | 1 | Range ≥ 1. |
align | enum | Left | One of Left, Center, Right. |
spacing | number | 0 | |
parallax | Vec2 | (1, 1) | Parallax scroll factor (1 = with world, <1 = slower, 0 = locked to camera). |
layer | number | 0 | Range step 1. |
font | Asset<font> | none | |
enabled | boolean | true |
Camera
A view onto the world — projection, zoom, viewport rect, clear flags and render priority.
Explained in graphics/camera.
| Field | Type | Default | Notes |
|---|---|---|---|
projectionType | enum | Orthographic | Orthographic (2D) or Perspective projection. One of Perspective, Orthographic. |
fov | number | 60 | Range 1–179. |
orthoSize | number | 540 | Half the visible height in world units (Orthographic). Range ≥ 0. |
nearPlane | number | 0.1 | Range ≥ 0. |
farPlane | number | 1000 | Range ≥ 0. |
aspectRatio | number | 1.77 | |
isActive | boolean | true | |
priority | number | 0 | Range step 1. |
viewport | Vec4 | (0, 0, 1, 1) | |
clearFlags | number | 3 | Which buffers to clear before rendering this camera. |
pixelPerfect | boolean | false | Snap the camera to the pixel grid for crisp pixel-art (Orthographic). |
cullingMask | number | 4294967295 | Which sorting layers this camera renders. |
renderTarget | number | 0 | Render into a RenderTexture instead of the screen (0 = screen). Set at run time. |
showFrustum | boolean | false | Draw this camera's whole view volume in the editor, not just what it frames on the content plane. |
CameraBounds
The world rectangle a camera may not look outside of, so the level edge stays at the screen edge.
Explained in graphics/camera.
| Field | Type | Default | Notes |
|---|---|---|---|
minX | number | 0 | |
minY | number | 0 | |
maxX | number | 0 | |
maxY | number | 0 |
Canvas
The design resolution and scale mode a scene is authored against — one per scene root.
Explained in core-concepts/screen.
| Field | Type | Default | Notes |
|---|---|---|---|
designResolution | Vec2 | (1920, 1080) | |
pixelsPerUnit | number | 100 | World pixels per physics meter (Box2D + tile collider scale). Range ≥ 1. |
scaleMode | enum | FixedHeight | How the canvas adapts the design resolution to the screen. One of FixedWidth, FixedHeight, Expand, Shrink, Match. |
matchWidthOrHeight | number | 0.5 | 0 matches width, 1 matches height (Match mode only). Range 0–1. |
backgroundColor | Color | #000000 | |
layer | enum (sortingLayers) | 0 | Sorting layer this UI belongs to — cameras cull by it. Range step 1. |
DecalProjector
Prints this entity's material onto what its box covers — the surface is cut to the box and drawn again, so a decal is lit and shadowed as the surface under it.
Explained in graphics/lighting.
| Field | Type | Default | Notes |
|---|---|---|---|
facing | number | 0.2 | How squarely a surface must face the projector to take the decal. Range -1–1, step 0.05. |
bakedFrom | string | empty | What the last cut read. |
FollowTarget
Makes a camera chase an entity, with an offset, a dead zone and eased catch-up.
Explained in graphics/camera.
| Field | Type | Default | Notes |
|---|---|---|---|
target | number | -1 | |
offsetX | number | 0 | |
offsetY | number | 0 | |
offsetZ | number | 0 | |
followZ | boolean | false | |
deadzone | number | 0 | |
damping | number | 0.25 |
Light
A light — point, directional, spot or ambient — read by lit renderers, Lit materials and mesh shadow maps.
Explained in graphics/lighting.
| Field | Type | Default | Notes |
|---|---|---|---|
type | enum | Point | Point, Directional, Ambient, or Spot. One of Point, Directional, Ambient, Spot. |
color | Color | #ffffff | |
intensity | number | 1 | Brightness multiplier of the light. Range ≥ 0. |
radius | number | 200 | Falloff reach in world units (Point / Spot). Range ≥ 0. |
innerRadius | number | 0 | Radius held at full strength before the falloff starts. Range ≥ 0. |
falloff | number | 1 | Falloff shape: 1 = linear, higher pools near the light, lower reaches further. Range 0–8. |
shadowStrength | number | 1 | How much of this light its shadows remove (1 = all of it). Range 0–1. |
cookie | Asset<texture> | none | A texture whose alpha shapes this light (a cookie). |
cookieSize | Vec2 | (0, 0) | Cookie size in world units; 0 = the light's own reach. Range ≥ 0. |
innerAngle | number | 30 | Range 0–180. |
outerAngle | number | 45 | Range 0–180. |
shadowSoftness | number | 0 | Shadow softness (light-source size); 0 = hard edge. Range ≥ 0. |
sourceAngle | number | 0.53 | Angular size of a Directional light's source (the sun is 0.53); 0 = hard edge. Range 0–90. |
shadowDistance | number | 0 | Directional shadow distance; 0 = no directional shadow. Range ≥ 0. |
meshShadows | boolean | false | Cast a shadow map over 3D meshes (Directional, Spot, Point). |
shadowExtent | number | 0 | Shadow map coverage radius; 0 = fit the view. Range ≥ 0. |
followEnvironmentSun | boolean | false | Take direction and strength from the environment's sun, and light the sky without it. |
environment | Asset<environment> | none | Baked environment (.esenv) this Ambient light casts. |
environmentRotation | number | 0 | Turn the environment about the up axis, in degrees. |
drawEnvironment | boolean | false | Draw this environment as the sky behind the scene. |
enabled | boolean | true |
LightProbeVolume
A box of baked irradiance on a grid — what lights the things a lightmap cannot hold still, characters included.
Explained in graphics/lighting.
| Field | Type | Default | Notes |
|---|---|---|---|
probes | Asset<probeVolume> | none | Baked probe grid (.esprobes) filling this box. |
halfExtents | Vec3 | (100, 100, 100) | Half the box this volume covers, from the entity's position. Range ≥ 0. |
spacing | number | 100 | World units between probes the next bake lays down. Range ≥ 1. |
enabled | boolean | true |
LODGroup
Cheaper stand-in meshes for a MeshRenderer, chosen by how much of the screen the object covers.
Explained in performance/level-of-detail.
| Field | Type | Default | Notes |
|---|---|---|---|
lod1 | Asset<mesh> | none | Geometry drawn below the LOD 1 screen size. |
lod2 | Asset<mesh> | none | Geometry drawn below the LOD 2 screen size. |
lod3 | Asset<mesh> | none | Geometry drawn below the LOD 3 screen size. |
lod1Size | number | 0.5 | Screen height fraction below which LOD 1 takes over. Range 0–1. |
lod2Size | number | 0.25 | Screen height fraction below which LOD 2 takes over. Range 0–1. |
lod3Size | number | 0.1 | Screen height fraction below which LOD 3 takes over. Range 0–1. |
cullSize | number | 0.02 | Screen height fraction below which nothing is drawn (0 = never). Range 0–1. |
hysteresis | number | 0.1 | Extra fraction to grow past a threshold before the finer level returns. Range 0–1. |
enabled | boolean | true | Off: the MeshRenderer's own mesh is always drawn. |
MeshLightmap
Where a MeshRenderer's baked light comes from — the atlas, and the rectangle of it this object occupies.
Explained in graphics/lighting.
| Field | Type | Default | Notes |
|---|---|---|---|
lightmap | Asset<texture> | none | Baked lightmap atlas. Needs a mesh with a second UV set. |
scaleOffset | Vec4 | (1, 1, 0, 0) | Atlas rectangle: xy scales the second UV set, zw offsets it. |
MeshMorph
How far a MeshRenderer is blended towards each of the shapes its mesh carries — one weight per morph target.
Explained in assets/models.
| Field | Type | Default | Notes |
|---|---|---|---|
weights | array | empty | Weight per morph target of the mesh, in the order the mesh carries them. |
MeshRenderer
Geometry drawn as an entity — your own vertices or an imported mesh, with a material and a sorting layer.
Explained in graphics/drawing.
| Field | Type | Default | Notes |
|---|---|---|---|
texture | Asset<texture> | none | |
normalMap | Asset<texture> | none | Normal map (tangent space). Needs a mesh with normals. |
color | Color | #ffffff | Tint multiplied into the vertex colors (white = unchanged). |
layer | enum (sortingLayers) | 0 | Sorting layer — controls draw order across renderables. Range step 1. |
opaque | boolean | false | Opaque: no blending; writes and tests depth, so meshes occlude each other. |
cullBackfaces | boolean | false | Cull back faces: triangles facing away from the camera are skipped. |
lit | boolean | false | Receive 2D lights: Light entities light this mesh (flat normal). A custom material overrides this. |
parallax | Vec2 | (1, 1) | Parallax scroll factor (1 = with world, <1 = slower, 0 = locked to camera). |
material | Asset<material> | none | |
enabled | boolean | true | |
mesh | Asset<mesh> | none | |
geometry | object | {"positions":[],"indices":[]} |
MeshSkin
The joint entities that deform a MeshRenderer — an imported skin, in the order its bind matrices are in.
Explained in assets/models.
| Field | Type | Default | Notes |
|---|---|---|---|
joints | Entity | | Joint entities, in the order the mesh's bind matrices are in. |
Occluder
A box sight does not pass through — what stands behind it is not collected, and the picture is unchanged.
Explained in performance/occlusion-culling.
| Field | Type | Default | Notes |
|---|---|---|---|
halfExtents | Vec3 | (50, 50, 50) | Half the solid box, in world units, from the entity's position. Range ≥ 0. |
enabled | boolean | true | Off: this box hides nothing. |
PostProcessVolume
A stack of full-screen effects (bloom, vignette, colour grading) applied after the scene is drawn.
Explained in graphics/post-processing.
| Field | Type | Default | Notes |
|---|---|---|---|
effects | array | empty | |
isGlobal | boolean | true | |
shape | string | "box" | |
size | Vec2 | (5, 5) | |
priority | number | 0 | |
weight | number | 1 | |
blendDistance | number | 0 |
ReflectionProbe
A box inside which reflections come from a bake rather than from the sky — the specular half of what a light probe volume answers.
Explained in graphics/lighting.
| Field | Type | Default | Notes |
|---|---|---|---|
reflection | Asset<environment> | none | The scene's baked reflections (the baker writes this). |
halfExtents | Vec3 | (200, 200, 200) | Half the box this probe answers inside, from the entity's position. Range ≥ 0. |
slot | number | 0 | Which column of the atlas this probe occupies (the baker writes this). Range ≥ 0. |
enabled | boolean | true | Off: what stands inside this box reflects the sky again. |
ShadowCaster2D
Marks a renderer as an occluder, so 2D lights cast shadows from its silhouette.
Explained in graphics/lighting.
| Field | Type | Default | Notes |
|---|---|---|---|
size | Vec2 | (32, 32) | Occluder box size in world units (centred on the entity, turning with it). Unused when the caster has an outline. Range ≥ 0. |
path | array | empty | |
enabled | boolean | true |
ShapeRenderer
A filled or stroked primitive — rectangle, circle, capsule — with no texture asset.
Explained in graphics/sprites.
| Field | Type | Default | Notes |
|---|---|---|---|
shapeType | enum | Circle | One of Circle, Capsule, RoundedRect. |
color | Color | #ffffff | |
size | Vec2 | (100, 100) | |
cornerRadius | number | 0 | Range ≥ 0. |
layer | enum (sortingLayers) | 0 | Range step 1. |
parallax | Vec2 | (1, 1) | Parallax scroll factor (1 = with world, <1 = slower, 0 = locked to camera). |
enabled | boolean | true |
SortingGroup
Makes an entity and its whole subtree sort as one unit — the group states the layer and order, members state their place inside it.
Explained in graphics/sprites.
| Field | Type | Default | Notes |
|---|---|---|---|
layer | enum (sortingLayers) | 0 | Sorting layer for the entire group — members no longer state their own. Range step 1. |
order | number | 0 | Draw order of the whole group inside its sorting layer — higher draws on top. Range -128–127, step 1. |
enabled | boolean | true |
Sprite
Draws a texture in the world — tint, size, pivot, sorting layer, flipping, tiling and parallax.
Explained in graphics/sprites.
| Field | Type | Default | Notes |
|---|---|---|---|
texture | Asset<texture> | none | |
color | Color | #ffffff | Tint multiplied into the texture (white = unchanged). |
size | Vec2 | (100, 100) | |
pivot | Vec2 | (0.5, 0.5) | Anchor point the sprite rotates and scales about, as a fraction of its size (0.5,0.5 = centre). Values outside 0–1 sit off the sprite. |
uvOffset | Vec2 | (0, 0) | |
uvScale | Vec2 | (1, 1) | |
layer | enum (sortingLayers) | 0 | Sorting layer — controls draw order across sprites. Range step 1. |
order | number | 0 | Draw order inside the sorting layer — higher draws on top. Overrides the layer's Y-sort or depth ordering; leave 0 to keep it. Range -128–127, step 1. |
maskInteraction | enum | None | Whether a SpriteMask drawn before this sprite clips it, and which side survives. One of None, VisibleInside, VisibleOutside. |
lit | boolean | false | Receive 2D lights: Light entities light this sprite (flat normal). A custom material overrides this. |
flipX | boolean | false | |
flipY | boolean | false | |
drawMode | enum | Auto | Draw mode: Auto infers from tile size and the texture's 9-slice border; the others override it. One of Auto, Simple, Tiled, NineSlice. |
tileSize | Vec2 | (0, 0) | |
tileSpacing | Vec2 | (0, 0) | |
parallax | Vec2 | (1, 1) | Parallax scroll factor (1 = with world, <1 = slower, 0 = locked to camera). |
material | Asset<material> | none | |
enabled | boolean | true |
SpriteMask
Turns this entity's Sprite into a stencil that cuts the sprites drawn after it — a window, or a hole.
Explained in graphics/sprites.
| Field | Type | Default | Notes |
|---|---|---|---|
alphaCutoff | number | 0 | Cut to the sprite's shape instead of its box: fragments below this alpha do not mask. Range 0–1. |
limitRange | boolean | false | Limit how far this mask reaches; off = every sprite drawn after it. |
rangeEndLayer | enum (sortingLayers) | 0 | Last sorting layer this mask reaches. Range step 1. |
rangeEndOrder | number | 0 | Last order inside that layer this mask reaches, inclusive. Range -128–127, step 1. |
enabled | boolean | true |
TrailRenderer
A ribbon trailing the entity as it moves, tapering and fading over its lifetime.
Explained in graphics/sprites.
| Field | Type | Default | Notes |
|---|---|---|---|
time | number | 0.5 | Seconds each trail point lives before it fades out of the tail. Range ≥ 0. |
minVertexDistance | number | 5 | Min world distance moved before a new trail point is recorded. Range ≥ 0. |
emitting | boolean | true | Record new points. False = freeze and let the streak fade in place. |
startWidth | number | 20 | Full ribbon width at the head (newest point). Range ≥ 0. |
endWidth | number | 0 | Full ribbon width at the tail (oldest point). Range ≥ 0. |
startColor | Color | #ffffff | Color at the head (newest point). |
endColor | Color | #ffffff00 | Color at the tail (oldest point) — usually alpha 0 to fade out. |
texture | Asset<texture> | none | |
blendMode | number | 0 | Blend mode: 0 Normal, 1 Additive (glow), 2 Multiply, … |
layer | enum (sortingLayers) | 0 | Sorting layer — controls draw order across renderables. Range step 1. |
material | Asset<material> | none | |
enabled | boolean | true |
Video
Plays a video stream onto a surface in the world or the UI.
Explained in graphics/video.
| Field | Type | Default | Notes |
|---|---|---|---|
source | Asset<video> | none | |
autoplay | boolean | true | |
loop | boolean | true | |
muted | boolean | true | |
volume | number | 1 | |
playbackRate | number | 1 | |
fitSize | boolean | true | |
enabled | boolean | true |