Timeline—Signal Track

作者:追风剑情 发布于:2023-1-4 16:01 分类:Unity3d

我们可以在信号时间轴(Signal Track)上的指定帧上部署信号点,类似帧回调。

1、创建Signal Track

点击Timeline窗口上的“+”按钮,创建Signal Track。并将希望接收信号的GameObject拖到Signal Track上。

55555.png

111111.png

2、创建信号资产

Project面板上点击右键->Create->Signal

2222.png

3、部署信号

将信号资产拖到 Signal Track 上的指定帧上,当 Timeline 播放到这一帧时就会触发信号发射。

4、设置信号接收器

在希望接收信号的对象上挂上信号接收器组件(SignalReceiver)和自己定义的用来处理信号的脚本(如这里的TestSignalReceiver.cs),并在SignalReceiver组件中为希望接收的不同信号设置回调函数。

44444.png

选中Signal Track上的信号标签,并设置要发送的信号。

33333.png

Retroactive:如果勾选上,当Timeline开始播放的起始位置在信号之后时,起始位置之前的信号会立即触发。
Emit Once:如果勾选上,当Timeline设置为循环播放时,此信号仅会触发一次。

using UnityEngine;
/// <summary>
/// 用来接收并处理信号的脚本
/// </summary>
public class TestSignalReceiver : MonoBehaviour
{
    //处理信号的回调函数
    public void OnSignalReceive(string signalName)
    {
        Debug.LogFormat("Signal Receive! {0}", signalName);
    }
}  

标签: Unity3d

Powered by emlog  蜀ICP备18021003号-1   sitemap

川公网安备 51019002001593号