unity 焦点_实验室焦点:Unity MARS

unity 焦点

Unity MARS is a new Unity toolset specifically designed to help our creators make better spatial experiences and games that can run anywhere in the world. It has two key parts: a Unity extension and companion apps for phones and AR head-mounted displays (HMDs).

Unity MARS是一个新的Unity工具集,专门用于帮助我们的创作者获得更好的空间体验和可以在世界任何地方运行的游戏。 它包含两个关键部分:Unity扩展以及用于电话和AR头戴式显示器(HMD)的配套应用程序。

We are at a fascinating inflection point for computers. The rise of ubiquitous sensors and fast processors means that we can finally move towards the spatial computing vision that has been described and tested in various forms since the 1960s. At last, we have a variety of small, flexible computers that can take in information about the world – and do something interesting with it.

我们正处于计算机引人入胜的拐点。 无处不在的传感器和快速处理器的兴起意味着我们终于可以朝着自1960年代以来以各种形式描述和测试的空间计算愿景迈进。 最后,我们拥有各种小型,灵活的计算机,它们可以接收有关世界的信息,并对此做一些有趣的事情。

Unity has long been used to make digital worlds for games and simulations, but we could only experience them through a window, using peripherals to have our avatars run around vast worlds while we sit on our couches. Virtual reality (VR) took us closer by allowing people to step into the window. Mixed reality (MR) lets digital objects step through to the other side of that window, out into the real world.

长期以来,Unity一直被用于制作游戏和模拟的数字世界,但是我们只能通过一个窗口来体验它们,使用外围设备让我们的化身坐在沙发上时可以在广阔的世界中运行。 虚拟现实(VR)通过允许人们进入窗口使我们更加接近。 混合现实(MR)让数字对象进入该窗口的另一侧,进入真实世界。

A whole class of creators is learning how useful Unity can be for creating mixed reality experiences. We can use all of the same systems we built for digital worlds – animation, physics, and navigation, for example – to test and build apps that run in and respond to the real world.

整个创作者群体都在学习Unity在创建混合现实体验中的作用。 我们可以使用为数字世界构建的所有相同系统(例如动画,物理和导航)来测试和构建可在现实世界中运行并对之做出响应的应用程序。

But as the Unity Labs’ Authoring Tools Group dug into the use cases for AR/MR, we realized that not only do apps need to work in the real world, but we also need to get more information about the real world back into the Editor. We need easy ways to tell Unity what’s real and what’s not and to let us design, develop, and test our real-world applications more easily.

但是当Unity Labs的创作工具小组深入研究AR / MR的用例时,我们意识到,不仅应用程序需要在现实世界中运行,而且我们还需要将有关现实世界的更多信息重新带回编辑器。 我们需要简单的方法来告诉Unity什么是真实的,什么不是真实的,并让我们更轻松地设计,开发和测试我们的实际应用程序。

Enter Unity MARS, a new Unity toolset specifically designed to help our creators make better spatial experiences and games that can run anywhere in the world. Unity MARS is an authoring environment for creating intelligent mixed and augmented reality experiences. It has two key parts: a Unity extension and companion apps for phones and AR head-mounted displays (HMDs).

输入Unity MARS,这是一个新的Unity工具集,专门用于帮助我们的创作者获得更好的空间体验和可以在世界任何地方运行的游戏。 Unity MARS是用于创建智能混合和增强现实体验的创作环境。 它包含两个关键部分:Unity扩展以及用于电话和AR头戴式显示器(HMD)的配套应用程序。

We announced Unity MARS at Unite Berlin in 2018. As we near beta release, we wanted to share an overview of the toolset and new features we’ve been building since the initial announcement.

我们于2018年在Unite Berlin上宣布了Unity MARS 。在即将发布Beta版时,我们希望分享自初次发布以来我们一直在构建的工具集和新功能的概述。

Unity MARS的关键功能及其解决的问题 (Key Unity MARS features and the problems they solve)

仿真视图 (The simulation view)

The Simulation View is one of the most significant new features of Unity MARS. One curious property of MR/AR apps is that there are two world spaces that need to be defined: the Unity world space and the real-world space. The simulation view provides a place to lay out objects and test events in a simulated real-world space. It’s a new dedicated window in the Editor that lets you input real or simulated world data, like recorded video, live video, 3D models, and scans, and start laying out your app directly against this data. This window includes tools and UI to see, prototype, test, and visualize robust AR apps as they will run in the real world.

