feat: Gizmo local/world 空间切换 + Ctrl 吸附 + Inspector 轴色手输行
- GizmoState.localSpace(默认 local,模型轴旋转直观),T 键切换 Manipulate 的 LOCAL/WORLD 模式;无父层级两模式 world 矩阵同源, decompose 写回链路不变 - Ctrl 按住吸附(UE Grid Snap 语义):平移 0.25m / 旋转 15° / 缩放 0.1x;ImGuizmo 约定旋转 snap 单位为弧度 - 视口左上角 drawlist 叠加状态提示(Space/Snap,不占布局行) - Inspector Transform 三行升级 UE 风轴色输入行(对齐 Gizmo 轴色): 拖拽粗调 + Ctrl+Click 键入精确值
This commit is contained in:
@@ -29,9 +29,12 @@ struct ViewportInputState {
|
||||
// op 取 ImGuizmo::OPERATION 位掩码(TRANSLATE=7=三轴位或运算,非 0
|
||||
// 起始枚举;0 = 无任何轴位 → Gizmo 完全不绘制),int 存储避免本
|
||||
// 头文件 include ImGuizmo.h(拖入 imgui 宏依赖顺序)
|
||||
// W/E/R 切换(UE 语义);dragging 拉起 Editor::BlockingMouse 门控
|
||||
// W/E/R 切换 op、T 切换 local/world 空间(UE 语义);dragging 拉起
|
||||
// Editor::BlockingMouse 门控
|
||||
struct GizmoState {
|
||||
int op = 7; // ImGuizmo::TRANSLATE(TRANSLATE_X|Y|Z)
|
||||
bool localSpace = true; // 操纵空间:true=模型轴(旋转/缩放语义),
|
||||
// T 键切 world
|
||||
bool dragging = false; // 拖拽中(IsUsing)→ 鼠标归 Gizmo 不给游戏侧
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user