UI MAGNIFIER / DOCUMENTATION
把细节,接入你的项目。
UI Magnifier – Drag to Zoom 快速开始与接入说明。
开始之前
Unity 2022.3.62f3 / URP 14.0.12 / UGUI 1.0.0
Unity 6000.4.5f1 / URP 17.4.0 / UGUI 2.0.0 · RenderGraph
Windows Editor · D3D11
不支持 Built-in 和 HDRP。 其他 Unity 6 版本、MSAA 配置、动态渲染比例、后处理组合、移动端、WebGL2、XR 及其他图形 API 尚未验证。
可放大相机空间 UI 与相机画面;ScreenSpaceOverlay 内容不参与相机采样。
安装与运行示例
- 先安装 URP 与 Unity UI。Unity 6000.4.5f1 工程须在安装源包前明确选择 URP 17.4.0 与 Unity UI 2.0.0。
- UPM 与 Assets 分发包只保留一种。UPM 用户从 Package Manager 的 Samples 导入 Basic Drag 或 Landscape Gallery;Assets 用户打开附带的示例场景。
- 示例使用 StandaloneInputModule。将 Player > Active Input Handling 设置为 Input Manager (Old) 或 Both,按提示重启。配置工具不会自动更改输入设置。
- 在独立评估工程运行 Tools > JoyLink Studio > UI Magnifier > Configure Demo URP (Changes Project Settings),或 Landscape > Configure Sample URP (Changes Project Settings)。确认后会修改 Graphics 与全部 Quality 级别。
- 进入 Play Mode,按住并拖动相机空间 UI,再松开。Unity 6 示例配置会生成该版本原生的 SettingsUnity6。
接入现有项目
保留现有 URP Asset。运行 Tools > JoyLink Studio > UI Magnifier > Renderer Feature Installer > Install Active。为镜片创建 Overlay Canvas、RawImage 与 MagnifierView。使用 controller.Configure(profile, view, camera) 指定 MagnifierProfile、视图和最终相机。在可接收射线的输入区域添加 MagnifierDragAdapter 并指定 Controller;工程需要 EventSystem 与 GraphicRaycaster。
controller.Configure(profile, view, camera);将待放大的 UI 放在 ScreenSpaceCamera Canvas 中,使其在放大镜 Pass 之前由指定最终 Game 相机渲染。相机堆栈中绑定渲染目标内容的最终 Overlay Game 相机。镜片本身保留在 Overlay Canvas。
构建 Player 前运行 Tools > JoyLink Studio > UI Magnifier > Ensure Build Shaders。构建守卫会包含两份必要 Shader;无法解析必要 Shader 或配置资源时会终止构建。
常见问题
镜片不可见
检查 Controller 引用、Renderer Feature 是否启用、当前渲染器、EventSystem 及输入区域的射线设置。
镜片里没有 UI
ScreenSpaceOverlay 内容无法采样。源 UI 使用 ScreenSpaceCamera,并绑定实际渲染它的相机。
重复类型或 GUID
移除重复的 UPM 或 Assets 安装,不要重复导入已有相同 GUID 的示例。
镜片为方形或粉色
运行 Ensure Build Shaders,并检查包内 Shader 与 URP 版本。
指针与资源所有权
Begin、Move、End 每次只接受一个指针,并返回操作是否接受。坐标单位为屏幕像素。Configure 会取消当前拖动;Cancel 隐藏镜片。采样 UV 限制在 [0, 1],但镜片显示位置可以超出屏幕或 SafeArea;本版本 safeAreaPadding 不强制约束位置。View 释放自己的运行时材质,渲染器拥有裁剪纹理,不要在用户代码中销毁该纹理。
中间相机颜色纹理仍有渲染成本。本页不作移动端或性能基准承诺。