U盘PE| w764位旗舰版下载 | U盘装win7系统 | U盘启动 |win7pe | win10下载 |加入收藏土豆PE官网U盘PE,U盘装win7系统,win7pe,U盘启动,U盘装系统,w764位旗舰版下载站!
当前位置:主页 > 新闻资讯 >

Cyan为Quest作品《神秘岛(Myst)》带来裸手交互跟踪

来源:http://www.tudoupe.com时间:2022-08-02

如欲查看参考资料/资料来源,请点击:地图网纽恩

正式支持裸手交互

(映维网Nweon 2022年08月01日)使用Presence Platform升级的Hand Tracking API,开发者Cyan为Quest's Myst引入了裸手交互跟踪。现在,任务用户可以在没有控制器的情况下享受这个冒险.日前,小组介绍了神秘岛的手追踪过程,以下是映射网的具体安排:

在这篇博文中,我们将讨论在《神秘岛》中实现手部追踪的演变和迭代,特别是在Unreal Engine 4.27.2中为其添加更多支持。

设计阶段和注意事项

1.设计手跟踪导航

如果要告诉别人走到哪个位置,你会怎么做?你会用手指指,对吧。所以我们选择在《神秘岛》中使用“指向”方法进行移动。

在传输模式中,你可以用手指指向目的地,然后传送环会显示出来。 当您把剩余的手指伸展,或简单地拿回您伸展的手指,系统会执行远程传送。

对于滑动模式,你可以使用主控手(可以在控件设置中配置,但默认是左手)来指点,然后这个字符将开始沿着你指点的方向滑动。

我们发现,当用手指测试动作时,如果手指被手的其余部分遮挡,用食指和中指进行手部追踪有时并不可靠。系统不确定手指是属于指向状态还是收回到手中。所以我们在代码中添加了修正因数,稍后我们将进一步讨论。

2. 转弯

指示方法不适用于所有导航应用.谈到转弯,我们将最初结合指向和手腕转动.玩家的手臂和摄像机的前方箭头可以显示转弯的方向(以及转弯的大小)。我们先试了这个,因为保持导航“方向”主题在所有模式之间似乎非常直观。

然而,舒适度测试中出现了问题。在游戏测试中,大多数玩家都是手掌朝地指向前方。当手掌面向地面时,左右旋转手腕是一项挑战,并且运动范围非常有限,尤其是当尝试从胸部转开时。

即使你让球员的手朝前点,同样的问题也存在。 你可以把手臂向身体弯曲很多,但是当你把手臂从身体向外弯曲,你就不会得到相同的运动范围。

我们如何解决这个问题?最后,我们将转向指定的“举住拇指”的动作,而不是指向该动作。

想象一下竖起大拇指。现在左右转动手腕。请注意,即使你的动作幅度不大,但在这个手势中,你的拇指指向“左”和“右”依然相当一致。

尽管它似乎不是用拇指弯曲的最直观的方式,但它的确是弯曲的最舒适和一致的方式。

若要快速弯曲,请把手腕从上拇指向左或右旋转,以启动单个快速旋转。 然后,你必须把手放回“中心”位置来实现快速旋转的重新定位,然后再等待非常短的冷却时间,然后你就可以重新启动快速旋转。

为了稳定弯曲,当你离开“停留区”时,手腕在拇指顶部开始向左或右旋转。

3.处理运动和对象交互式姿态之间的冲突

当然,指向手势的范围太广了,不能假定它只用于导航。由于习惯或期望,人们会做出同样的动作来按按钮或与世界其他事物进行交互。进入(但不能直接进入)一个按钮,用手指按它,然后突然(无意识地)传染开始,这将对游戏体验产生巨大的影响。

当玩家进行交互时,我们防止移动发生的方法是:当做出“移动”手势的手在可交互对象的特定范围内时,防止任何移动代码触发。这个范围已进行多次调整,以达到基于测试的“甜蜜点”。

我们发现这个甜点离指尖骨的世界空间约25厘米。神秘岛充满各种大小的互动对象(从小按钮到非常大的杠杆),设在宽敞的空间和狭窄的走廊里,所以我们做了大量的测试来确定这个数字。我们先试了60厘米,但当玩家仍需要接近对象时,这阻止了移动。同样,当玩家试图抓住或触摸对象时,任何小于25厘米的物体都会触发玩家不意的动作。

我们最好的测试区域之一是发电机室,在那里,你需要经过一个狭窄的入口,然后立即遇到一个填满按钮的面板。 当交互测试区域太大时,玩家不能通过入口并移动到面板,因为它检测到肘部边缘的按钮。