仿真视图是Unity MARS最重要的新功能之一。 MR / AR应用程序的一个令人好奇的特性是,需要定义两个世界空间:Unity世界空间和现实世界空间。 仿真视图提供了在模拟的真实世界空间中布置对象和测试事件的位置。 这是编辑器中的一个新的专用窗口,可让您输入真实或模拟的世界数据,例如录制的视频,实时视频,3D模型和扫描,并开始根据此数据直接布置应用程序。 该窗口包括工具和UI,可在健壮的AR应用程序在现实世界中运行时对其进行查看,原型制作,测试和可视化。

The simulation view is straightforward to explain, but developing it required us to create a complex system to address what we’ve dubbed “the simulation gap.” The simulation gap is the difference between the perfect information computers have about digital objects, and the reality of current devices and sensors that can only detect partial, imperfect data. We solve this in a variety of ways, from simulated discovery of surface data to our robust query system. We’ll delve deeper into these in an upcoming blog post.

模拟视图很容易解释,但是开发它需要我们创建一个复杂的系统来解决我们所谓的“模拟差距”。 模拟差距是完美的信息计算机对数字对象的了解与当前只能检测部分不完全数据的设备和传感器之间的差异。 从表面数据的模拟发现到强大的查询系统,我们可以通过多种方式解决此问题。 我们将在即将发布的博客文章中深入研究这些内容。

仿真设备视图 (The simulation device view)

The simulation device view is the flip side of the simulation view. As well as simulating the world in the Unity Editor, you also simulate a device moving around the world. This perspective lets you quickly experience your app the same way most of your users will on a mobile AR device. Not only will this help you start to see if your AR app works well across different spaces without requiring you to physically test in each one, this view will also significantly reduce iteration time as you build your AR apps. You can control the camera like a device using your keyboard and mouse, or a device running the companion app, streaming real data into the Editor.

模拟设备视图是模拟视图的反面。 除了在Unity Editor中模拟世界外,您还模拟了在世界范围内移动的设备。 这种观点使您可以像大多数用户在移动AR设备上一样快速地体验您的应用程序。 这不仅可以帮助您开始查看您的AR应用程序在不同空间中是否运行良好,而无需您在每个空间中进行物理测试,而且这种视图还可以显着减少构建AR应用程序时的迭代时间。 您可以像使用键盘和鼠标的设备或运行配套应用程序的设备一样控制相机,将真实数据流式传输到编辑器中。

描述现实世界概念的新方法 (New ways to describe real-world concepts)

Unity MARS has a series of new constructs to let us describe, reason about, and visualize real-world objects in our workflows. Conditions define objects, and multiple objects define scenarios.

Unity MARS具有一系列新结构,可让我们描述,推理和可视化工作流程中的现实对象。 条件定义对象,多个对象定义方案。

We start with Conditions, which describe individual characteristics we’re looking for: an object’s size, its GPS location, its shape, and so on.

我们先从条件 ,这说明我们个人的特点“正在寻找:物体的大小,它的GPS定位,它的形状,等等。

Then, we define a proxy, described as a set of Conditions. For example, to describe a table, we could use Conditions for Surface Size (eg. “this surface is at least 1×1 meter”), Alignment (“This surface is horizontal”), and Elevation (“This object is at least a meter off the ground”).

然后,我们定义一个proxy ,描述为一组条件。 例如,要描述一个表格,我们可以使用“表面尺寸的条件” (例如“此表面至少为1×1米” ),对齐方式( “此表面为水平” )和高程( “该对象至少为离地面一米” )。

It’s important that these Conditions be fuzzy and tolerant enough to handle the variation of spaces that users will be in, so many spatial conditions are defined by a minimum and maximum range (for example, “This surface is between 1×1 meters and 3×3 meters”). These spatial conditions draw scene gizmos, which let you visualize and tweak the range in the Editor.

这一点很重要的是,这些条件是模糊和宽容足以处理的空间的变化,用户将在,所以很多空间条件是由最小和最大范围限定(例如,“该表面是1米1×之间和3×3米” )。 这些空间条件会绘制场景小控件,使您可以在编辑器中可视化和调整范围。

While a lot of these examples are about the size, height, geolocation, and other spatial properties of objects, Conditions don’t have to be spatial. For example, you can define a Condition for time of day or the weather (“This content should only happen at noon on sunny days”).

而很多这些实施例有关的尺寸,高度,地理位置,和对象的其他空间特性,条件别必须是空间。 例如,您可以为一天中的时间或天气定义条件( “此内容应仅在晴天的中午发生” )。

