Unity Hololens2开发|(九)MRTK3空间操作 ConstraintManager(约束)

这篇具有很好参考价值的文章主要介绍了Unity Hololens2开发|(九)MRTK3空间操作 ConstraintManager(约束)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.前言

  • 使用 ConstraintManager,可以将一组约束组件应用于转换。 默认情况下,约束管理器会自动收集所有附加的约束组件,并将它们应用到目标对象。 但是,用户也可以选择手动配置应用的约束列表,只允许使用附加约束的子集.
  • 目前,以下 MRTK UX 元素支持约束:
    • (BoundsControl)边界控制
    • (ObjectManipulator )对象操控器
  • 约束管理器可在两种模式下运行:
    • 自动约束选择
    • 手动约束选择

2.约束选择

2.1 自动约束选择

  • 默认的“Auto”模式将列出所有附加的约束组件。 可以使用“Go to component”按钮直接跳转到检查器中的组件,也可以从下拉列表中添加新约束。
    hololens boundscontrol,Hololens2开发系列,unity,游戏引擎,mr,xr,vr,ar,hololens

2.2 手动约束选择

  • 如果将束管理器设置为手动模式,则仅处理约束列表中链接的约束并将其应用于转换。 首次启用手动模式时,管理器将使用所有当前附加的约束自动填充列表。
    hololens boundscontrol,Hololens2开发系列,unity,游戏引擎,mr,xr,vr,ar,hololens

3.执行顺序

  • 每个约束的执行顺序可以在约束本身的“执行顺序”选项中定义。 该顺序将反映在约束管理器中显示的列表中。 当某些约束以不同的顺序组合时,它们的行为会有所不同,因此请记住每个约束的优先级,并相应地调整它们的顺序。

4.转换约束

  • 可以使用约束以某种方式限制操作。 例如,某些应用程序可能需要旋转,同时要求对象保持垂直。 在这种情况下,可以向对象添加 RotationAxisConstraint,并用于将旋转限制为 y 轴旋转。 MRTK 提供了许多约束,所有这些约束如下所述。
  • 也可以定义新约束,并使用它们创建某些应用程序可能需要的唯一操作行为。 为此,可以创建一个继承自 TransformConstraint 的脚本,并实现抽象的 ConstraintType 属性和抽象的 ApplyConstraint 方法。 新约束应显示在下拉列表中,并且应在添加到对象时自动在约束管理器中注册。
  • MRTK 提供的所有约束共享以下属性:
    • Hand Type 指定约束是用于单手操作、双手操作还是同时用于这两种操作。 由于此属性是一个标志,因此可以同时选择这两个选项:
      • (One Handed)单手:如果选择,约束将在单手操作期间使用。
      • (Two Handed)双手操作:如果选择,约束将在双手操作期间使用。
    • 手ProximityType 指定约束是用于近操作、远操作还是同时用于这两种操作。 由于此属性是一个标志,因此可以同时选择这两个选项:
      • (Near)近:如果选择,约束将在近操作期间使用。
      • (Far)远:如果选择,约束将在远操作期间使用。

5.约束类型

5.1 FaceUserConstraint

  • 此约束限制对象的旋转,以使其始终面向用户。 “Face Away”选项控制是使用正 Z 轴还是负 Z 轴。
    hololens boundscontrol,Hololens2开发系列,unity,游戏引擎,mr,xr,vr,ar,hololens

5.2 FixedDistanceConstraint

  • 此约束固定了操作开始时被操作对象与另一个对象转换之间的距离。 这适用于诸如固定被操作对象与头部转换之间的距离等行为。 Constraint Transform字段默认为相机转换,是操作对象将具有固定距离的另一个转换。
    hololens boundscontrol,Hololens2开发系列,unity,游戏引擎,mr,xr,vr,ar,hololens

5.3 MaintainApparentSizeConstraint

  • 当此约束被附加到对象时,无论对象与用户有多远,它都将保持与用户相同的表面大小(即它将占据用户视野的相同比例)。 这可用于确保在操作时盖板或面板仍然可读。
    hololens boundscontrol,Hololens2开发系列,unity,游戏引擎,mr,xr,vr,ar,hololens

5.4 MoveAxisConstraint

  • 此约束可用于固定被操作对象沿哪个轴移动。 这可用于在平面表面或沿直线操作对象。
    Constraion on Movement 字段指定要阻止移动的轴。 默认情况下,这些轴是全局轴而不是局部轴,但可以在下方进行更改。 由于此属性是一个标志,因此可以选择任意数目的选项。
    hololens boundscontrol,Hololens2开发系列,unity,游戏引擎,mr,xr,vr,ar,hololens

5.5 MinMaxScaleConstraint

  • 此约束限制对象的缩放,这有助于防止用户将对象缩放到无法使用的大小。 它适用于基于句柄的缩放(使用 BoundsControl)和通过双手操作的直接缩放(使用 ObjectManipulator)。 Relative to Initial State选项定义特定的最小和最大缩放值是否为绝对值,或者它们是否与对象的初始缩放比例相乘。
    hololens boundscontrol,Hololens2开发系列,unity,游戏引擎,mr,xr,vr,ar,hololens

