Skip to content

收集物

DLSample提供了宝石和皇冠两种基础收集物。

一.宝石

DLSample/Resources/Prefabs下找到Gem预制体,直接拖入场景即可使用。

如果出现无法拾取的情况,请检查:

  1. 角色是否添加了TriggeryCollector组件和Rigidbody组件(详见第二节“示例场景”)。
  2. 宝石是否添加了Collider组件,并且勾选了IsTrigger
  3. 宝石物体的Layer是否在TriggeryCollectorExcludeLayers中。

二.皇冠

DLSample中,皇冠默认只能通过检查点拾取。DLSample提供了皇冠检查点,在DLSample/Resources/Prefabs下找到CrownCheckpoint预制体,拖入场景中。

皇冠检查点

皇冠检查点上挂载了CrownCheckpoint组件,可能还有PathGrapherTransformMover组件(详见PathGrapher)。此处仅介绍CrownCheckpoint组件。

字段说明

  • CheckTime : DLSample中,为保证时间对齐,检查点被设计为基于时间触发。CheckTime即为触发检查点的时间。时间数据可以通过上文提到的PathGrapherTransformMover组件获取,也可以自行计算。
  • MainPlayerRespawnTransform : 复活时,主要角色复活时的位置和方向即为MainPlayerRespawnTransform的位置和方向。
  • Visualize : 勾选即可预览MainPlayerRespawnTransform的位置以及朝向。
  • Crown : 当前皇冠检查点所属的皇冠。

皇冠

如果你的关卡不需要检查点,也可以通过给挂载了Crown组件的对象添加Collider组件来使得TriggeryCollector可以直接拾取皇冠。

三.自定义收集物

可以通过实现ICollectable接口自定义收集物。见DLSample/Scripts/Runtime/Gameplay/Behaviours/Collectables/ICollectable.cs

csharp
public interface ICollectable
{
    string TypeId { get; }
    bool IsCollected { get; }
    void Collect();

    event Action OnCollect;
}

Powered by VitePress