美文网首页
Timeline 轨道详解 SignalTrack

Timeline 轨道详解 SignalTrack

作者: 暴走TA | 来源:发表于2021-05-19 09:27 被阅读0次

    简介: SignalTrack 使用过来发送事件的轨道。何为事件,简单理解就是当时间线滑动到某个事件位置时,就会调用事件指定的方法。 AnimationTrack , AudioTrack , ActivationTrack 也可以发送事件
    版本:Unity2019.4.12f1 HDRP 7.5.1

    准备


    • timeline 中添加一个 SignalTrack

    • 既然是发送一个事件,那就需要一个接受物体,创建一个空物体并添加 SignalReceiver 组件

    • 创建一个 SignalPrinter 类,来调试我们的事件发送结果

        using System.Collections;
        using System.Collections.Generic;
        using UnityEngine;
        public class SignalPrinter : MonoBehaviour
        {
            public void FirstPrint()
            {
                Debug.Log("the first print from "+gameObject.name);
            }
            public void SecondPrint()
            {
               Debug.Log("the second print from " + gameObject.name);
            }
        }
      

    SignalTrack 属性介绍


    • SignalTrack 轨道最左侧的属性框,可以指定一个带有 SignalReceiver 组件的物体,所有本轨道的事件都会向其发送
    • SignalTrack 没有公开属性可以设置
    SignalTrack 仅有一个接受对象属性

    SignalTrack 事件点介绍

    • 创建事件文件 Project 面板内右键,Create -> Signal
    右键创建 signal 文件
    • 添加事件到信号轨道,在信号轨道上右键,可以选择 AddSignalEmitter 添加一个空的事件点,也可以选择 AddSignalEmitterFromSignalAsset 从事件文件创建事件点
    右键创建事件点
    • 事件点属性介绍
    事件点属性面板

    1. Time:事件点的事件位置 s:秒为单位,f:帧为单位
    2. Retroactive:如果Timeline开始播放信号时间点后的内容,它会触发信号
    3. EmitOnce:当轨道处于循环状态时,只第一次发射信号
    4. EmitSignal:指定当前事件点触发后要发送的信号
    5. SignalReceiver:这里主要展示的时接受信号的物体的 SignalReceiver 的组件内容

    • 当添加新的事件时,如果接受物体上没有信号设置,则会提示添加
    提示添加信号类型设置到接受信号的物体 物体的 SignalReceiver 组件也发生了相应的变化
    • 高亮的 Signal 就是当前事件点将要发送的信号
    高亮的 Signal

    测试信号触发流程


    • 给我们的信号接收物体添加我们写的测试用的 SignalPrinter 组件
    添加 SignalPrinter 组件
    • 给 signal1 设置 FirstPrint,给 Signal2 设置 SecondPrint
    给 Signal 设置 FirstPrint

    信号接收物体调用其它物体方法


    • 信号接收物体处理调用本身组件的方法,可以指定调用其它物体的方法,只需要设置相对应事件设置的接受物体即可,这里指定的物体不再需要绑定 SignalPrinter 组件
    设置接受物体为其他物体 调用其它物体的方法
    • 一个信号接收器也可以同时向多个物体发送信号,在对应信号的列表里进行添加即可
    同时调用多个物体的方法

    相关文章

      网友评论

          本文标题:Timeline 轨道详解 SignalTrack

          本文链接:https://www.haomeiwen.com/subject/sdgjjltx.html