首页 > 解决方案 > unity3D 时间轴和电影机

问题描述

由于我是统一的新手,我在时间线方面遇到困难,我使用它创建了一个空对象,我创建了一个摄像机并将其放置在时间轴中 Cinemachine 使用了一些对象和 VM 摄像机并创建了一个预告片,现在我希望该动画在什么时候播放玩家输入触发器,我的游戏是一个 3d 游戏,有 2 个摄像头第一人称摄像头和第三人称摄像头,当我开始我的游戏并激活该时间线对象时,它开始播放,但我只能听到它的声音,因为我的主摄像头在播放器上!谁能帮助我如何在触发器上使用时间线?那会有很大帮助。

标签: unity3danimationcinemachine

解决方案


您可以通过多种方式实现这一目标,其中之一是:

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

public class TimelineController : MonoBehaviour {

    public List<PlayableDirector> playableDirectors;
    public List<TimelineAsset> timelines;


    public void Play()
    {
        foreach (PlayableDirector playableDirector in playableDirectors) 
        {
            playableDirector.Play ();
        }
    }

    public void PlayFromTimelines(int index)
    {
        TimelineAsset selectedAsset;

        if (timelines.Count <= index) 
        {
            selectedAsset = timelines [timelines.Count - 1];
        } 
        else 
        {
            selectedAsset = timelines [index];
        }

        playableDirectors [0].Play (selectedAsset);
    }
}

有关详细信息,请参阅此视频 https://www.youtube.com/watch?v=cmExSYI2yd0&feature=youtu.be

有关时间线如何工作的更多详细信息,您可以访问:

https://learn.unity.com/tutorial/timeline?signup=true


推荐阅读