SuperAPI AI 工具集

unity-cinemachine

通用与其它

查看项目

更新于 10-16 09:34

技能介绍

用途:在 Unity 运行时以组件方式程序化控制相机,替代自定义相机脚本。

主要能力:CinemachineBrain 挂在主相机上,依据最高优先级的活跃 CinemachineCamera 驱动 Unity 相机;CinemachineCamera 描述期望位置、旋转与镜头,优先级最高者生效,经 Body(位置)、Aim(旋转)、Noise 三个阶段计算最终状态。Body 组件包括 CinemachineFollow(偏移跟随)、CinemachineThirdPersonFollow(带碰撞的第三人称)、CinemachineOrbitalFollow(环绕目标,替代 v2 的 FreeLook)、CinemachinePositionComposer(2D 屏幕空间构图带死区)、CinemachineHardLockToTarget、CinemachineTrackedDolly(沿 SplineContainer 路径)。Aim 组件包括 CinemachineRotationComposer、CinemachineHardLookAt、CinemachinePanTilt(第一人称手动平移/俯仰)、CinemachineGroupFraming。Brain 支持 Cut、EaseInOut、EaseIn/EaseOut、HardIn/HardOut、Linear、Custom 等混合样式,可用 CinemachineBlenderSettings 定义逐对相机混合。CinemachineStateDrivenCamera 将 Animator 状态映射到子相机;抖动由 CinemachineImpulseSource 产生、CinemachineImpulseListener 接收,Gain、ChannelMask 可调;CinemachineBasicMultiChannelPerlin 提供连续噪波。CinemachineTargetGroup 可框选多目标,CinemachineInputAxisController 连接 Input System,或实现 IInputAxisOwner 提供自定义输入。

用法:命名空间为 using Unity.Cinemachine;。最小步骤:主相机加 CinemachineBrain,创建带 CinemachineCamera 的物体,设置 Follow(及可选 LookAt),按需添加 Body/Aim 组件。切换相机可改 Priority.Value 或启用/禁用物体,Brain 自动混合。

适用场景:第三人称、轨道/FreeLook、2D、过场轨道、触发器切换相机、分屏、状态驱动相机与抖动效果。

限制:基于 Unity 6.3 LTS 与 Cinemachine 3.1,注意 3.x 将 CinemachineVirtualCamera 改名为 CinemachineCamera、FreeLook 拆分为 CinemachineCamera + CinemachineOrbitalFollow + CinemachineInputAxisController;勿直接修改 Camera.main.transform,实例化时需先挂载 CinemachineCamera 等组件。其余平台支持信息暂未提供。