传送

Tutorial

Beginner

+0XP

30 mins

(17)

Unity Technologies

传送

让我们创建一个传送装置,以便可以在地图中传送 Ellen。我们将为 Ellen 创建一个空间,以便她可以步入其中,然后就会被传送到场景中的其他任何位置。

Languages available:

1. 场景内传送

让我们创建一个传送装置,以便可以在地图中传送 Ellen。我们将为 Ellen 创建一个空间,以便她可以步入其中,然后就会被传送到场景中的其他任何位置。

要在场景内传送 Ellen,你需要设置一种过渡。为此,我们使用 TransitionStart 预制件。此预制件将 Ellen“发送”到目的地。此预制件包含一个 Transition Point 组件。该组件可以定义传送起点位置以及传送功能应将 Ellen 发送到的位置等所有属性。

首先,我们需要设置过渡的起点:

在 Project 窗口中,选择 Assets > 3DGamekitLite > Prefabs > SceneControl

  • 找到 TransitionStart 预制件。
  • TransitionStart 拖到 Scene 视图。将该预制件放置在 Ellen 可以步入碰撞体(绿色线框盒体)的位置。在以下示例中,我们已创建一个门框并将该预制件放入其中:

要设置目的地,请执行以下操作:

  • 将另一个 TransitionStart 预制件从 SceneControl 文件夹拖入 Scene 视图中,然后将该预制件放入新的出口门框中。
  • 将该预制重命名为 TransitionEnd

现在,我们将两者关联在一起:

  • Hierarchy 窗口中,选择 TransitionStart 游戏对象。
  • Inspector 窗口中,找到 Transition Point 组件。
  • Ellen 游戏对象从 Hierarchy 窗口拖入 Transition Point 组件的 Transitioning Game Object 字段中。
  • Transition Type 设置为 Same Scene

On Trigger Enter 表示仅在 Ellen 进入碰撞体时(而不是按键时)激活过渡。如果你希望仅在玩家按下交互键 (E) 时才进行传送,请将 Transition When 设置为 Interact Pressed

2. 传送到另一场景

Ellen 从一个场景传送到另一个场景需要更多的一些设置。要使 Ellen 过渡到新场景,我们需要两个预制件:

  • TransitionStart 与上一节中使用的预制件相同。
  • TransitionDestination 是一个“接收”Ellen 的预制件。此预制件包含一个 Transition Destination 组件。将此预制件放置在你希望过渡到的另一个场景中。

请参阅组件参考指南以了解这两个组件的完整详细信息。

让我们首先设置目的地,以便获得稍后在设置起点时所需的所有信息。

设置过渡目的地

要向场景添加过渡,请打开目的地场景,导航到 Project 窗口,然后选择 Prefabs > SceneControl。将 TransitionDestination 拖入你的场景中,放置在你希望传送器到达的位置。

TransitionDestinaton 预制件包含一个 Scene Transition Destination 组件:

首先,将 Destination Tag 设置为一个字母。具体设置为哪个字母不重要,只要具有该字母的这个 Scene Transition Destination 组件在场景中具有唯一性即可。

下一步,你需要说明应该接收哪个游戏对象。将 Ellen 游戏对象从 Hierarchy 窗口拖入 Transitioning Game Object 字段。

最后,确保你的目的地场景位于编辑器的 Build Settings 中。为此,请选择 File > Build Settings,然后选择 Add Open Scenes

设置 TransitionStart

这些设置与上一节中的相应设置基本相同,但有一些差异:

  • Transition Type 设置为 Different Zone
  • New Scene Name 设置为要发送到的目的地场景
  • Transition Destination Tag 设置为你在 Transition Destination 组件中设置的 Destination Tag 字母。

Play 并走到过渡所在的位置。你应该前往另一个场景中放置 TransitionDestinaton 预制件的位置。

Complete this Tutorial