Files
XCEngine/docs/api/components/camera-component/camera-component.md
ssdfasd f5a34f8adc docs: 重构 API 文档 - components 和 scene 模块
- components: 修复英文标题为中文,添加缺失组件文档
  - 新增 camera-component, light-component, audio-source-component, audio-listener-component 类总览
  - 修复 get-position.md 格式
  - 更新 components.md 模块总览
- scene: 修复方法文档格式,新增缺失方法
  - 修复 find.md, create-game-object.md 英文标题
  - 新增 FindByID, SerializeToString, DeserializeFromString 方法文档
  - 更新 scene.md 类总览方法列表
2026-03-26 01:50:27 +08:00

2.7 KiB
Raw Blame History

CameraComponent

命名空间: XCEngine::Components

类型: class

头文件: XCEngine/Components/CameraComponent.h

描述: 相机组件,定义视图和投影参数,支持透视和正交两种投影模式。

概述

CameraComponent 是 XCEngine ECS 系统中的相机组件用于定义场景的观察视角。它支持透视投影Perspective和正交投影Orthographic两种模式可以设置视场角、近裁剪面、远裁剪面、深度值和清除颜色等参数。

枚举

CameraProjectionType

枚举值 描述
Perspective 透视投影,符合人眼观察习惯
Orthographic 正交投影,保持物体真实大小

公共方法

投影设置

方法 描述
GetProjectionType 获取投影类型
SetProjectionType 设置投影类型
GetFieldOfView 获取视场角(透视投影)
SetFieldOfView 设置视场角
GetOrthographicSize 获取正交投影大小
SetOrthographicSize 设置正交投影大小

裁剪平面

方法 描述
GetNearClipPlane 获取近裁剪面距离
SetNearClipPlane 设置近裁剪面距离
GetFarClipPlane 获取远裁剪面距离
SetFarClipPlane 设置远裁剪面距离

相机属性

方法 描述
GetDepth 获取深度值
SetDepth 设置深度值
IsPrimary 检查是否为主相机
SetPrimary 设置为主相机
GetClearColor 获取清除颜色
SetClearColor 设置清除颜色

使用示例

#include <XCEngine/Components/CameraComponent.h>
#include <XCEngine/Components/GameObject.h>

using namespace XCEngine::Components;

void SetupCamera(GameObject* cameraObject) {
    auto camera = cameraObject->AddComponent<CameraComponent>();
    
    camera->SetProjectionType(CameraProjectionType::Perspective);
    camera->SetFieldOfView(60.0f);
    camera->SetNearClipPlane(0.1f);
    camera->SetFarClipPlane(1000.0f);
    camera->SetPrimary(true);
}

相关文档