操作步骤
Cinemachine -> Create Virtual Camera
在场景中创建一个新的GO,其上有CinemachineVirtualCamera组件
在主相机上新增了组件CinemachineBrain
设置相机要跟随的目标
设置CinemachineVirtualCamera的Follow
调整其Body下的相关参数:Offset、Damping等,来控制相机跟随时的位置和移动速度
限制相机的移动边界
CinemachineVirtualCamera中,AddExtension:CinemachineConfiner
- ConfineMode:Confine2D
- 用PolygonCollider2D设置其BoundingShape2D,注意要设置IsTrigger = true:如此便能保证相机的视野不会超出该碰撞体范围之外
Cinemachine的主要组件介绍
CinemachineVirtualCamera即虚拟相机,可将其假想为一个手持相机(MainCamera)的摄影师,它的功能是控制MainCamera的位置和调整镜头效果(参数)
CinemachineBrain是主相机与虚拟相机的纽带,它会将LiveCamera的状态应用给主相机
一个场景中允许同时存在多个虚拟相机,每个相机有自己的Priority(优先级),优先级最高的会作为CinemachineBrain的LiveCamera
Cinemachine的主要功能
虚拟相机的跟随方式
位置跟随:Follow
- 设置目标、偏移量(Offset)、移动时间(各Damping)、镜头参数(Lens)
旋转跟随:LookAt
- 镜头区域由内到外被分为3类,通过Aim下的各项参数进行设置
透明:目标在该区域时,相机不跟随
蓝色:目标在该区域时,相机开始跟随,使目标回到中央透明区域
红色:不允许目标进入该区域
虚拟相机的Noise
模拟手持相机时的镜头晃动效果
分镜
在TimeLine中的Cinemachine轨道中设置一组分别看向位置的虚拟相机(当时间到达未设置虚拟相机的区域时,主相机的画面使用虚拟相机中优先级最高的相机的画面)
轨道镜头
Create Dolly Camera with Track,为DollyTrack设置路径点(相机此时应是Aim而非Follow模式,因其位置是轨道控制的)
镜头自动切换
Create ClearShot Camera:目标被障碍遮挡时,自动切换机位
可自由旋转的镜头(3D镜头)
Create FreeLock Camera:设置目标后,可通过鼠标旋转视野,在竖直方向上移动鼠标可调整镜头与目标的距离
2D镜头
Create 2D Camera:相机在指定区域内跟随目标
根据动画状态切换机位
Create State-Driven Camera:根据目标的动画状态机的状态来切换机位(设置各机位对应的状态),当目标执行某特定动作时,可切换机位进行特写
根据时间切换机位
Create Blend List Camera
根据权重融合各机位的效果
Create Mixing Camera
轨道物体
Create Dolly Track With Cart:游戏对象在指定的轨道路径上移动
镜头跟随多个目标
Create Target Group Camera:为各目标设置权重(谁的权重越大,相机越靠近谁)
用于使多个目标始终在相机内