70 lines
2.6 KiB
Markdown
70 lines
2.6 KiB
Markdown
# 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 平滑回归基础值
|