Unity 版本号:2019.3.0f6


TimeLine 是 unity2017 推出的新功能,其采用时间线的形式组合场景资源, 可以用于编排游戏剧情,过场动画,斩杀镜头,人物特写等效果。

创建TimeLine

用于播放 TimeLine 的物体必须有这个组件:
组件

参数名作用
PlayablePlayable资源(TimeLine资源)
Update Method更新模式
Play On Awake是否启动时自动播放
Wrap Mode结束模式,None播放完回到原先属性,Loop循环播放,Hood播放完维持改变
Initial Time延迟时间

轨道面板

轨道面板
点击左侧的+,可以添加轨道,这是一个类似视频剪辑的界面,我们可以方便的对轨道进行移动和剪辑。

Activation

Activation 用于表示物体的激活状态:
Activation

Animation

Animation 用于播放动画,既可以播放已有的动画,也可以自己录制帧动画来使用。
注意:使用此轨道的物体会被创建一个 Animator Controller,这个组件不能被删除。
Animation

Audio

Audio 轨道用于播放音效,如果不指定 AudioSource 就无法细致调节效果。
Audio
每个轨道在属性面板都有不同的属性,Audio 面板如下:
!{Audio 属性}(http://pic.fasty97.top/blog/20200210/GoEDb7qbdSHR.png)

Control

Control 轨道和 Activation 轨道有点相似,但不同的是 Control 轨道可以同时控制多个物体的激活状态。
Control

Signal-任意轨道

Signal 是非常重要的轨道,在使用 TimeLine 时,你可能会有这样的想法,能不能在时间线上,调用我们自定义的方法呢,在 2019 之前可以通过剪辑间接的完成事件的调用;但现在有了 Signal 轨道的加持,我们可以非常方便的在任意时刻调用方法了。
创建一个简单的测试脚本,并将脚本挂载在游戏物体上。

public class SignalTest : MonoBehaviour
{
   public void Show()
   {
      Debug.Log("Signal!");
   }
}

右键单击任意轨道:

此时在属性面板中,可以看到:

为了监听这个事件,unity 提示我们缺少一个监听器,点击 Add 添加一个。
添加好监听器,我们需要创建一个监听实例,这个实例是可以复用的。

完成以上步骤我们发现原先有警告的小白标变成了白色。这说明我们设置正确了,然后我们需要绑定事件给实例:

尝试运行(播放游戏)一下发现在时间轴运行到小白标时会自动调用我们绑定的方法。

Signal-指定轨道

上面实现的 Signal 是针对于任意轨道来说的,如果我们需要很多的 Signal 处理起来可能会发生混乱,所以官方提供了专门的 Signal 轨道。
先给我们的物体添加:

在属性面板中我们可以对事件实例绑定多个方法,统一管理:

小技巧

在轨道左侧可以点击三点,然后选择 Mute(静音)对指定轨道进行屏蔽。
在右侧轨道面板中,可以通过重叠区块实现 2 个区块之间的过渡效果。
可设置轨道的淡入淡出效果:

驱动摄像机

做了一个超级丑的摄像机变换效果:

代码驱动TimeLine

有时候我们可能需要通过代码动态的启动 TimeLine,这也很容易实现:

public class Signal : MonoBehaviour
{
    public PlayableDirector playDir;
    public void Fac()
    {
        Debug.Log("Fac..");
    }
    private void Update()
    {
        if (Input.GetKeyDown(KeyCode.A))
        {
            print("A");
            playDir.Play();
        }
    }
}
更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

Fasty 微信支付

微信支付

Fasty 支付宝

支付宝

Fasty 贝宝

贝宝