美文网首页Unity探路营
Cinemachine教程 | Unity中如何快速制作相机切换

Cinemachine教程 | Unity中如何快速制作相机切换

作者: 洪智 | 来源:发表于2020-04-19 22:17 被阅读0次

    摘要:使用Cinemachine可以快速制作相机切换动画,来看看我是怎么做的吧。

    洪流学堂,让你快人几步。你好,我是跟着大智学Unity的萌新,我叫小新,这是我本周的学习总结报告哦。

    好久不见。我最近在帮大智处理家里面的事情,大智母亲病故了。在这有个小小的请求:加大智的微信(zhz11235),不用安慰他,只用给他发催更的信息,让他忙到没时间悲伤就好。谢谢你。

    今天小新要给你分享的问题是:

    Unity中如何快速制作相机切换动画?

    要想解决这个问题,在Cinemachine中是非常简单的,就是使用Cinemachine Blend List Camera,使用这个最简单也最快。

    Cinemachine Blend List Camera

    Cinemachine Blend List Camera组件在子相机中执行混合或切换序列。

    创建方式:菜单栏Cinemachine > Create Blend List Camera

    Cinemachine Blend List Camera激活时,首先会激活它的第一个子相机,等待保持(hold)一定时间后,切换到下一个子相机,依次类推。没有勾选Loop循环的Blend List Camera保持最后一个相机的状态,直到CinemachineBrain或者Timeline禁用Blend List camera。

    小建议:如果是非常简单的相机序列,这个组件比使用Timeline会简单很多。当然,复杂的还是用​Timeline比较妥当。​

    属性详解(在这只讲解和VirtualCamera组件不同的属性,相同的属性不再重复)
    Show Debug Text:选中后在Game窗口左上角显示切换的信息。
    Loop:是否循环
    子相机控制

    • Blend In 混合的方式以及时长
    • Hold 相机保持的时长

    只介绍Blend List Camera好像有点短了,再告诉你一个神器吧。

    Cinemachine Clear Shot Camera 让视角不被遮挡的组件

    这个组件也是Cinemachine中的一个神器。

    Cinemachine Clear Shot Camera组件会在所有子相机中选择目标的最佳视角相机。可以对目标预设多个机位,以便保证一个最佳视角。

    创建方式:菜单栏Cinemachine > Create Blend List Camera

    这是一个非常强大的工具。这个扩展会给每个子相机添加一个Collider扩展。虚拟相机的Collider扩展可以分析视线的遮挡、最佳距离等等。然后Clear Shot Camera使用这些信息来选择一个最佳子相机。

    属性详解(在这只讲解和VirtualCamera组件不同的属性,相同的属性不再重复)
    Show Debug Text:选中后在Game窗口左上角显示切换的信息。
    Active After 切换到下一个子相机前等待多长时间(可以避免短时间内的快速切换造成的闪屏)
    Min Duration 切换到下一个子相机前,当前子相机最少要保持的时长(可以避免短时间内的快速切换造成的闪屏)
    Random Choice 如果多个子相机计算出来的得分一致,那么随机一个子相机。不勾选时会按优先级选择。
    Default Blend/Custom Blend 子相机之间的混合方式
    Virtual Camera Children列表:可以设置各个子相机的优先级。如果相机的视角得分相同时,会优先选择优先级高的。

    扩展阅读

    【扩展学习】洪流学堂公众号回复timeline可以下载Timeline&Cinemachine系列教程全文带目录PDF哦,更有本文的视频教程等着你!


    呼~ 今天小新絮絮叨叨的真是够够的了。没讲清楚的地方欢迎评论,咱们一起探索。

    我是大智(欢迎加我微信:zhz11235),你的技术探路者,下次见!

    别走!点赞收藏哦!

    好,你可以走了。

    相关文章

      网友评论

        本文标题:Cinemachine教程 | Unity中如何快速制作相机切换

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