86 lines
1.8 KiB
Markdown
86 lines
1.8 KiB
Markdown
|
|
# StrayFog 框架相机系统使用指南
|
||
|
|
|
||
|
|
## 一、创建自定义相机
|
||
|
|
|
||
|
|
### 1.1 继承AbsHFCameraItem
|
||
|
|
|
||
|
|
```csharp
|
||
|
|
public class UIOverlayCamera : AbsHFCameraItem
|
||
|
|
{
|
||
|
|
[SerializeField] private Camera uiCamera;
|
||
|
|
[SerializeField] private int weight = 10;
|
||
|
|
|
||
|
|
public override Camera CameraItem => uiCamera;
|
||
|
|
public override int Weight => weight;
|
||
|
|
|
||
|
|
protected override void OnInitialize()
|
||
|
|
{
|
||
|
|
base.OnInitialize();
|
||
|
|
// 自定义初始化逻辑
|
||
|
|
uiCamera.clearFlags = CameraClearFlags.Depth;
|
||
|
|
uiCamera.depth = 100;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 二、管理相机堆栈
|
||
|
|
|
||
|
|
### 2.1 使用相机管理器
|
||
|
|
|
||
|
|
```csharp
|
||
|
|
public class CameraController : MonoBehaviour
|
||
|
|
{
|
||
|
|
void Start()
|
||
|
|
{
|
||
|
|
// 获取相机管理器
|
||
|
|
HFCameraManager cameraMgr = HFCameraManager.Instance;
|
||
|
|
|
||
|
|
// 添加自定义相机
|
||
|
|
UIOverlayCamera uiCamera = GetComponent<UIOverlayCamera>();
|
||
|
|
cameraMgr.AddCamera(uiCamera);
|
||
|
|
|
||
|
|
// 获取主相机
|
||
|
|
Camera mainCam = cameraMgr.mainCamera.MainCamera;
|
||
|
|
}
|
||
|
|
|
||
|
|
void OnDestroy()
|
||
|
|
{
|
||
|
|
UIOverlayCamera uiCamera = GetComponent<UIOverlayCamera>();
|
||
|
|
HFCameraManager.Instance.RemoveCamera(uiCamera);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
```
|
||
|
|
|
||
|
|
### 2.2 相机堆栈架构
|
||
|
|
|
||
|
|
```
|
||
|
|
相机层级架构:
|
||
|
|
HFMainCamera (主相机)
|
||
|
|
│
|
||
|
|
├── CameraStack (相机堆栈)
|
||
|
|
│ ├── CameraItem1 (Weight=10)
|
||
|
|
│ ├── CameraItem2 (Weight=20)
|
||
|
|
│ └── CameraItem3 (Weight=5)
|
||
|
|
│
|
||
|
|
└── 按Weight排序 → 渲染顺序控制
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 三、相机管理API
|
||
|
|
|
||
|
|
### 3.1 常用方法
|
||
|
|
|
||
|
|
| 方法 | 说明 |
|
||
|
|
|-----|------|
|
||
|
|
| `AddCamera()` | 添加相机到堆栈 |
|
||
|
|
| `RemoveCamera()` | 从堆栈移除相机 |
|
||
|
|
| `GetCamera()` | 获取指定相机 |
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
**版本**: v1.0
|
||
|
|
**生效日期**: 2026年
|
||
|
|
**适用范围**: GiftGameX项目业务开发人员
|