指尖可视化 — MRTK2

Fingertip visualization Main

指尖可视效果可帮助用户识别与目标对象之间的距离。 环形的视觉效果会根据从指尖到对象的距离来调整自身的大小。 指尖可视化主要由 FingerCursor (Assets/MRTK/SDK/Features/UX/Prefabs/Cursors/FingerCursor.prefab)(和脚本)控制,该脚本将衍生为 PokePointer 光标预制件。 可视化效果的其他组件包括 ProximityLight 脚本,以及 MixedRealityStandard 着色器

如何使用指尖可视化

默认情况下,指尖可视化可用于已配置为生成 FingerCursor 的任何 Unity 场景。 FingerCursor 的生成发生于以下路径下的 DefaultMixedRealityToolkitConfigurationProfile 中:

DefaultMixedRealityInputSystemProfile > DefaultMixedRealityInputPointerProfile > PokePointer > FingerCursor

概括而言,指尖可视化的工作原理是使用邻近感应灯在接受邻近感应灯的附近表面上投射已着色的渐变效果。 然后,手指光标查找任何附近的可交互表面(由父级 IMixedRealityNearPointer(s) 确定),以在指尖向表面靠近时,将手指环与表面对齐。 使用 MixedRealityStandard 着色器的圆角属性,当手指接近表面时,手指环也会动态地产生动画。

示例场景

你可以在几乎所有适用于关节手的场景中找到指尖可视化示例,但在 HandInteractionExample 场景中很突出。

Fingertip visualization States

检查器属性

FingerCursor 许多手指光标属性都是从基础光标类继承的。 重要属性包括在 MixedRealityStandard 着色器中驱动手指环动画的远/近表面边距和宽度。 对于其他属性,请将鼠标悬停在检查器工具提示上查看。

Cursor Inspector

ProximityLight 邻近感应灯设置,控制接近和远离表面时的感应灯外观。 中心、中间和外部颜色控制光源的渐变样式,可以根据应用程序的配色进行自定义。 请注意,这些颜色是 HDR(高动态范围)的,允许用户将邻近感应灯调亮到 1 以上的值。 对于其他属性,请将鼠标悬停在检查器工具提示上查看。

MixedRealityStandard 着色器 MixedRealityStandard 着色器用于实现 MRTK 中的许多效果。 指尖可视化有两项很重要的设置:“Near Fade”和“Proximity Light”。Near Fade 允许对象在相机或光源接近时淡入/淡出。 请确保选中“Light”,以允许邻近感应灯(而不是相机)来驱动淡化。 可以反转“Fade Begin”和“Fade Complete”的值,以逆转淡入/淡出效果。 对于想要使邻近感应灯变亮的任何表面,请选中“Proximity Light”。 对于其他属性,请将鼠标悬停在检查器工具提示上查看。

Shader Inspector