5.6 RotationAxisConstraint

  • 此约束可用于固定被操作对象可沿哪个轴旋转。 这可用于使被操作对象保持垂直,但仍允许围绕 y 轴旋转,例如。Constraint On Rotation字段指定要阻止旋转的轴。 默认情况下,这些轴是全局轴而不是局部轴,但可以在下方进行更改。 由于此属性是一个标志,因此可以选择任意数目的选项。
  • hololens boundscontrol,Hololens2开发系列,unity,游戏引擎,mr,xr,vr,ar,hololens

文章来源地址https://www.toymoban.com/news/detail-774676.html

到了这里,关于Unity Hololens2开发|(九)MRTK3空间操作 ConstraintManager(约束)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【HoloLens2】【Unity】【MRTK】开发笔记(一):创建第一个项目

    前言 标题这三者的关系是:假如这里有一个电子厂,Unity是机床,MRTK是零件和螺丝刀,HoloLens2是超市货架。最后在机床上生产出的商品要摆到货架上售卖。机床官方建议用Unity,但Unreal也是很不错的选择,只是部分微软云服务暂时还不支持。 本电子厂女工将从零开始生产一个

    2024年02月10日
    浏览(33)
  • Unity之Hololens2开发 如何接入的MRTK OpenXR Plugin

    什么是Hololens? Hololens是由微软开发的一款混合现实头戴式设备,它将虚拟内容与现实世界相结合,为用户提供了沉浸式的AR体验。Hololens通过内置的传感器和摄像头,能够感知用户的环境,并在用户的视野中显示虚拟对象。这使得用户可以与虚拟内容进行互动,将数字信息融入

    2024年02月08日
    浏览(32)
  • Hololens2 MRTK 关闭空间网格、性能面板

    在使用MRTK 创建Unity 工程时, 默认配置是带有空间网格、性能面板,但是有时候这些会干扰我们的全息幻影的视觉效果,因此需要进行屏蔽显示。 第一步,在“Hierarchy”面板选择“MixedReality Toolkit” 默认的MRTK配置是无法更改其内容的,这时候需要点击下图所显示的“Clone”字

    2023年04月08日
    浏览(27)
  • Unity MRTK Hololens2眼动交互

    在场景中新建一个物体,将EyeTrackingTest组件挂载到新建的物体上就可以了

    2024年02月08日
    浏览(32)
  • Unity Hololens2开发|(一)环境配置

    Windows10 SDK Microsoft Visual Studio2022 Windows 10/Windows11(专业版或者企业版操作系统 家庭版不行) Unity2021.3.29lts MixedRealityFeatureTool(用于配置MRTK3 Unity 的混合现实工具包) HoloLens 2 仿真器 :(有设备或者初学者不建议安装) 配置开发者模式 Holographic Remoting Player(全息远程处理播放) Visual

    2024年02月04日
    浏览(38)
  • Unity Hololens2开发|(四)实时画面电脑预览(2种方法)

    获取Hololens2 IP地址,打开Hololens2的Holographic Remoting Player 可以得到IP。 打开浏览器在搜索栏输入Hololens2 IP地址。如果出现安全问题拒绝访问,点开下面的更多信息然后进入,输入usrname、password。 -依次 查看-混合现实捕获-实时预览 点开即可看到Hololens画面。 如果不成功,请到

    2024年02月04日
    浏览(53)
  • Unity Hololens2开发|(三)工程发布及真机部署(3种方法)

    Unity 2021.3.27f1c2(Unity2018.4及以上版本) Visual Studio Community 2022 切换至UWP平台(如果没有该平台组件请先下载安装) HoloLens2的工程部署分为三种种方式:USB、WiFi和Web。 2.11 Unity 在Build Settings中将Build and Run on选择为USB Device,点击Build,如下图 2.12 Visual Studio 将当前工程右键设为启

    2024年02月05日
    浏览(41)
  • unity HoloLens2开发,使用Vuforia识别实体 触发交互(二)(有dome)

    提示:文章有错误的地方,还望诸位大神不吝指教! 我使用的utniy 版本:Unity 2021.3.6f1 第一章地址链接: link 第一章记录了一些 安装环境 需要的东西,这章主要章打包和一些BUG问题 以前记录的:链接: link 前提:需要在MRTK工具包中导入到项目。 本人经常使用的方法: 在holo

    2024年02月04日
    浏览(36)
  • Hololens2实现空间描点(本地化)

            空间锚提供了一种能够将物体保留在特定位置和旋转状态上的方法。这保证了全息对象的稳定性,同时提供了后续在真实世界中保持全息对象位置的能力。MRTK官方给的方法是基于Azure云来实现的,这个云目前个人无法注册,所以暂时只能本地化来实现,本地化其实就

    2024年02月16日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包