Files
UnityAI/03_核心功能/相机系统使用指南.md

1.8 KiB

StrayFog 框架相机系统使用指南

一、创建自定义相机

1.1 继承AbsHFCameraItem

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 使用相机管理器

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项目业务开发人员