这里介绍一下,自动切换到场景中最佳视野的摄像机的第一种方式。首先介绍一下CinemachineClearShot组件,它是自动完成这项工作的核心。通过Package Manager导入Cinemachine插件,在导入Cinemachine Sample后,我们可以在Assets文件夹下Cinemachine/2.6.17(这个是你下载的cinemachine版本号)/Cinemachine Example Scenes/Scenes/ClearShot/ClearShot中看具体的Demo。
CinemachineClearShot
Cinemachine ClearShot摄像机组件可以在其子虚拟摄像机中选择最佳镜头,以获得目标的最佳画面。使用ClearShot可以设置复杂的多摄像机覆盖场景,以确保对目标的清晰视角。
主要功能:
选择最佳镜头:ClearShot根据每个子虚拟摄像机的质量评估,选择最佳镜头来拍摄目标。这使得摄像机可以动态调整,以保持最佳视角。
场景分析:带有Cinemachine Collider扩展的虚拟摄像机子项会分析场景中的目标遮挡情况、最佳拍摄距离等信息。ClearShot使用这些信息来决定激活哪一个子摄像机。
使用单一Collider:如果想为所有虚拟摄像机子项使用一个Cinemachine Collider,可以将Collider扩展添加到ClearShot GameObject,而不是每个子虚拟摄像机。这样,这个Collider扩展就会应用于所有子摄像机,仿佛每个子项都有自己的Collider扩展。
优先级选择:如果多个子摄像机的镜头质量相同,ClearShot摄像机会选择优先级最高的那一个。
自定义过渡:用户还可以定义ClearShot子项之间的自定义过渡效果,以实现更平滑的切换。
通过这些功能,ClearShot成为一个强大的工具,能够在复杂场景中有效管理摄像机视角,确保始终能捕捉到清晰的目标画面。
Look At
默认的目标GameObject是子虚拟摄像机移动时所依赖的目标。当某个子摄像机未指定目标时,ClearShot摄像机会使用这个默认目标。如果所有子摄像机都有自己的目标定义,那么这个默认目标可以是空的。
Look At
目标GameObject是Unity摄像机瞄准的对象。当某个子摄像机未指定自己的目标时,ClearShot摄像机会使用这个目标。如果所有子摄像机都有自己的目标定义,那么这个目标可以是空的。
Show Debug Text
勾选以在游戏视图中显示实时虚拟摄像机和过渡的文本摘要。
Activate After
在激活新的子摄像机之前,等待指定的秒数。这一设置用于控制在切换摄像机时的延迟时间,确保摄像机之间的切换不会过于突兀。
Min Duration
一个激活的摄像机必须至少保持激活状态指定的秒数,除非有优先级更高的摄像机变为激活状态。这一设置用于确保摄像机的稳定性和一致性,避免频繁的切换。
Randomize Choice
勾选此选项可以在多个摄像机的镜头质量相同时随机选择一台摄像机。如果不勾选,则会根据子虚拟摄像机的顺序和优先级来选择摄像机。
Cinemachine Collider组件添加
镜头评估由ClearShot摄像机上的 CinemachineCollider 组件完成。它检查目标的遮挡情况,并降低没有清晰视野的镜头的质量评级。