首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >全息透镜-空间映射(Unity3D)

全息透镜-空间映射(Unity3D)
EN

Stack Overflow用户
提问于 2017-07-17 16:20:17
回答 2查看 191关注 0票数 1

实际上,我正在和微软的Hololens一起做一个项目。问题是Hololens的记忆力很差,所以我只能做一个房间的空间映射,而不是一座建筑的空间映射,因为他不能记住所有的建筑。我有一个想法,也许可以创建更多的对象并将它们组合在一起?但是没有人谈论这个。你觉得这有可能吗?

谢谢你读我的文章。

Y.P

EN

回答 2

Stack Overflow用户

发布于 2018-05-17 02:39:14

由于您没有指南针,因此可以建立一些约定来提供帮助。例如,您可以通过发出语音命令来开始扫描(并通过另一个命令停止扫描),然后决定只在您面向北的时候开始扫描。这样就很容易知道每个房间的朝向了。可能更难的是让角度完全正确。你的头可能会偏离几度,你可能不得不做一些“魔法”(后处理)来纠正它。

或者将二维码贴在墙上(打印纸+透明胶带),并使用Vuforia之类的东西可以帮助您完全避免这种方向问题(您将获得与墙上的方向相匹配的二维码)。

还可以简化扫描的网格并将其转换为平面。这样,您就可以记住更简单的对象,而不是原始的空间映射网格。(在全息学院教程中搜索SurfaceToPlanes脚本)。

票数 0
EN

Stack Overflow用户

发布于 2019-09-26 19:14:01

扫描是第一层,就像在HoloLens中一样,试图对环境进行推理是一个不可阻挡的过程。没有用于启动或停止它的API。据我所知,这个过程也会慢慢地消耗越来越多的内存。你唯一能做的就是删除空间(也就是删除全息图)或者覆盖传感器。但这是操作系统/硬件级别,而不是您可能想要的应用程序级别。

第二层,你可能正在谈论的,是开始和停止空间重建过程,在那里原始空间数据被处理成低多边形网格(也称为空间映射)。此进程可以启动或停止。例如通过Unity的SpatialMappingCollider和SpatialMappingRenderer组件,如果您使用Unity的话。

最后,第三层是从空间映射网格中提取一些对象/片段为图元。就像那个SurfaceToPlanes。你也可以完全控制时间。

有一个巨大的混乱,特别是由于在MixedRealityToolkit (过度使用单词扫描)和Unity (从SpatialAnchor到WorldAnchor等)中对各方进行了重新命名。还有误导性的教程,使用了大量的俗语而不是简洁的术语。

抛开理论不谈。如果你希望HoloLens认为你的整个建筑在第一层是一个连续的空间,那你就大错特错了。它是为起居室而设计的,为了让它在30x30米的设施中稳定工作,需要很多巫术。您可能希望依赖具有特定检测锚点的不连续“岛”来确定您所在的位置。或者依赖于标记和与它们相关的坐标。

干杯

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45139199

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档