元宇宙里也有魔法师:Unity模块加苹果LIDAR,你也能手搓魔法光球!

2022-02-24 19:43:02 浏览数 (1)


新智元报道

编辑:袁榭 拉燕

【新智元导读】法国的游戏制作人Olivier Goguel,依靠iPhone激光雷达组件、AR技术、3D手部跟踪、视觉机器学习的组合,拍摄了一段“徒手搓出魔法激光束并扔到屋子另一边”的短视频。

准备好徒手搓出一道魔法激光束了吗?你肯定准备好了!现在,只要有一套足够新鲜的AR设备,你就可以做到这一点了! 能做到这点的系统是宅男界成功人士、给2020版《微软飞行模拟》开发过VR模块的法国工作室HoloForge Interactive首席技术官Olivier Goguel设计,全套系统以苹果设备与Unity的AR软件包模块为基础 。 用Iphone和AR软件包,在家徒手搓出魔法光球

『欢迎来到这个叫做「全员魔法师」的实验!』Goguel在他领英的视频中展示到。

Reddit上,在他分享的不到一分钟的视频中,Goguel的指尖充斥着粉色能量。能量条游走在指尖,好像就附着在上面一样。随着他的操控,他的掌心中间慢慢出现了一个精细的能量球。他轻轻一丢,能量球就飞向了墙边,在另一间屋子里消失不见。

这个实景操作真是圆了全球宅界人士的童年梦想,毕竟谁在小时候没有做过徒手推出龟波气功/魔法光球/高能死光的中二梦想呢?

借助景深传感器和基于视觉的机器学习技术,用户可以复制自己双手、以及双手周围的环境的数码版本,以此生成一个现实和虚拟无缝交互的 3D 环境。

该视频下面的评论都十分激动,对此感兴趣的人可以在 Github 找到并下载相关内容。

领英页面的评论中写道,「太不可思议了!3D 手部追踪技术、空间理解技术都让这种体验感做到了无可复加的逼真。尤其是实时的 3D 手部追踪和手部打光。感谢分享!」

讲实话,这个 AR 包看起来比现在市面上各种挂名元宇宙的产品有意思多了,而且抖音用户们肯定喜欢这种东西。

如果有公司可以获取到这个 AR 包,并且发售分享,那每个人都可以成为魔法师了!

Reddit上的网友评论大都褒扬Goguel的新成就,不过不一定看好AR业界趋势。

这位网友的赞美很中肯:

「这东西让我想起了刚开始那几代 iPhone上的光剑游戏,当时玩儿那个游戏晃手机就会有那种音效。幸运地是,今早发布的这个新视频表明 AR 正往那个方向发展。但不幸地是,我看现在人们对这种没什么大用、但酷毙了的东西都不感冒了。」

这位网友虽然不批评新创意,但对业界有微词:

「其实这也不难理解。真有用的东西都是跟 AR 眼镜有关系的,凡是在手机上的跟 AR 上有关的东西都没啥用,小把戏罢了。」

这位网友完全被视觉效果震撼:

「天!和房间里元素的互动也太真实了!好棒!太令人印象深刻了。」

其实这不是Olivier Goguel第一次整类似的活。2020年底,他就用类似的设备与软件代码,做出了个把自己家整成黑客帝国式“所有物体都在浮现代码”效果的视频。

当时推特上也有人说:“大哥,你把这么酷的AR展示覆盖在野外行么?”

有人用黑客帝国哏逗哏:“也许他只是做了个滤镜,而我们是真的活在矩阵里。”

上GitHub,向高手学如何徒手搓光球

Olivier Goguel是怎么做到的呢?他在GitHub上公布自己制作AR视像的软件包组件、和软硬件基础要求。

基础要求中,硬件要有支持激光雷达(Lidar)的Iphone 12或Pro。这些带足够新ARKit的型号,在AR功能上有深度API、位置锚定等特色。这些功能使虚拟对象遮挡更加真实,让虚拟对象可以无缝地与物理环境相融合,从不同角度的视效如同真实镜头一般。

软件环境要有Unity 2021.2及以上版本的制作引擎,这能保证足够的图像帧率与渲染效果。

软件环境还要有Unity的跨平台开发工具AR Foundation。该工具为开发者们提供了个支持现有的ARCore、ARKit和未来AR平台核心功能的通用API。

然后将Goguel在GitHub上的自制软件包安装在搭载如上软件的Iphone 12:

先在菜单中添上RealtimeHand安装包;然后搭载SwiftSupport支持包;都安装好后,点击RealtimeHandSample,就能随地自制“手搓魔法光球”的AR视像了。

RealtimeHand软件包里包括以下组件:

RTHand.Joint

  • screenPos: 这部分能将2D图像转化为标准化图像坐标;
  • texturePos:这部分能将2D图像转化为标准化CPU影像坐标 ;
  • worldPos: 这部分将数据转化为视野世界中的3D图像
  • name: 这部分负责标定与原始图像相匹配的联合变换点
  • distance: 这部分测算景深
  • isVisible: 这部分测算原始位置感测到的联合变换点是否被遮挡
  • *confidence: 这部分测量感测的置信度

RTHand.RealtimeHandManager这个组件是程序中调用最频繁的部分,工作步骤为:

  • 程序创建虚拟物体
  • 加入此组件
  • 此组件与ARSession, ARCameraManager, AROcclusionManager等组件联动,设置编辑图像
  • 通知用户图像的变化

软件工作流程

当安装此软件包的iPhone接受到一帧摄像画面时 :

  • 程序同步调用姿态感测模块,从操作系统提取2D姿态测算值
  • 提取景深感测模块与人体姿态描绘模块生成的CPU图像
  • 从人手部骨骼的2D姿态,结合景深数据,重构3D姿态并渲染虚拟光束效果。

AR生成图像进程示例

看,是不是不用很累很麻烦,只要买得起iPhone12,就能拳打哈利波特脚踩甘道夫了?

参考资料:

https://futurism.com/the-byte/ar-demo-magic-fingers https://www.reddit.com/r/AR_MR_XR/comments/smstfn/lets_all_be_wizards_augmented_reality_experiment/ https://www.linkedin.com/posts/oliviergoguel_unity-arkit-arfoundation-ugcPost-6896359946351460352--qMo/ https://github.com/ogoguel/realtimehand

0 人点赞