> For the complete documentation index, see [llms.txt](https://docs.decentraland.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.decentraland.org/creator/content-creator-zh/chang-jing-bian-ji-qi/jiao-hu-xing/smart-items.md).

# 智能物品 - 基础

在你的场景中使用智能物品来增加交互性。

场景编辑器目录中的一些物件是 **智能物件**。玩家可以与这些物件交互，它们具有可配置属性，并且可以触发其他智能物件上的动作。例如：可打开和关闭的门、可上下移动的平台，或可激活其他物件的按钮和拉杆。

{% embed url="<https://www.youtube.com/watch?v=z7HF4GR01hE>" %}

在资源包浏览器中，你可以通过闪电图标和不同颜色的背景识别这些物件。

![](https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-f368bfdf7894d18f29875528bdd91cf8429e70b3%2Fsmart-items.jpg?alt=media)

在实体树中，你可以通过旁边的闪电图标识别场景里的哪些物件是智能物件。

![](https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-26c0c6fbe09714f92806651fe637acf153da0e80%2Fsmart-item-icon.png?alt=media)

## 使用物件

要使用智能物件，只需像其他物件一样将其拖入场景中。所有物件都包含默认行为，运行场景预览试试看。

以下是一些常见物件及其默认行为：

* **门**：点击时门会打开或关闭。你可以更改此行为，使其通过按钮、触发区域等方式打开。
* **按钮**：点击时，它们会播放声音和动画作为反馈。为其触发事件添加更多动作，以激活其他智能物件。
* **拉杆**：点击时，它们会在两种状态之间切换。让拉杆的每个位置对其他智能物件执行不同动作。
* **宝箱**：它们的行为类似于门，默认在点击时打开或关闭。你可以在其中放置较小的物件。
* **平台**：它们在两个位置之间移动。使用它们的 tween 动作来控制移动到哪里、速度等。
* **触发区域**：一个不可见的物件，当玩家走入其区域时可触发其他智能物件。参见 [关于触发区域](#trigger-areas).
* **头像修改区域**：一个不可见区域，会改变其中头像的行为或外观，例如隐藏头像或禁用护照弹窗。参见 [修改区域](/creator/content-creator-zh/chang-jing-bian-ji-qi/jiao-hu-xing/modifier-areas.md).
* **摄像机修改区域**：一个不可见区域，在其中时会强制玩家的摄像机切换为第一人称或第三人称。参见 [修改区域](/creator/content-creator-zh/chang-jing-bian-ji-qi/jiao-hu-xing/modifier-areas.md).
* **视频播放器**：一个用于显示视频或直播流的屏幕。参见 [播放视频](#playing-videos).
* **音频流**：从直播流播放音频。参见 [播放音频流](#playing-audio-streams)
* **NFT**：将 NFT 图像显示为画像。参见 [显示 NFT](#displaying-nfts)

所有智能物件都可以配置为以自定义方式运作。例如平台移动多远，或者按钮激活什么。

## 配置物件

在场景编辑器中选择一个物件，即可在右侧查看其所有属性。

大多数智能物件将其行为保存在 [脚本组件](/creator/content-creator-zh/chang-jing-bian-ji-qi/shi-yong-dai-ma-kuo-zhan/script-component.md)。它们的设置会显示在 **脚本** 面板中，每个参数对应一个字段，每个字段都有提示说明其作用。使用它们不需要编写任何代码。

许多物件中常见的一些典型字段有：

* **悬停文本**：当玩家将光标移到物件上方时，UI 中显示的提示文本。例如门可能显示“打开”
* **交互**：使用哪个按键激活物件？在普通键盘上：
  * **主键** 为 **E**
  * **次键** 为 **F**
  * **指针** 为 **鼠标左键**
  * **动作3** 是按键 **1**
  * **动作4** 是按键 **2**
  * **动作5** 是按键 **3**
  * **动作6** 是按键 **4**
* **响应该物件的钩子**：在这些参数中，你可以选择在特定时刻运行的动作。物件有哪些这取决于它的功能。按钮具有 **onClick**，拉杆具有 **onActivate** 和 **onDeactivate**，移动平台具有 **onReachStart** 和 **onReachEnd**，铃铛具有 **onRing**。将钩子留空，则该时刻不会发生任何事情。

每个物件都有其特定设置，不同物件之间可能会有所不同。

少数物件仍使用旧版 **配置** 面板。例如，灯光仍在那里设置颜色和强度。

所有物件都有一个 **高级模式** ，可以让你几乎配置它们的任何内容。这包括播放什么声音、平台朝哪个方向移动等。你也可以添加自定义动作，包含各种内容，例如传送玩家、播放头像动画、将物件附着到玩家双手上等。你还可以添加条件逻辑，只在某些场景下激活某些内容。参见 [智能物品 - 高级](/creator/content-creator-zh/chang-jing-bian-ji-qi/jiao-hu-xing/smart-items-advanced.md).

![](https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-958f6f53945e119e770d84f808814c18d173c9c1%2Fadvanced-mode.png?alt=media)

## 在其他物件上调用动作

智能物件可以触发其他智能物件上的动作，因此每次该物件被激活时都会执行。只需从场景中所有物件的列表里选择你要调用的物件，然后选择一个动作。不同物件提供的动作不同。

例如，这里有一个可打开或关闭门的按钮。每次按下按钮时，门要么打开，要么关闭。

![](https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-110156bc3c8fa17336e61490402e1cb19d83ff47%2Fbutton-to-door.png?alt=media)

这里有一个拉杆，激活时打开门，停用时关闭门。

![](https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-6e4cb24dd1b7e3e9b438b8825c0479672bc2254c%2Flever-to-door.png?alt=media)

你可以添加尽可能多的来自不同物件的动作，让它们一起触发。只需点击 **+ 分配动作**.

删除动作的方法是点击动作旁边的三个点，然后选择 *删除动作*.

物件提供的动作会保留其熟悉的名称，例如 **打开**, **关闭**, **坐在这里**, **打开**，或 **传送**，因此物件之间的连接方式与以往完全相同。

你也可以串联动作。例如，如果拉杆的 **onActivate** 会打开一扇门，而那扇门自己的钩子又触发了别的东西，那么拉杆就会间接触发整个链条。

如果你使用 [高级模式](/creator/content-creator-zh/chang-jing-bian-ji-qi/jiao-hu-xing/smart-items-advanced.md) ，也可以为这类动作添加条件逻辑。

## 特殊智能物件

某些智能物件具有独特特性，在常见场景中非常实用：

### 触发区域

使用“触发区域”智能物件，在玩家走入某个区域时触发动作。

![](https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-649dfd99d06849f543399b5b89a6a31a015cb439%2Ftrigger.png?alt=media)

使用 **玩家进入区域** 和 **玩家离开区域** 物品上的触发类型 **触发器** 组件。这些触发事件上的动作会在玩家每次进入或离开该区域时激活。

![](https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-f8389cd077c495e0b8ada33ca0da01800eee7dcd%2Fon_player_enters.png?alt=media)

参见 [触发区域](/creator/content-creator-zh/chang-jing-bian-ji-qi/jiao-hu-xing/trigger-area.md) 。

### 隐形墙

一组不可见形状，可阻止玩家穿过某区域或穿透点击。

当导入没有碰撞网格的 3D 模型时，或者当你想创建对玩家不可见的墙时，这些隐形墙会很有用。

参见 [碰撞体](/creator/content-creator-zh/chang-jing-sdk7/3d-nei-rong-ji-chu/colliders.md) 。

### 点击区域

一个不可见立方体，玩家可以点击它以触发任何其他智能物件上的动作。该物件可由其他任意智能物件启用或禁用，禁用时无法点击。你还可以设置玩家将光标指向它时看到的文本。

![](https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-e8ab432fd689e68f097f47e600c1789404f7ee4c%2Fclick-area.png?alt=media)

### 座位

椅子、长凳和其他座位可让玩家通过点击坐下。

* 座位只有在占用它的玩家 **走开** 离开超过 1.5 米时才会空出。
* 对于有多个位置的物件，如长凳，点击它会让你坐在 **最近的空位**.
* 当所有位置都被占用时，悬停文本显示 **座位已被占用** ，点击不会有任何反应。

### 传送

该 **传送** 物件在玩家与其交互时会将玩家发送到别处。

设置 **x** 和 **y** 参数，将他们发送到 Genesis City 中的一个地块。若要把他们发送到一个 [世界](/creator/content-creator-zh/chang-jing-sdk7/fa-bu/publishing-options.md#decentraland-worlds) ，则请填写 **世界** 参数，填入世界名称，例如 `myname.dcl.eth`，并将坐标留空。

{% hint style="warning" %}
**📔 注意**：以前曾有一个单独的 **世界传送** 物件。它已被移除。请使用 **传送** 物件及其 **世界** 参数代替。
{% endhint %}

### 播放视频

可从以下来源播放视频：

* **本地文件**
* **从 URL 流式播放**
* **直播来源：** [**Decentraland Cast**](/creator/content-creator-zh/chang-jing-bian-ji-qi/shi-shi-yun-wei/live-streaming.md#dcl-cast-easy)
* **直播来源：** [**RTMP 软件**](/creator/content-creator-zh/chang-jing-bian-ji-qi/shi-shi-yun-wei/live-streaming.md#stream-advanced) **（OBS、XSplit、StreamYard 等）**

{% hint style="warning" %}
**📔 注意**：播放视频对性能要求较高，因此请尽量减少同时播放的视频数量。引擎会根据每位玩家的画质设置限制可同时播放的视频数量（低画质 1 个、中画质 5 个、高画质 10 个），并会暂停超出该限制的任何视频。参见 [播放视频](/creator/content-creator-zh/chang-jing-bian-ji-qi/jiao-hu-xing/video-screen.md#play-videos).
{% endhint %}

参见 [播放视频](/creator/content-creator-zh/chang-jing-bian-ji-qi/jiao-hu-xing/video-screen.md) 。

### 播放音频流

使用 **音频流** 智能物件从 URL 播放音频流。

{% hint style="info" %}
**📔 注意**：并非所有流媒体服务都允许在其网站外播放其音频。以下是在 Decentraland 中可用的一些示例：

```ts
GRAFFITI = 'https://n07.radiojar.com/2qm1fc5kb.m4a?1617129761=&rj-tok=AAABeIR7VqwAilDFeUM39SDjmw&rj-ttl=5'
SIGNS = 'https://edge.singsingmusic.net/MC2.mp3'
DELTA = 'https://cdn.instream.audio/:9069/stream?_=171cd6c2b6e'
JAZZ = 'https://live.vegascity.fm/radio/8010/the_flamingos.mp3'
```

{% endhint %}

你可以调整流的音量。请注意，流音频不是位置音频，而是在整个场景中以均匀音量播放。

### 显示 NFT

要在画框上显示 NFT，请使用 **NFT** 智能物件。你必须提供以下字段：

* 网络

{% hint style="info" %}
**📔 注意**：目前 **ethereum** 是唯一受支持的网络。
{% endhint %}

* NFT 合集合约：该 NFT 合集的智能合约。
* Token ID：这个特定 NFT 藏品的令牌 ID。

<img src="https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-a9cb3597437e714e11f51e76c1315a1420e3d93e%2Fnft-shape.png?alt=media" alt="NFT 形状" width="400">

你可以从以下位置获取这些信息： [OpenSea](https://opensea.io)，检查 **详情** NFT 图片下方的选项卡。

<img src="https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-65a8932cfc446537eb6340c224fa47d067a12143%2Fopensea.png?alt=media" alt="OpenSea 详情" width="400">

{% hint style="info" %}
**📔 注意**：你也可以从 opensea URL 中获取这些信息。例如，如果 NFT 的 URL 如下：

> `https://opensea.io/assets/ethereum/0x32b7495895264ac9d0b12d32afd435453458b1c6/1956`

你可以按如下填写这些字段：

* 网络：ethereum
* 合约：0x32b7495895264ac9d0b12d32afd435453458b1c6
* 代币：1956
  {% endhint %}

你还可以配置背景颜色，这对具有透明背景的 NFT 尤其有用。

你还可以选择一种 **框架样式**，以多种不同风格——经典或现代——来为 NFT 加框。

参见 [NFT](/creator/content-creator-zh/chang-jing-bian-ji-qi/gou-jian/nfts.md) 了解更多详情。

### 生命条

![](https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-7527837b3d800afc079980b60be5474e6d055b56%2Fhealth-bar.png?alt=media)

该 **生命条** 智能物件是多种游戏机制的绝佳基础组件。它可以以多种方式使用：

* 将其嵌套在 **玩家** 下方，可在头像上方显示玩家生命值

  ![](https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-4ba51729ed3cbcd78807385e4a315de8ea460a96%2Fnested-under-player.png?alt=media)
* 将其嵌套在 **摄像机** 将其固定显示在 UI 上

  ![](https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-3072a9cf441ecc75b66fba64c9ccbb367c4eb4f7%2Fnested-under-camera.png?alt=media)
* 将其嵌套在场景中的任意物件下方，以跟踪该物件的生命值

  ![](https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-5c9737b98956f6817efd09ad5de786331cbd9666%2Fnested-under-barrel.png?alt=media)

其他物件可以与生命条交互，为其增加或减少生命值。

* 类似于以下物件的 **尖刺** 或 **机器人敌人** 可以降低生命值

  ![](https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-aed73698225063ac5cdd7257d9de8eb7c571e632%2Freduce-health.png?alt=media)
* 诸如 **急救** 或 **治疗板** 可以恢复它。

  ![](https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-2c80447061c76ae6b412ecbea4853f34d03469aa%2Frestore-health.png?alt=media)

你必须配置生命条，定义当生命值为 0 时会发生什么。你可以将玩家重生到一个 **重生点板** 智能物件的位置、重置玩家分数计数器、重生所有敌人、显示 UI 文本，或任何符合你游戏逻辑的操作。

你也可以在生命值低于某个数值时触发动作，例如当生命值低于 3 时播放特殊音乐或显示 UI 提示。

生命条可以配置为影响任何对象！例如，在 **木门** 智能物件下添加一个生命条。玩家可以使用 **剑** 智能物件降低该条的生命值，也可以通过来自 **木桶** 的爆炸，或 **机器人敌人**的攻击来降低。为此，请配置生命条，使其在数值为 0 时对其父物件执行一个动作。

![](https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-88d81e8b8ea6b0985853612179ccbe55fff7e1a4%2Fwall-with-health.png?alt=media)

类似于 **剑** 的武器可以被玩家拾取，然后在执行该动作时，对玩家附近任何带生命条的其他物件造成伤害。

## 多人游戏

几乎所有智能物件都具有多人行为，因此随着物件状态变化，场景中的所有玩家都会共享相同体验。如果玩家 A 打开一扇门，玩家 B 也会看到那扇门打开。如果玩家 C 在其他玩家仍在场景中时进入场景，她也会看到门已经打开。

但是，如果场景附近没有玩家，场景就会恢复到默认状态。因此，如果所有玩家都离开了，随后玩家 A 回来，她会发现门是关闭的（如果那是门的默认状态）。

请确保你设计的场景不会让一名玩家的操作破坏后来玩家的体验。例如，如果场景是解谜游戏，你可以在 *延迟* 动作中，使用一个 *工具* 智能物件，让场景中的所有物件在谜题解开几秒后重置为初始状态。

你也可以禁用物件的多人行为，参见 [智能物品 - 高级](/creator/content-creator-zh/chang-jing-bian-ji-qi/jiao-hu-xing/smart-items-advanced.md).

## 故障排除

* *场景中的一个物件应该可以点击，但却无法点击*.

确保它没有被其他东西遮挡。你无法穿过其他物件点击。某些物件有一个 *碰撞器网格* ，它具有简化几何体，即使其可见形状看起来并未遮挡，也可能挡住你的物件。尝试移动该物件看看会发生什么。

## 另请参阅

* [智能物件 - 高级](/creator/content-creator-zh/chang-jing-bian-ji-qi/jiao-hu-xing/smart-items-advanced.md)
* [状态和条件](/creator/content-creator-zh/chang-jing-bian-ji-qi/jiao-hu-xing/states-and-conditions.md)
* [让任意项目变为智能项目](/creator/content-creator-zh/chang-jing-bian-ji-qi/jiao-hu-xing/make-any-item-smart.md)
* [与代码结合使用](/creator/content-creator-zh/chang-jing-bian-ji-qi/shi-yong-dai-ma-kuo-zhan/overview.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.decentraland.org/creator/content-creator-zh/chang-jing-bian-ji-qi/jiao-hu-xing/smart-items.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
