边界框和应用栏Bounding box and App bar

"边界" 是用于在混合现实中进行对象操作的标准接口。Bounding is the standard interface for object manipulation in Mixed Reality.

什么是边界框?What is the Bounding box?

"边界" 是用于在混合现实中进行对象操作的标准接口。Bounding is the standard interface for object manipulation in Mixed Reality. 此功能向用户提供视觉提示,指出当前可以调整对象。This feature provides the user with a visual cue that the object is currently adjustable. 在 HoloLens 2 上,边界框适用于直接操作,并响应用户的 finger's 邻近性。On HoloLens 2, the bounding box works with direct hand manipulation and responds to the user's finger's proximity. 它显示了视觉反馈,可帮助用户感知与对象的距离。It shows visual feedback to help the user perceive the distance from the object.

缩放对象Scaling an object

边界框的角告诉用户该对象可以缩放。The corners of the bounding box tell the user that the object can scale. 句柄遵循用于调整刻度的广泛理解的模式。The handles follow a widely understood pattern for adjusting scale. 此视觉提示向用户显示对象的总区域–即使它在调整模式外不可见。This visual cue shows users the total area of the object – even if it’s not visible outside of an adjustment mode. 如果没有此功能,则与另一个对象或表面对齐的对象可能看起来像是它不应存在的空间。Without this feature, an object snapped to another object or surface may appear to behave like there was space around it that shouldn’t be there.

视频循环:通过边界框缩放对象Video loop: Scaling an object via bounding box

spacespace
HoloLens 通过边界框缩放对象的观点HoloLens point-of-view of scaling an object via bounding box


旋转对象Rotating an object

边界框边缘的垂直矩形实用是旋转指示器。The vertical rectangular affordances on the edges of the bounding box are rotation indicators. 这样,用户就可以更好地调整其放置的全息影像。This gives the user more fine adjustment over their placed holograms. 它们不仅可以进行调整和缩放,还可以进行旋转。Not only can they adjust and scale, but now rotate as well.

视频循环:通过边界框旋转对象Video loop: Rotating an object via bounding box

spacespace
HoloLens 通过边界框旋转对象的观点HoloLens point-of-view of rotating an object via bounding box


HoloLens 2 上的现有视觉对象反馈Visual feedback on hand proximity on HoloLens 2

在 HoloLens 2 上,有一个额外的视觉提示,可帮助用户了解深度。On HoloLens 2, there's an extra visual cue, which can help the user's perception of depth. 当手指更接近对象时,其手指附近的圆圈会显示并缩小。A ring near their fingertip shows up and scales down as the fingertip gets closer to the object. 当达到按下状态时,环最终汇聚为一个点。The ring eventually converges into a dot when the pressed state is reached. 此视觉对象 affordance 可帮助用户了解其在对象中的距离。This visual affordance helps the user understand how far they are from the object.

视频循环:基于与边界框的邻近的视觉反馈示例Video loop: Example of visual feedback based on proximity to a bounding box

spacespace
视觉对象反馈Visual feedback on hand proximity


对于 Unity 应用开发,请参阅 混合现实工具包中的边界框-Unity。For Unity app development, see Bounding box in the Mixed Reality Toolkit-Unity.



什么是应用栏?What is the App bar?

应用栏是一个对象级菜单,其中包含一系列在全息图边界的下边缘上显示的按钮。The App bar is an object-level menu, which contains a series of buttons displayed on the bottom edge of a hologram's bounds. 此模式通常用于允许用户删除和调整全息影像。This pattern is commonly used to let users remove and adjust holograms. 应用栏的设计主要是在用户的环境中管理已放置对象的方式。The App bar was designed primarily as a way to manage placed objects in a user's environment. 与边界框结合使用,用户可以完全控制对象在混合现实中的位置和方式。Coupled with the bounding box, a user has full control over where and how objects are oriented in mixed reality.

应用栏追随用户The App bar follows the user

由于此模式与世界锁定的对象一起使用,因此当用户在对象周围移动时,应用栏将始终显示在最靠近用户的对象端。Since this pattern is used with objects that are world locked, as a user moves around the object the App bar will always display on the objects' side closest to the user. 虽然在技术上并不 billboarding,但此功能有效实现了相同的结果。While not technically billboarding, this feature effectively achieves the same result. 防止用户遮蔽或阻止在其环境中的其他位置可用的功能。Preventing a user's position to occlude or block functionality that would otherwise be available from a different location in their environment.

视频循环:浏览全息图,应用栏跟随Video loop: Walking around a hologram, the App bar follows

spacespace
浏览全息图。Walking around a hologram. 应用栏如下所示。The App bar follows.


MRTK (混合现实工具包) 适用于 Unity 的边界框Bounding box in MRTK (Mixed Reality Toolkit) for Unity

MRTK 为边界框和应用栏提供脚本和 prototyping。MRTK provides scripts and prefabs for the Bounding box and App bar. 可以通过将 BoundingBox.cs 脚本分配到任何对象来添加边界框。You can add a Bounding box by assigning the BoundingBox.cs script onto any object.



另请参阅See also