Files
XCEngine/docs/api/XCEngine/Editor/panels/SceneViewPanel/SceneViewPanel.md

4.4 KiB
Raw Blame History

SceneViewPanel

命名空间: XCEngine::Editor

类型: class

源文件: editor/src/panels/SceneViewPanel.h

描述: Scene 视口面板。它持有 Scene View 当前的工具模式、pivot 模式、空间模式、导航状态和三类 transform gizmo并把 UI chrome、交互解析、导航输入与 viewport 宿主服务串成一条完整的编辑器视口链路。

概述

SceneViewPanel 是当前 Scene View 的编排层,不直接持有 render target也不直接构建底层 overlay pass。

它当前主要把下面这些 helper 串起来:

公开类型与方法

成员 说明
SceneViewportToolMode Scene View 当前工具模式。
SceneViewportPivotMode Pivot / Center 两种 pivot 模式。
SceneViewportTransformSpaceMode Global / Local 两种变换空间模式。
SceneViewPanel() 构造面板实例。
Render 渲染面板,并推进一整帧 Scene View 交互链。

当前成员语义

  • m_toolMode 默认是 SceneViewportToolMode::Move,当前由 SceneViewportChrome 负责切换。
  • m_pivotMode 默认是 SceneViewportPivotMode::Pivotm_transformSpaceMode 默认是 SceneViewportTransformSpaceMode::Global
  • m_navigationState 记录 look drag、pan drag以及当前 pan drag 使用的鼠标按键。
  • m_moveGizmo / m_rotateGizmo / m_scaleGizmo 作为面板长生命周期成员跨帧保存交互状态,而不是每帧临时构造。

当前边界

  • SceneViewPanel 负责“交互编排”,不是 Scene / Game 视口的底层宿主。
  • object-id picking、overlay frame data 缓存、render target 生命周期和 editor camera 状态都在 ViewportHostService 一侧。
  • 它只服务于 Scene View不参与 Game View 的运行时输入桥接。

相关文档