To create more complex and specialized behavior, we can string these proxies together into groups to describe larger scenarios. Say you want to create an AR video streaming app which puts playback controls on your coffee table, the video library on your bookshelf, and the virtual screen on the biggest wall in the room. You start by defining each of those proxies (table, bookshelf, wall), then group them all into this description of a room containing multiple real objects.

为了创建更复杂和专业的行为,我们可以将这些代理组合在一起以描述更大的场景。 假设您要创建一个AR视频流应用程序,该应用程序将播放控件放置在咖啡桌上,将视频库放置在书架上,并将虚拟屏幕放置在房间最大的墙壁上。 首先定义每个代理(桌子,书架,墙壁),然后将它们全部归类为包含多个真实对象的房间的描述。

Of course, at any stage in these descriptions of reality, you have to consider that the objects you’re describing may not exist in the user’s environment. For example, if a user doesn’t have the bookshelf in the previous example, you don’t just want your app to fail, but instead to gracefully adjust to a simpler set of requirements. For this, we provide Fallback events, where you can define a second-best scenario, and then a worst-case scenario (for example, the user only found a single surface). This layering of “Ideal → Acceptable → Minimal” lets you balance deeply contextual behavior in the best-case scenario, where the user has carefully mapped an environment that generally resembles what you designed the app for, with functional behavior in the worst case, where the user is in a very unexpected environment and/or hasn’t scanned much.

当然,在现实中这些描述的任何阶段,你必须要考虑的对象,你'重新描述用户可能不存在的环境。 例如,如果用户没有按'T的前面例子中的书架,你别只希望你的应用程序失败,而是平稳地调整到一个更简单的一系列要求。 为此,我们提供了Fallback事件,您可以在其中定义第二好的场景,然后定义最坏的场景(例如,用户仅找到一个表面)。 这种“理想→可接受→最小”的层次结构使您可以在最佳情况下深入地平衡上下文行为,在这种情况下,用户精心映射了通常类似于您设计应用程序的环境的环境,而在最坏情况下则具有功能行为用户在一个非常意外的环境和/或不是招'吨扫描得多。

In summary, Conditions describe individual properties; a set of Conditions describes a proxy; a set of proxies describes the whole environment you expect, or pieces within it.  With these elements, you can describe an “Ideal → Acceptable → Minimal” layering of states for your app.

总之, 条件描述了各个属性; 一组条件描述了代理; 一组代理描述了您期望的整个环境或其中的各个部分。 通过这些元素,您可以为应用程序描述“理想→可接受→最小”状态分层。

You can also define specific characteristics that match to your underlying tech stack with Trait Conditions, or named properties. Depending on the device or software you’re using, you can name anything from semantic room objects to 3D markers to positioning anchors. We’ve kept this as flexible as possible so that it can work well with any upcoming world-data technology, as well as AR Foundation‘s supported property types. Today, we use Traits like “floor,” “wall,” or “ceiling,” but looking ahead, these traits open the vast possibility of recognized objects (“cat,” “dog”) and properties (“wood,” “grass”). When it comes to this field, each month brings exciting new updates, and we need to make sure we’re able to support all of them.

您还可以使用“ 特征条件 ”或命名属性来定义与基础技术堆栈匹配的特定特征。 根据设备或者您正在使用的软件,你可以从命名语义房对象3D标记来定位锚任何事情。 我们一直保持尽可能灵活,以便它可以与任何即将到来的世界数据技术以及AR Foundation支持的属性类型一起很好地工作。 如今,我们使用“地板”,“墙壁”或“天花板”等特征,但展望未来,这些特征打开了公认物体(“猫”,“狗”)和属性(“木材”,“草”, ”)。 当涉及到这个领域时,每个月都会带来令人兴奋的新更新,我们需要确保我们能够支持所有这些更新。

Once you’ve defined what you’re looking for and where your objects should go, you might want to get more granular about object placement. We’ve created a system of Landmarks, which let you be more precise about where objects should be placed and oriented on a matched Real World Context.

定义了要查找的内容以及对象应放置的位置后,您可能希望对对象的放置更加详细。 我们创建了一个Landmarks系统,该系统使您可以更精确地确定对象在匹配的Real World Context上的放置位置和方向。

先进的数据处理 (Advanced data manipulation)

