37 lines
1007 B
Markdown
37 lines
1007 B
Markdown
# 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)
|