For the complete documentation index, see llms.txt. This page is also available as Markdown.

实体和组件

了解物品的组件如何工作

在画布上或实体树中点击一个项目来选中它。然后你会在屏幕右侧的属性面板中看到其组件显示出来。不同的项目有不同的组件,每个组件都会显示特定设置。



大多数非交互式项目具有以下组件:

  • Transform:设置项目的位置、旋转和缩放。如果该项目是另一个项目的子项,则这些值相对于父项的 实体树,这些值相对于父项的值。

  • GLTF:要加载的 3D 模型。它包含该 3D 模型文件的本地路径。它还包含一些用于配置 碰撞体 的属性。

你场景中的项目全都是 实体。场景中的一切都是实体,它们是场景的基本构建块。项目是至少具有位置和可见形状的实体。

添加组件

要向任何实体添加组件,请点击 + 属性选项卡顶部的加号,并从列表中选择该组件。参见 让任何项目变得智能

在实体上打开的添加组件菜单,会列出按 3D 内容和交互分组的组件。

你可以通过点击其右侧的三个点图标,并选择 删除组件.

从零创建实体

要创建一个全新的实体,请右键单击根 场景 实体树中的实体,或任何其他实体,然后选择 添加子项



这将创建一个空实体,只带有一个 Transform 组件。新实体将成为你点击的父实体的子项。然后你可以向它添加任何你想要的其他组件,把它塑造成任何你想要的东西。

可用组件

以下组件可以通过场景编辑器界面添加到任何实体:

  • Mesh Renderer:根据基本形状(立方体、平面、圆柱体或球体)为实体赋予可见形状。

  • Mesh Collider:为实体赋予一个不可见的碰撞体几何体。它可以阻止玩家穿过该项目,并且/或者让它可点击。参见 碰撞体.

  • Material:定义具有 Mesh Renderer 组件的实体的颜色、纹理及其他属性。参见 材质.

  • 可见性:定义实体是否不可见。

  • 光源:为实体添加一个光源。

  • 替换材质:替换具有 GLTF 组件的实体的材质。如果 3D 模型有多个网格,你可以分别替换每个网格的材质。

  • Audio Source:在实体位置播放音频文件中的声音。参见 声音.

  • 文本形状:在 3D 空间中显示文本。参见 文本.

  • 指针事件:将实体标记为可点击,并显示悬停提示。

  • 多人模式:共享对实体发生的任何更改,以便场景中的所有玩家都能看到。它可以配置为只共享某些组件上的更改。参见 无服务器多人模式 了解更多详情。

  • Animator:控制具有 GLTF 3D 模型的实体上的动画播放。参见 3D 模型动画.

  • 补间:使实体在一段时间内逐渐移动、旋转或缩放。参见 移动实体.

  • 广告牌:使实体始终旋转以面向玩家。参见 面向用户.

  • 头像附加:将实体附加到玩家的头像上,使其跟随玩家移动。参见 将实体附加到头像.

  • 视频播放器:在场景中播放视频,可通过其 Material。参见 视频播放.

  • NFT 形状:在一个框架中显示 NFT 的图像。参见 显示 NFT.

  • 粒子系统:从实体位置发射粒子,用于实现烟雾、火焰或闪光等效果。参见 粒子系统.

  • 虚拟摄像机:定义一个自定义摄像机角度,场景可切换玩家视图到该角度。参见 摄像机.

  • 头像修改区域:更改位于以该实体为中心的区域内的玩家头像的行为或外观。实体的缩放决定该区域的大小。参见 修改区域.

  • 摄像机修改区域:在以该实体为中心的区域内强制玩家摄像机切换为第一人称或第三人称。实体的缩放决定该区域的大小。参见 修改区域.

  • 脚本:将自定义代码模块附加到实体,并带有你可以从界面配置的参数。参见 脚本组件.

值得了解的设置

大多数组件字段都与上面链接的 SDK 页面一一对应。有些很容易被忽略,或者其行为从字段名称上看并不明显。

Audio Source

音高 会乘以播放速度,并随之改变音高。 1 播放原始声音, 2 以两倍速度播放(高一个八度), 0.5 以半速播放(低一个八度)。它必须大于 0,默认值为 1.

视频播放器

  • 播放速率:与音高类似,但用于视频。 1 为正常速度。留空则使用默认值。

  • 开始位置(秒):视频开始时的播放起点。留空则从头开始。

  • 空间音频:开启 空间 可使视频声音具有空间定位效果,因此当玩家走远时音量会减弱。 空间距离 然后设置范围:音频在以下距离内以全音量播放: 最小 米,并在以下距离衰减至静音: 最大 米。默认值为 0 和 60。