换句话说,25厘米是专门为神秘岛设计的。 其他游戏可能需要根据实际情况调整这个数字。

4.为手跟踪设计对象交互

现在,Mystery Island的所有可用的交互都是用来打开阀门,打开门,按按钮,读出页。

这个接口基于基于触控控制器的Mystery Island的设置。对于这一点,按扣住按钮将自动将手网集成到游戏的扣住位置,要么是卷成拳头状,要么是抓取对象。在手部追踪方面,我们还增加了你什么时候可以弯下手指,以便抓到东西,并用上面提到的逻辑开始代码,以限制猜测。

例如,当使用手追踪时,当手悬在可抓的对象上时,手的颜色变为橙色。 当您开始将手指卷成拳头形状并抓取一个交互对象时,橙色球将取代您的手的网格,并指示手在该对象上的位置。

之所以采用这种方法,而不是为手部制作定制的可定位网格,或者让手/手指看起来与对象的某些部分进行物理交互,是因为我们希望裸手交互能够匹配Touch控制器的体验。

但按这个按钮的后果是不同的。因为这个按钮不是可触摸的对象,因此不需要抽象,相反,我们允许你使用生成的capsule collider在可定位手部网格的每个手指关节之间简单地按下按钮。你可以做各种奇怪有趣的事情,因为这就像使用你的拇指或一个没有名字的手指来与游戏中的每个按钮进行交互。

与按键通过触控控制器与游戏互动的方式相比,这种方法略有不同,因为我们通常想让玩家使用控制器的握住按钮将手设置为假手指的网格,准确地按游戏的结局按钮.通过手部追踪,你可以手动创造的动作显然更灵活,因此,可以使用更多的方法以同样准确地按键。

5.菜单/UI交互

要与菜单交互,我们最终采用了Meta在Quest平台上使用的相同的交互模式:拇指和指针折叠在一起。这可以用于在游戏中打开菜单,您可以与菜单中的元素进行交互。当玩家第一次在探险中启动手追踪时,他从操作系统级菜单中得知了这一点,所以重新发明轮子是毫无意义的。

对于Quest,手追踪与触控器不同,也许这是第一次有人做神秘岛(甚至第一次他们玩VR游戏!),所以我们正设法找出如何向玩家传达有关手追踪的所有信息。我们确保控制器图形是专门用于描述手跟踪交互。并向玩家显示特别通知,告诉他们如何准确地用手移动。

另外,我们认为一旦启用,提醒玩家如何拥有流畅的手部追踪体验至关重要。《神秘岛》的菜单会向用户告知,如果他们确保自己在光线充足的房间里,并将手放在视场之内,手部追踪的稳定性会更好。

Meta同样会告诉玩家,这是良好手部追踪环境的关键,但我们认识到,有些玩家可能没有注意Meta的告知并直接进入游戏,因此我们选择再次提醒大家,以防他们忘记。

7.在“不真实”中换引擎

我们目前正在使用Mystery Island Unreal Engine 4。Meta提供了Unreal中手跟踪的基本代码,但对于像我们这样需要更好的动作和可靠性测试的游戏来说,这还不够。大多数Meta的手势检测和手跟踪物理库目前只能在Unit上使用,因此, 我们 必须 在 这 方面 作出 根本 的 改变,为了获得一个可以识别在“不真实”的简单动作,例如, 举起你的拇指,指点你的手指.

8.系统手册垃圾修补

如果你开始按压,甚至没有等待证实压力已经维持了一段时间,Oculus左手系统手势(用于菜单按钮)也被触发。我们在Oculus输入库中更改事件以等待媒体完成(等待系统手势填补其确认圆),然后启动通知事件来解决问题,而不是在事件中这样做。

9.多平台建设稳定性

与任何Blueprint一起序列化的Oculus Hand Component将导致其他平台(如Xbox)的Build在本地化步骤中中断。这是因为Oculus Hand Component是OculusVR插件的一部分,该插件只适用于Windows和Android,因此,在建造其他平台时,不能在Blueprints中引用其任何component。

Unreal Engine 5 没有官方支持本地化。但对于Unreal Engine 4中的用户来说,根据项目的需要,保持开放状态可能仍然有用。因此,在Blueprint level为所有平台打包的游戏纳入一个hand component不可行。

