摘要:使用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列表:可以设置各个子相机的优先级。如果相机的视角得分相同时,会优先选择优先级高的。
扩展阅读
- 【Cinemachine智能相机教程】VirtualCamera(四):Noise属性
- 【Cinemachine智能相机教程】VirtualCamera(三):Aim属性
- 【Cinemachine智能相机教程】VirtualCamera(二):Body属性
- 【Cinemachine】VirtualCamera虚拟相机详解(一)
- 5分钟入门Cinemachine智能相机系统
- Unity编辑器录屏神器:Unity Recorder
- 5分钟制作过场动画
- 【建议收藏】找不到免费的角色动画?来试试mixamo
【扩展学习】在洪流学堂公众号回复
timeline
可以下载Timeline&Cinemachine系列教程全文带目录PDF哦,更有本文的视频教程等着你!
呼~ 今天小新絮絮叨叨的真是够够的了。没讲清楚的地方欢迎评论,咱们一起探索。
我是大智(欢迎加我微信:zhz11235),你的技术探路者,下次见!
别走!点赞,收藏哦!
好,你可以走了。
网友评论