Reasoning APIs are an advanced feature: scripts users write that can interface with the entirety of Unity MARS’ world understanding at once, rather than one piece of data at a time. This allows you to make advanced inferences and combine, create, and mutate data.

推理API是一项高级功能:用户编写的脚本可以一次与Unity MARS的整个世界的了解进行交互,而不是一次提供一个数据。 这使您可以进行高级推断,以及合并,创建和变异数据。

A classic example of this is being able to infer the floor as being the lowest, largest plane you can find after scanning the space. Some devices, like the HoloLens, give you a floor by default, but other sensors and tech stacks do not. The Reasoning API lets you mix and match input to come up with even better real-world understanding and more interesting events. Importantly, this code stays out of your application logic.

一个典型的例子是能够推断出地板是扫描空间后可以找到的最低,最大的平面。 某些设备(例如HoloLens)默认为您提供发言权,而其他传感器和技术堆栈则没有。 Reasoning API使您可以混合和匹配输入,以更好地了解实际情况和更有趣的事件。 重要的是,此代码不在您的应用程序逻辑之内

配套应用 (The companion apps)

As much work as we’ve done putting the real world into the Unity Editor, we’d be remiss if we didn’t take advantage of the portable devices that work well with real-world data in space. That’s why we’ve created Unity MARS companion apps for AR devices. The first iteration is for mobile phones: you can connect the app to your project in the Unity Cloud, then lay out assets as easily as placing a 3D sticker. You can create conditions, record video and world data, and export it all back straight into the Editor. It’s another step in closing the loop between the real world and the digital.

我们将现实世界放入Unity Editor所做的工作量很大,如果我们不充分利用可与现实世界中的数据完美配合的便携式设备,那我们将大失所望。 这就是为什么我们为AR设备创建Unity MARS配套应用程序的原因。 第一次迭代是针对手机的:您可以将应用程序连接到Unity Cloud中的项目,然后像放置3D标签一样轻松地布置资产。 您可以创建条件,记录视频和世界数据,然后将其全部直接导出回编辑器。 这是闭合现实世界与数字世界之间循环的又一步。

下一步 (Next steps)

阿尔法通道 (Alpha access)

Unity MARS is currently in closed alpha, but we’re looking for dedicated teams to partner with who are trying to push the bounds of spatial applications. We want people to battle-test Unity MARS and help us prioritize our own roadmaps by giving us feedback on the tools and features that would help them the most. We’ve put down the foundations, but we want to make sure we’re building the right thing so that you can create amazing experiences.

Unity MARS目前处于封闭状态,但是我们正在寻找专门的团队与试图突破空间应用范围的人员合作。 我们希望人们对Unity MARS进行测试,并通过向我们提供对他们最有帮助的工具和功能的反馈来帮助我们确定自己的路线图的优先级。 我们已经奠定了基础,但是我们想确保我们正在构建正确的东西,以便您可以创造出令人惊叹的体验。

致谢 (Acknowledgments)

The Unity MARS project has been inspired and informed by our hardware and software partners at Microsoft, Magic Leap, Google, Facebook, and many other companies working at the frontiers of what’s possible: from location-based virtual experiences to automotive visualizations, space simulators, architectural previz, innovative mobile AR games, and more. To all of the companies we’ve talked to and partnered with, many thanks, and a special thanks to Mapbox for co-building the first geospatial integration.

Unity MARS项目受到了Microsoft,Magic Leap,Google,Facebook和许多其他公司的硬件和软件合作伙伴的启发和启发,这些公司在可能的前沿领域工作:从基于位置的虚拟体验到汽车可视化,空间模拟器,架构预览,创新的移动AR游戏等。 对于我们与之交谈和合作的所有公司,非常感谢,特别感谢Mapbox共同构建了第一个地理空间集成。

We’re also building on prior work from our own Mixed Reality Research Group, and collaborating closely with the XR Platforms team. Their AR Foundation and the XR Interaction Toolkit have provided a solid tech base on which to build MARS.

我们也在建立在我们自己的工作之前混合现实研究小组 ,并与XR平台团队密切合作。 他们的AR Foundation和XR Interaction Toolkit提供了构建MARS的坚实技术基础。

If you’re interested in learning about Unity MARS and staying up to date as we move towards a wider release, please sign up and check out our new Unity MARS webpage.

如果您有兴趣了解Unity MARS并随时了解我们的最新消息,请注册并查看我们新的Unity MARS网页

翻译自: https://blogs.unity3d.com/2019/10/02/labs-spotlight-project-mars/

unity 焦点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值