我们的解决方案是,当手追踪被检测为被启用或禁用时,我们只会在Touch控制器生成和销毁C++中的Oculus Hand Component,它也可以在Android的Build为Quest开发。hand component源代码和我们所有的手部追踪代码都被排除在其他平台之外。

遗憾的是,这意味着如果你是一个开发者,拥有一个面向多个平台的Blueprints-only项目,并在Unreal Engine 4中利用本地化,同时, 正在 考虑 对 Quest 进行 手 追踪,你可能需要将项目转换为源项目,避免其他平台的本地化问题。

10.自定义全手势识别

在Unreal中,没有一个有意义的全手势识别内置的Oculus输入库。这意味着,如果你做了举手势或指 finger-pointing手势,要求其他手指粘住,Unreal不会让你知道这个特定的手势发生。

我们 的 解决 办法 是 在 Oculus 手部件 中 实现 我们 自己 的 骨骼 回转 检测, 以 推断 什么时候 :

  • 指向(食道)的出现
  • 抓取动作正在发生
  • 升高的拇指姿势

所有这些都可以作为C++中绑定的输入事件触发。

11.手动及跟踪稳定性调节

在执行和测试Mystery Island的手跟踪支持时,当一些手指被锁在手的其他部分时,跟踪稳定性有一定问题。 例如,如果你:

  • 当你抓东西时,你的手指都回到你身上,亦即被手背遮挡
  • 用肘尖直握手

我们注意到,当你抓东西时,你的手指都回到你身上,手追踪有时会暗示你的手指没有固定在手腕上。事实上,当你抓住东西时,你只能看到你的手的背部,所有手指的追踪精度并不特别高。这是一个问题,因为当我们想让球员抓住阀门或杠杆等东西时,继续移动/移动,当你不轻易放手的时候,手追踪系统可能认为你不再拿东西,因为它认为你松了手指。

用肘尖直握手时,有时手追踪系统认为你的中指比实际更放松,你甚至可能认为你在同时用中指和食道指点。这是我们的导航和流动系统中的一个问题。如果系统不再认为你只是指着手指,它可能认为你正试图抓到什么东西,从而阻止你移动,或者不意地执行您还没有准备好启动的远程传输.

对于这两种情况,我们的解决方案是增加单独的手指阈值,在我们把手当作没有抓住或没有指针之前,我们允许有麻烦的手指在这些情况下放松。通常情况下,追踪系统认为手指比实际更松弛。而不是相反。我们将所述阈值纳入到在Oculus Hand Component之中。

12.其他便利的实用设施

为了实现自定义的动作识别,我们对Oculus Hand Component源进行了大量修改,但同时,我们也修改了它,以满足一些实际的功能。我们写的函数之一是获取世界空间其他点的最接近的手碰撞点的实用工具。它还返回最近的骨骼的名称。我们将使用这个实用函数来验证不同的输入用于不同的交互。

值得指出的是,我们发现手骨的可追踪性,无论手的深度如何,都是最一致的,所以我们比其他人更频繁地测试了手骨的位置。

13. 写在最后

手追踪在游戏中是一个非常强大的附加功能。对神秘岛来说,这需要一定的工作,但我们试图与现有的输入系统相结合,所以我们不需要对整个游戏进行太多的总体变化。我们的目标是创造一种直观和舒适的用户体验,不需要在后端建立一个完全独立的输入系统。

Meta's Unreal Engine分支提供开箱即时手追踪支持,它可以被用来改变引擎的团队使用。话虽如此,它需要一些修改来识别有用的全手势。我们真期待看到Meta跟踪 Unity的手赶上Unreal。同时,一个能够轻松处理基于源代码的项目团队应该知道,他们有足够的灵活性以根据项目跟踪他们的手.

---

来源: https://news.nweon.com/99452

Copyright © 2012-2014 Www.tudoupe.Com. 土豆启动 版权所有 意见建议:tdsky@tudoupe.com

土豆系统,土豆PE,win7系统下载,win7 64位旗舰版下载,u盘启动,u盘装系统,win10下载,win10正式版下载,win10 RTM正式版下载,win8下载,电脑蓝屏,IE11修复,网络受限,4K对齐,双系统,隐藏分区,系统安装不了,U盘装系统,笔记本装系统,台式机装系统,diskgenius运用,GHSOT装系统,U盘修复,U盘技巧,U盘速度,U盘不能格式化,U盘复制发生错误,U盘加密,U盘选购,开机黑屏,蓝屏,进不了系统,上不了网,打不开程序,点击无反应,系统设置,PE个性化,PE添加网络,PE维护系统

点击这里给我发消息