Files
XCEngine/docs/api/XCEngine/Rendering/RenderSceneExtractor/SelectCamera.md

37 lines
1007 B
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.
# RenderSceneExtractor::SelectCamera
```cpp
Components::CameraComponent* SelectCamera(
const Components::Scene& scene,
Components::CameraComponent* overrideCamera) const;
```
## 行为说明
当前相机选择规则是:
1. 如果 `overrideCamera` 可用,直接返回它。
2. 否则在场景相机里挑出所有可用的 primary camera并返回 `depth` 最高的那一台。
3. 如果没有可用 primary camera则返回第一台可用相机。
4. 如果场景里没有任何可用相机,返回 `nullptr`
## “可用相机”的当前定义
相机必须同时满足:
- 指针非空
- `camera->IsEnabled()`
- `camera->GetGameObject() != nullptr`
- 相机所在 `GameObject` 处于 `IsActiveInHierarchy()`
## 返回值
- 当前规则下选中的相机。
- 找不到可用相机时返回 `nullptr`
## 相关文档
- [RenderSceneExtractor](RenderSceneExtractor.md)
- [Extract](Extract.md)
- [SceneRenderer::BuildRenderRequests](../SceneRenderer/BuildRenderRequests.md)