欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

在unity中使用TimeLine和PlayableDirector来实现简单的运镜

程序员文章站 2022-04-23 13:46:08
说到运镜 这个可以说是可以把游戏提升很高一个档次尤其是对于3D的游戏 之前我写过用cimerachine插件来实现的运镜 大家如果有兴趣可以去看下然后这次我用最最普通的camera和PlayableDirector组件来实现一下我们的运镜我之前写过TimeLine的用法 TimeLine用法链接建议大家去看一下在我看来PlayableDirector和动画组件是一样的 只不过两个各有特点动画组件相对于PlayableDirector来说更加灵活 比如可以实现动画的切换等这个功能是Play...

说到运镜 这个可以说是可以把游戏提升很高一个档次
尤其是对于3D的游戏 之前我写过用cimerachine插件来实现的运镜 大家如果有兴趣可以去看下
然后这次我用最最普通的camera和PlayableDirector组件来实现一下我们的运镜

我之前写过TimeLine的用法 TimeLine用法链接
建议大家去看一下

在我看来PlayableDirector和动画组件是一样的 只不过两个各有特点
动画组件相对于PlayableDirector来说更加灵活 比如可以实现动画的切换等
这个功能是PlayableDirector做不到的 但是用PlayableDirector和TimeLine来结合使用之后
我们可以控制动画播放的时间(比如开场动画播放十秒 UI界面出现等)

接下来我就给大家分享一下很简单的运镜的效果

首先打开TimelIne的面板(上边链接写的很详细 如果不知道可以去查看)
在unity中使用TimeLine和PlayableDirector来实现简单的运镜

然后我们把我们的摄像机设置上帧动画
在unity中使用TimeLine和PlayableDirector来实现简单的运镜
强烈大家使用红点进行录制 这样真的很方便 而且效果也贼棒(录制过程我就不细说了)

现在已经完成了一半了
我们就开始使用代码来控制我们的PlayableDirector组件来实现到达某个时间出现UI

  public PlayableDirector playabledirector;//需要在unity赋值
    public GameObject UIs;
    private void Start()
    {
        UIs.SetActive(false);
    }
    private void Update()
    {
        if (playabledirector.time > 10f)//如果动画播放超过10s 
        {
            UIs.SetActive(true);
        }
    }

在unity中吧camera赋值上去即可
因为动态图太大所以没法上传效果 这里就用几张图片代替吧
在unity中使用TimeLine和PlayableDirector来实现简单的运镜

在unity中使用TimeLine和PlayableDirector来实现简单的运镜

希望对大家的项目有帮助或者是启发

如果你也喜欢游戏开发 欢迎关注我 我会在这里持续更新我自己的学习过程
另外有关unity的问题或者是代做可以联系我qq:1149293885
我是一名爱健身的准程序员 最后祝大家头发浓密,睡眠良好,财富*

本文地址:https://blog.csdn.net/weixin_44302602/article/details/107589393