revert: 删除 SetPlaneLimit 覆盖,Gizmo 参数与 Horizon 对齐(全默认)

对照 Horizon 实现(同官方 ImGuizmo submodule、零定制、Manipulate 全
默认参数)确认库默认行为就是可用的出货行为。0.034 把轴隐藏阈值从
11.5° 抬到 20°,常规视角轴被过早隐藏("箭头又没了");之前 0.35 同
根因。两次阈值折腾全部推翻:自行覆盖库内部可见度参数本身就是错的方向。
This commit is contained in:
2026-10-03 02:27:46 +08:00
parent af241857af
commit 1d360369c9
+3 -7
View File
@@ -146,13 +146,9 @@ std::optional<entt::entity> ViewportPanel::Draw(const EditorContext &ctx,
const ImVec2 mn = ImGui::GetItemRectMin();
ImGuizmo::SetRect(mn.x, mn.y, size.x, size.y);
// 轴可见度阈值:库内轴恒定屏幕尺寸(mGizmoSizeClipSpace
// =0.1),可见判定 = sinθ(轴与视线夹角) > 阈值/0.1。
// 默认 0.02 ⇒ θ>11.5° 就可见——"有高度差"的正对视角
// (θ≈15°)轴"看得见但几何上不可操作"(⊥视线轴悬停
// 失效、∥视线轴拖拽无一阶位移)。取 0.034 ⇒ θ<20° 的
// 轴隐藏(UE 正对轴隐藏语义),≥20° 正常可拖
ImGuizmo::SetPlaneLimit(0.034f);
// 不调 SetPlaneLimit/SetAxisLimit——全默认参数,与
// Horizon 同款(官方库出货行为:轴仅在几乎正对视线
// 时隐藏,任何自行抬高阈值都会过早藏轴)
glm::mat4 m = tr->World();
// 操作空间:local(模型轴,旋转/缩放随物体朝向直观)/