vampire-like/Assets/Plugins/CameraModule/接入说明.md

2.6 KiB
Raw Permalink Blame History

CameraModule 接入说明

基于 Cinemachine 2.x 的可复用相机插件,提供跟随缓动、移动方向偏移等基础效果,支持开关控制。

导入步骤

  1. Assets/Plugins/CameraModule/ 整个目录导入目标项目
  2. 确保目标项目已安装 com.unity.cinemachine 2.x通过 Package Manager 或 manifest.json 添加)
  3. 导入后基座项目仍可正常编译和运行——CameraModule 的 asmdef 独立于基座程序集

程序集结构

SepCore.CameraModule.Base   ← 接口与数据类型(无 Cinemachine 依赖)
SepCore.CameraModule         ← Cinemachine 实现(依赖 Cinemachine 2.x
  • SepCore.CameraModule.Base 引用 UnityGameFramework.RuntimeSepCore.Base
  • SepCore.CameraModule 额外引用 CinemachineSepCore.CameraModule.Base
  • 移除 CameraModule 后,基座程序集不受任何影响

场景挂载要求

  1. 在场景主相机上添加 CinemachineBrain 组件(如果还没有)
  2. 在主相机上添加 CinemachineCameraController 组件
  3. 控制器会自动创建 CinemachineVirtualCamera 子对象

API 初始化方式

using SepCore.CameraModule;

// 获取控制器引用(通常通过 Inspector 拖拽或 GetComponent
var controller = GetComponent<CinemachineCameraController>();

// 设置跟随目标
controller.SetTarget(targetTransform);

// 调整效果参数
var settings = CameraEffectSettings.Default;
settings.dampingX = 2f;
settings.dampingY = 2f;
settings.dampingZ = 2f;
settings.offsetStrength = 3f;
settings.maxOffsetDistance = 5f;
controller.ApplySettings(settings);

// 开关控制
controller.DisableEffect(CameraEffectType.FollowDamping);     // 关闭缓动
controller.EnableEffect(CameraEffectType.FollowDamping);      // 开启缓动
controller.DisableEffect(CameraEffectType.MovementDirectionOffset); // 关闭方向偏移

CameraEffectSettings 参数说明

参数 类型 默认值 说明
dampingX/Y/Z float 1.0 跟随阻尼,值越大响应越慢。设为 0 则无缓动
offsetStrength float 2.0 移动方向偏移强度系数
maxOffsetDistance float 3.0 最大偏移距离(世界单位)
offsetSmoothing float 5.0 偏移平滑速度
offsetDeadZone float 0.1 速度低于此值时不产生偏移

效果开关

通过 EnableEffect / DisableEffect 控制:

  • CameraEffectType.FollowDamping — 跟随缓动。关闭后 damping 设为 0相机即时跟随
  • CameraEffectType.MovementDirectionOffset — 移动方向偏移。关闭后 FollowOffset 平滑回归基础值