IN THIS ARTICLE
组件参考
组件为**开放三维引擎(O3DE)**中的实体添加功能。一个实体可以包含任意数量或组合的组件。有些组件允许每个实体只有一个实例,有些则依赖于其他组件才能运行。
组件由 Gems 提供。要在O3DE 编辑器中使用一个组件,必须添加提供该组件的 Gem。虽然组件可能属于同一类型,但它们可能不是由同一个 Gem 提供的。您可以在组件的参考主题中找到提供该组件的 Gem。
为实体添加组件
在 O3DE 编辑器中为实体添加组件:
- 在 Entity Outliner 或 Perspective,点击一个实体来选择它。这将在Entity Inspector中显示实体的详细信息。
- 在Entity Inspector中,点击Add Component。
- 从组件列表中选择一个组件添加到实体中。
Note:如果在Add Component列表中找不到组件,可能需要启用提供该组件的 Gem 并重建项目。
组件
以下组件按 O3DE 编辑器中出现的类型分组。
Animation
| 组件 | 说明 |
|---|---|
| Actor | 添加与骨骼绑定的网格组,该网格组可由来自 Anim Graph 或 Simple Motion 组件的动画数据驱动。 |
| Anim Graph | 管理在 “动画编辑器”(Animation Editor)中创建的资产集,包括动画图、默认参数设置和为相关Actor分配的动作集。 |
| Attachment | 允许一个实体连接到另一个实体骨架上的骨骼。 |
| Simple LOD Distance | 为Actor的每个细节级别(LOD)设置与摄像机的距离。 |
| Simple Motion | 为相关的 Actor 指定一个动作。这是动画图形组件的一种更简单的替代方案。 |
Atom Renderer
| 组件 | 说明 |
|---|---|
| Bloom | 模拟真实世界中的光渗入或发光。 |
| Chromatic Aberration | 模拟透镜效应,将波长不同的光线聚焦到不同的点上。 |
| CubeMap Capture | 捕捉实体位置上的Specular IBL 或Diffuse IBL Cubemap。 |
| Debug Rendering | 用于可视化检查和调试场景的关卡组件。 |
| Decal (Atom) | 将纹理材质沿单一方向投射到网格表面。 |
| Deferred Fog | 创建屏幕空间雾化效果,可用作场景雾化或分层/地面雾化,并可选择云噪湍流。 |
| Depth of Field | 模拟真实世界中相机的镜头效果,聚焦于特定区域。 |
| Diffuse Global Illumination | 控制Diffuse Probe Grid组件提供的全局照明质量水平。 |
| Diffuse Probe Grid | 创建一个光探针体积,在指定区域内提供漫射全局照明。 |
| Directional Light | 光线从无限远的一点射向一个方向,类似于太阳光。 |
| Display Mapper | 为场景配置色调映射和调色。 |
| Entity Reference | 允许您为一个实体提供对其他实体的引用。 |
| Exposure Control | 调整相机在场景中曝光的光量。 |
| Global Skylight (IBL) | 创建基于图像的全局照明效果,使用 HDR 天空盒图像为场景计算光照。 |
| Grid | 为场景添加自定义网格。 |
| HDRi Skybox | 使用 HDR 图像在场景中创建天空盒。 |
| Light | 通过创建各种类型的点光源和区域光源,模拟柔和的演播室光线。 |
| Look Modification | 配置调色查找表 (LUT)。 |
| Material | 管理和定制应用于模型、Actor和其他兼容组件的材质。 |
| Mesh | 指定要渲染的模型。 |
| Occlusion Culling Plane | 创建一个遮挡器,当它位于摄像机和网格之间时,可以阻止网格被渲染。 |
| Physical Sky | 调整场景的物理环境,如天空、太阳和雾。 |
| Post-processing Modifiers | 定义图层、体积、面积和权重的组件集合,用于后期特效处理(PostFX)。 |
| Reflection Probe | 在探头(捕捉点)周围的环境中产生镜面反射。 |
| SSAO | 通过使用屏幕空间环境遮蔽技术,近似场景中的间接照明。 |
| Stars | 提供与分辨率无关的基于物理的遥远恒星动画。 |
Audio
| 组件 | 说明 |
|---|---|
| Audio Animation | 增加了在动画事件发生时执行音频触发器的功能。 |
| Audio Area Environment | 使在形状周围和整个形状中移动的实体能够在其触发的任何声音中应用环境效果。 |
| Audio Environment | 应用环境效果,如混响或回声。 |
| Audio Listener | 允许在环境中放置虚拟麦克风。 |
| Audio Preload | 加载和卸载音频转换层预载中包含的声音库。 |
| Audio Proxy | 如果在一个实体中添加了多个音频组件,则需要音频代理组件来确保其他音频组件与同一个音频对象进行通信。 |
| Audio Rtpc | 提供基本的实时参数控制(Real-time Parameter Control,RTPC)功能,可让您实时调整音效。 |
| Audio Switch | 提供基本的音频转换层开关功能,用于指定实体的状态。 |
| Audio Trigger | 提供音频转换层触发器,允许您播放或停止音频。 |
| Multi-Position Audio | 可通过多个位置播放声音。 |
| MiniAudio Listener | 提供为空间音频播放设置 MiniAudio 监听器的功能。 |
| MiniAudio Playback | 提供使用 MiniAudio 播放声音的功能。 |
Camera
| 组件 | 说明 |
|---|---|
| Camera | 允许将实体用作摄像头。 |
| Camera Rig | 管理驱动摄像机实体的行为。 |
Editor
| 组件 | 说明 |
|---|---|
| Comment | 允许您为组件实体添加文本注释。 |
Gameplay
| 组件 | 说明 |
|---|---|
| Fly Camera Input | 允许您使用鼠标和按键输入来控制摄像机。 |
| Look At | 强制实体始终查看指定目标。 |
| Simple State | 提供了一个简单的状态机,可以激活和停用相关实体。 |
| Tag | 允许您对实体应用一个或多个标签。 |
| Input | 将原始输入与游戏中的事件绑定。 |
Gradient Modifiers
| 组件 | 说明 |
|---|---|
| Dither Gradient Modifier | 对输入灰阶进行有序抖动。 |
| Gradient Mixer | 结合其他灰阶生成新灰阶。 |
| Gradient Transform Modifier | 根据Shape组件为灰阶创建一个坐标空间。输入渐变的修改器将在此空间中应用。 |
| Invert Gradient Modifier | 反转灰阶值。 |
| Levels Gradient Modifier | 利用低点/中点/高点修改输入灰阶信号,并可箝位最小/最大输出值。 |
| Posterize Gradient Modifier | 将输入的灰阶信号划分为指定数量的波段。 |
| Smooth-Step Gradient Modifier | 生成的灰阶落差能平滑输入灰阶。 |
| Threshold Gradient Modifier | 将阈值应用于输入灰阶,生成只有两个值的输出灰阶。高于阈值的输入灰阶值设置为 1,低于阈值的输入值设置为 0。 |
Gradients
| 组件 | 说明 |
|---|---|
| Altitude Gradient | 在一定范围内根据高度生成渐变。 |
| Constant Gradient | 采样时以渐变形式返回指定值。 |
| FastNoise Gradient | 使用 FastNoise 生成渐变值,[ FastNoise 是一个包含多种实时噪声算法的噪声生成库。 |
| Image Gradient | 通过对图像资产采样生成渐变。 |
| Perlin Noise Gradient | 通过对培林噪声发生器采样生成渐变。 |
| Random Noise Gradient | G通过对随机噪音发生器进行采样,产生渐变。 |
| Reference Gradient | 引用另一个渐变。 |
| Shape Falloff Gradient | 根据与形状的距离生成渐变。 |
| Slope Gradient | 根据曲面角度生成渐变效果。 |
| Surface Mask Gradient | 根据底层曲面类型生成渐变。 |
Multiplayer
| 组件 | 说明 |
|---|---|
| Simple Network Player Spawner | 在网络多人游戏会话中,执行处理玩家加入和离开事件的基本设置。 |
Non-uniform Scale
| 组件 | 说明 |
|---|---|
| Non-uniform Scale | 允许实体在 x、y 和 z 轴上以不同大小缩放。默认情况下,实体只能在各坐标轴上等比例缩放。 |
NVIDIA PhysX
| 组件 | 说明 |
|---|---|
| Cloth | 将网格顶点视为具有物理特性的布粒子,从而模拟布的行为。 |
| PhysX Ball Joint | 模拟动态球形关节,将实体约束在关节上,并可绕关节的 Y 轴和 Z 轴自由旋转。 |
| PhysX Character Controller | 实现角色与物理世界的基本互动。 |
| PhysX Character Gameplay | 配置游戏中角色的一般属性,例如角色的重力强度。 |
| PhysX Dynamic Rigid Body | 将可移动实体定义为可移动的刚性物体,它是实体,可以与其他 PhysX 实体发生碰撞。 |
| PhysX Fixed Joint | 创建一个动态固定关节,将实体约束在关节上,在任何轴上都没有自由度。 |
| PhysX Force Region | 对指定区域内的物体施加物理力。 |
| PhysX Heightfield Collider | 根据Axis-Aligned Box组件创建一个几何碰撞体。 |
| PhysX Hinge Joint | 创建动态铰链关节,将实体约束在关节上,并可绕关节的 X 轴自由旋转。 |
| PhysX Mesh Collider | 允许您指定用于计算实体间碰撞的 PhysX 网格资产。 |
| PhysX Primitive Collider | 允许您指定用于计算实体间碰撞的原始形状。 |
| PhysX Prismatic Joint | 创建动态棱柱关节,将实体约束在关节上,保持相同的旋转,但允许实体沿一条轴自由移动。 |
| PhysX Ragdoll | 通过创建由关节连接的刚体层次结构来模拟布偶物理。 |
| PhysX Static Rigid Body | 将实体定义为不可移动的刚性物体,它是实体,可以与其他 PhysX 实体发生碰撞。 |
| PhysX Shape Collider | 根据Shape组件创建一个几何碰撞体。 |
Scripting
| 组件 | 说明 |
|---|---|
| Lua Script | 允许您使用 Lua 代码添加自定义逻辑和功能。 |
| Script Canvas | 允许您使用 Lua 代码添加自定义逻辑和功能。 |
Shape
| 组件 | 说明 |
|---|---|
| Axis Aligned Box Shape | 创建始终与轴线对齐的方框几何体。 |
| Box Shape | 为体积和触发器生成方框几何图形。 |
| Capsule Shape | 为体积和触发器生成胶囊几何图形。 |
| Compound Shape | 用简单的形状构建复杂的几何体,用于体积和触发器。 |
| Cylinder Shape | 为体积和触发器生成圆柱体几何图形。 |
| Disk Shape | 为区域和触发器生成圆盘几何图形。 |
| Polygon Prism Shape | 为体积和触发器生成 n 边棱柱几何图形。 |
| Quad Shape | 为区域和触发器生成四平面几何。 |
| Shape Reference | 使实体能够引用和重复使用形状组件。 |
| Sphere Shape | 为体积和触发器生成球形几何体。 |
| Spline | 为路径生成直线和曲线。 |
| Tube Shape | 为体积和触发器生成管道几何形状。 |
| White Box | 可以在 O3DE 编辑器中绘制 3D 代理网格草图。 |
| White Box Collider | 支持白盒网格的碰撞层和物理材质。 |
Surface Data
| 组件 | 说明 |
|---|---|
| Gradient Surface Tag Emitter | 启用渐变以发射表面标记。 |
| Mesh Surface Tag Emitter | 使静态网格能发出表面标记。 |
| PhysX Collider Surface Tag Emitter | 启用物理碰撞体发射表面标记。 |
| Shape Surface Tag Emitter | 使形状可以发出表面标记。 |
Terrain
| 组件 | 说明 |
|---|---|
| Terrain Physics Heightfield Collider | 以高度场和表面到材质映射的形式向物理碰撞体提供地形数据。 |
| Terrain Layer Spawner | 生成一个包含在可配置边界内的地形区域,并允许对重叠的地形层进行优先级排序。 |
| Terrain Macro Material | 为地形区域提供低保真色彩数据。 |
| Terrain Height Gradient List | 根据梯度列表提供地形高度数据。 |
| Terrain Surface Materials List | 定义曲面类型与渲染材质之间的映射关系。 |
| Terrain Surface Gradient List | 定义地形图层上梯度和表面类型之间的映射。 |
| Terrain World | 允许设置 “地形世界 ”的边界和高度查询分辨率。 |
| Terrain World Debugger | 提供显示 “地形世界 ”线框或边界表示的方法。 |
| Terrain World Renderer | 在 “地形世界 ”范围内渲染地形。 |
Test
| 组件 | 说明 |
|---|---|
| AssetCollectionAsyncLoaderTest | 允许您测试 AssetCollectionAsyncLoader 提供的 API。 |
UI
| 组件 | 说明 |
|---|---|
| UI Canvas Asset Ref | 允许将 UI 画布与实体关联。 |
| UI Canvas Proxy Ref | 允许您将一个实体与另一个管理 UI 画布的实体关联起来。 |
| UI Canvas on Mesh | 允许您在 3D 世界中的实体上放置 UI 画布,玩家可以通过光线投射与该实体进行交互。 |
Vegetation
| 组件 | 说明 |
|---|---|
| Landscape Canvas | 提供基于节点的编辑器,用于创作动态植被。 |
| Vegetation Asset List | 提供一组植被描述符。 |
| Vegetation Asset List Combiner | 提供植被描述符提供者的列表. |
| Vegetation Asset Weight Selector | 根据权重选择植被资产。 |
| Vegetation Layer Blender | 组合一系列植被区域,并按指定顺序应用。 |
| Vegetation Layer Blocker | 定义一个不能放置动态植被的区域。 |
| Vegetation Layer Blocker (Mesh) | 防止植被进入网格。 |
| Vegetation Layer Debugger | 启用植被层的调试可视化器。 |
| Vegetation Layer Spawner | 在指定区域创建动态植被。 |
Vegetation Filters
| 组件 | 说明 |
|---|---|
| Vegetation Altitude Filter | 限制在指定高度范围内的地表种植植被。 |
| Vegetation Distance Between Filter | 定义植被实例之间的最小距离。 |
| Vegetation Distribution Filter | 将植被的位置限制在梯度分布中的指定值范围内。 |
| Vegetation Shape Intersection Filter | 将植被的位置限制在与指定形状相交的表面上。 |
| Vegetation Slope Filter | 将植被的放置范围限制在指定的表面角度范围内。 |
| Vegetation Surface Mask Depth Filter | 将植被的放置范围限制在两个表面标签之间指定深度范围内的表面。 |
| Vegetation Surface Mask Filter | 根据表面掩膜-标签映射,筛选出植被。 |
Vegetation Modifiers
| 组件 | 说明 |
|---|---|
| Vegetation Position Modifier | 偏移植被的位置。 |
| Vegetation Rotation Modifier | 偏移植被的旋转。 |
| Vegetation Scale Modifier | 偏移植被的比例。 |
| Vegetation Slope Alignment Modifier | 偏移植被相对于地表角度的方向。 |
Supplemental Information
以下各页提供了有关各组成部分使用的数据和系统的更多信息。
| 组件 | 说明 |
|---|---|
| Paint Brush | 某些组件使用的绘制数据操作器。 |
| Terrain Detail Material | 为地形区域提供高保真材质数据。 |