当 空间 关闭时,音频在场景中的任何位置都会以相同音量播放。

文本形状

  • 大小:宽度(宽)和高度(高)文本框的尺寸,单位为米。对齐和内边距都以此框为基准。

  • 文本换行:当文本达到在 大小:设置项目的位置、旋转和缩放。如果该项目是另一个项目的子项,则这些值相对于父项的

Material

  • 颜色透明度:主 颜色的透明度,范围从 0 到 1。它在以下情况下无效: 透明模式 为 不透明.

  • Alpha 测试:像素变为不可见的阈值。它仅在以下情况下显示: 透明模式 为 Alpha 测试 或 Alpha 测试和混合,因为只有这些模式会使用它。

  • 无:颜色下拉菜单现在提供一个 无 可清除颜色的选项,而纹理 类型 下拉菜单提供 无 以移除纹理。

粒子系统

该 旋转 部分控制粒子的朝向以及旋转方式:

  • 广告牌:每个粒子始终面向摄像机。默认开启。对于应在 3D 中自由翻滚的粒子,请将其关闭。

  • 面向移动方向:每个粒子在生成时都朝向其移动方向,就像箭头一样。

  • 初始旋转(度):每个粒子生成时的旋转角度,按轴分别设置。

  • 随时间旋转(度/秒):每个轴的旋转速度。每个轴的数值上限为 180。

当 使用纹理 开启时,还会出现另外两个下拉菜单:

  • 环绕模式:纹理在超出边缘后的行为。 截断 (默认)会拉伸边缘像素, 重复 将其平铺, 镜像 通过交替翻转进行平铺。

  • 过滤模式:纹理如何被采样。 双线性 (默认)较平滑, 点采样 会呈现像素化效果,适合像素风艺术, 三线性 会在 mipmap 级别之间进行平滑处理。

补间

补间类型 提供五种模式:

模式
作用

移动项目, 旋转项目, 缩放项目

在以下时间内从起始值动画到结束值: 持续时间.

持续移动

以固定方向、恒定速度永远移动。

持续旋转

绕固定轴以恒定速度永远旋转。

这两种持续模式没有结束值,因此 开始, 结束, 持续时间, 缓动函数 和 循环 会被隐藏。取而代之的是:

  • 持续移动:一个 方向 向量,以及一个 速度(米/秒)。请使用长度为 1 的方向向量,这样速度才正好是米/秒。负速度会向相反方向移动。

  • 持续旋转:一个 旋转轴(度) 以及一个 速度(度/秒)。只需关注轴的方向,角度大小无关紧要。

切换 补间类型 会将这些值重置为适合新模式的合理默认值,因为在每种模式下这些数字的含义都不同。

该 播放中 复选框(之前称为“自动开始”)决定补间是否在场景加载后立即运行。关闭后,补间会在起始值处暂停创建,并且只有在你的代码将其设为播放时才会运行。

💡 提示某些组件属性只能通过代码设置。在检查器中编辑实体不再会丢弃这些属性,因此你可以在场景代码中设置一个值,然后继续在该实体上使用编辑器而不会丢失它。

智能项目

智能项目 还可以包含用于控制实体交互性的特殊组件。它们通常是:

  • Actions:列出该项目可以执行的所有可能动作。

  • 触发器:决定何时执行 Actions 组件中的动作。

  • 状态:跟踪项目的当前状态。状态可用于条件逻辑,仅在项目处于某种状态时触发某些动作。

  • 计数器:跟踪一个计数器。该计数器可用于条件逻辑,仅在计数器值等于/大于/小于给定值时触发某些动作。

参见 智能项目进阶 了解更多详情。

关于实体和组件

场景中的一切都是实体。场景中的所有项目和智能项目都是实体。

实体的所有特性都由其组件决定。它们定义实体是什么、位于何处、声音如何以及行为如何。例如,一个 Transform 组件会存储实体的坐标、旋转和缩放。一个 MeshRenderer 组件会为实体提供可见形状(如立方体或球体),而一个 Material 组件会为实体提供颜色或纹理。

组件上的值可以随时间变化。在场景编辑器中,你可以配置这些组件的初始值。但一旦场景运行,玩家的操作或时间流逝都可能改变这些值。

例如,一个移动平台智能项目有一个初始位置,你可通过其 Transform 组件来设置,但在该项目的动作使其移动之后,它的 Transform 将会持有不同的值。

参见 实体与组件 以深入了解这一概念以及它们在 Decentraland 场景中的使用方式。

最后更新于