unity 2017中Timeline使用笔记

本文介绍了Unity 2017中的Timeline功能,包括如何创建Timeline Manager,添加不同类型轨道如Activation, Animation, Audio和Playable。还提到了Timeline的封装库,提供了简化使用的代码示例,并强调了在使用过程中需注意的事项,如设置绑定和PlayableAsset的命名规则。" 128415626,16597425,远程在线教育平台设计与实现 - JSP+SSM 源码解析,"['java', '课程设计', '数据库设计']
摘要由CSDN通过智能技术生成

1.unity2017版本中最新出炉Timeline

     第一次看到timeline觉得这个东西和以前自己的做视频时使用的剪辑软件video studio/premiere/After Effect等非常的相似,同样的视频轨道,随意滑动,非常便于操作 如下图所示。

  现在开始简要介绍一下timeline的基本操作:

         1.直接在面板上新建一个空物体,create empty,随便取个名字叫做timeline manger;

         2.直接点击windows ,点击timeline  editor;就会弹出如上图所所示的timeline 操作界面,然后删掉出现的第一个轨道。            因为没什么用惊讶

3.点击timeline下面的add,就可以添加几个轨道: 其中

activeation track可以让物体在什么时间在什么地点出现或者消失;

animation track可以添加动画片段,或者自己点击红色圆圈自己录制动画;

audio track 可以添加音效片段;

playable track 可以写上控制代码,这里我在后面将重点讲解;

control track 自己还没有用过。。。。。;

2.timeline具体使用方法事例

  目前网上已经有人将timeline的相关函数都进行了封装,我们可以很方便的进行使用。具体的封装方法见链接。点击打开链接

我自己稍微改了一下,具体代码见下。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Playables;
using UnityEngine.Timeline;

public class TimelineUnit {

    public string name;
    public PlayableDirector director;
    public PlayableAsset asset;
    public Dictionary<string, PlayableBinding> bindings;
    public Dictionary<string, Dictionary<string, PlayableAsset>> clips;
    public Dictionary<string, PlayableAsset> playables;

    public void Init(string path, PlayableDirector director)
    {
        this.name = path;               // director标签
        this.director = director;       // 获取当前组件
        playables = new Dictionary<string, PlayableAsset>();
        InitPlayables(path);            
  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,以下是Unity使用Timeline的详细脚本示例: ```c# using UnityEngine; using UnityEngine.Playables; using UnityEngine.Timeline; public class ExampleTimeline : MonoBehaviour { public TimelineAsset timelineAsset; private PlayableDirector playableDirector; private void Start() { playableDirector = GetComponent<PlayableDirector>(); playableDirector.playableAsset = timelineAsset; } public void PlayTimeline() { playableDirector.Play(); } public void PauseTimeline() { playableDirector.Pause(); } public void StopTimeline() { playableDirector.Stop(); } public void SetTime(float time) { playableDirector.time = time; } public void SetSpeed(float speed) { playableDirector.playbackSpeed = speed; } } ``` 在这个例子,我们创建了一个名为 ExampleTimeline 的脚本。它包含一个 timelineAsset 变量,这是一个存储着时间轴数据的资产。我们还定义了一个 playableDirector 变量,这是一个可以播放时间轴的组件。 在 Start 方法,我们获取组件,并将 timelineAsset 赋值给 playableAsset 变量。这是指定时间轴资产的方式。 我们还定义了一些方法,这些方法将在游戏由其他组件调用: - PlayTimeline:播放时间轴。 - PauseTimeline:暂停时间轴。 - StopTimeline:停止时间轴。 - SetTime:设置时间轴的当前时间(以秒为单位)。 - SetSpeed:设置时间轴的播放速度。 我们可以将 ExampleTimeline 脚本附加到一个 GameObject 上,并将 timelineAsset 变量设置为我们想要播放的时间轴。我们可以在其他脚本调用 PlayTimeline、PauseTimeline、StopTimeline、SetTime 和 SetSpeed 方法,以控制时间轴的播放和停止,并设置播放时间和速度。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值