Unity Canvas与MRTK Canvas

区别

Unity Canvas和Mixed Reality Toolkit (MRTK) Canvas都用于用户界面(UI)的设计和呈现,但它们有一些主要的区别:

  1. Unity Canvas:Unity Canvas是Unity引擎的基础部分,用于创建2D和用户界面。它提供了一种方式来在游戏中创建和管理2D图形、文本和复杂的交互式UI。Unity Canvas有三种渲染模式:Screen Space - Overlay, Screen Space - Camera, 和 World Space。
  2. MRTK Canvas:Mixed Reality Toolkit (MRTK)是一种用于创建混合现实应用的工具集,它包含了一些预设的UI元素和交互模式,专门用于创建适用于混合现实环境的交互式应用。MRTK提供了一个名为NearInteractionTouchableUnityUI的组件,它可以让Unity的UI Canvas支持MRTK的"Near Field"交互,即可以在3D空间中使用手部和指尖进行交互。
    总的来说,Unity Canvas是基础的UI构建工具,而MRTK Canvas则是在此基础上,为混合现实环境提供更丰富、更直观的交互方式。如果你正在创建一个混合现实应用,你可能会更倾向于使用MRTK Canvas。

特别注意同时要注意的是
一般来说MRTK canvas的事件相机(Event Camera)应该设置为None

事件相机问题

要使混合现实工具包 (MRTK) 与 Unity 的世界空间画布一起正常工作,不应设置画布中的“事件相机”。 这是因为 MRTK 使用自己的相机(通过输入系统)进行光线投射和与画布的交互。 如果设置了“事件相机”,这可能会干扰 MRTK 的输入处理,从而可能导致 UI 交互出现问题。 因此,为确保 MRTK 正确处理 World Space Canvas 的输入,通常建议在画布设置中不设置“Event Camera”字段。 为了让 MRTK 处理与世界空间画布的交互,您通常还会将 NearInteractionTouchableUnityUI 组件添加到画布。 此组件允许 MRTK 处理“近距离”交互,即用户在 3D 空间中使用他们的手或控制器与 UI 交互。

NearInteractionTouchableUnityUI是MRTK (Mixed Reality Toolkit) 的一个组件,用于为Unity的UI系统添加近场交互能力。当该组件附加在Canvas上时,用户可以通过在三维空间中使用手或控制器来与UI元素进行交互。这对于创建更自然、更直观的混合现实体验是非常有用的。
以下是关于NearInteractionTouchableUnityUI组件参数的一些说明:

  1. Events To Receive:这个参数决定了Canvas应该接收哪些类型的输入事件。你可以选择接收“Touch”事件、"Pointer"事件,或者两者都接收。"Touch"事件指的是用户用手触碰UI元素的事件,而"Pointer"事件则是用户用一种指向设备(如手持的控制器)指向UI元素的事件。
  2. Debounce Threshold:这个参数是用来防止因为微小的移动而造成的反复触发事件。当手或者指针在Canvas上移动的距离小于这个阈值时,将不会触发新的触碰事件。这可以防止因为手或控制器的微小抖动导致的反复触碰事件的触发。
    在实际使用中,你可以根据你的应用的需求来调整这些参数,以达到你想要的交互效果。

你可能感兴趣的:(unity,数码相机,游戏引擎)