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

70 lines
2.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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.Runtime``SepCore.Base`
- `SepCore.CameraModule` 额外引用 `Cinemachine``SepCore.CameraModule.Base`
- 移除 CameraModule 后,基座程序集不受任何影响
## 场景挂载要求
1. 在场景主相机上添加 `CinemachineBrain` 组件(如果还没有)
2. 在主相机上添加 `CinemachineCameraController` 组件
3. 控制器会自动创建 `CinemachineVirtualCamera` 子对象
## API 初始化方式
```csharp
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 平滑回归基础值