虚拟环境的运动控制
2019-11-22

虚拟环境的运动控制

对人类主体成像的深度相机的深度视频的光流被识别。由人类主体的运动创建的能量场根据该光流以及虚拟环境的物理模拟的指定规则来生成。能量场被映射到虚拟环境中的虚拟位置。响应于虚拟环境中的虚拟对象与能量场的虚拟位置的交互,基于能量场的多个能量元素来调节该虚拟环境中的该虚拟对象的属性。

本发明涉及基于人类主体的运动来控制虚拟环境中(诸如视频游戏或其它虚拟模拟中)的属性。更为具体地,本发明涉及识别人类主体的运动来扩展用于控制虚拟环境的属性的中间机制。

在308,方法300可包括识别视频的光流。光流可从被映射到视频的多个单元中导出。在一个示例中,多个单元可被安排到被映射到视频的图像帧的单元的网格中。每个单元可具有运动值,该运动值指示在视频的连续图像帧之间识别的在该单元内的运动的量级。

任选地,当生成能量场时,来自指示指定运动的单元的运动值可被滤除,使得指定运动不对能量场贡献能量。例如,游戏引擎的指定规则可指定哪些运动可从能量场计算中被滤除。不同的视频游戏可滤除不同的运动。此外,同一视频游戏内的不同场景可滤除不同的运动。可由游戏引擎应用的不同运动过滤器的非限制示例可包括无过滤器、保持向前运动、忽略向后运动、保持平滑运动以及保持不连贯运动。无过滤器保持所有运动。保持向前运动保持具有一般向前趋势(例如,在具有负的z深度分量的半球体中的运动向量)的运动。忽略向后运动类似于保持向前运动,但是还允许向侧面的运动。保持平滑运动保持具有低的加速/减速或低的急拉(加速的导数)的运动。保持不连贯运动可以是保持平滑运动的逆。平滑和不连贯过滤器可跨>=3图像帧(针对急拉>=4图像帧)来跟踪运动。

可以理解的是,不同的姿势可被映射到虚拟环境中不同的影响。此外,同一姿势可在不同的虚拟环境(例如,不同的视频游戏)中或虚拟环境的不同部分(例如,同一视频游戏的不同场景)中被映射到不同的影响。

任选地,如果感兴趣的区域被确定,在416,方法400可包括基于感兴趣的区域内能量元素的一个或多个能量属性的值的积聚,调节虚拟环境中虚拟对象的属性。可以理解的是,能量属性的值可用任何适当的方式来积聚或采样,以调节虚拟对象的属性。例如,各值的平均可被用于调节虚拟对象的属性。

逻辑机702包括被配置成执行指令的一个或多个物理设备。例如,逻辑机可被配置为执行作为以下各项的一部分的指令:一个或多个应用、服务、程序、例程、库、对象、组件、数据结构、或其它逻辑构造。这些指令可被实现为执行任务、实现数据类型、变换一个或多个组件的状态、取得技术效果或以其他方式得到所期望的结果。

此外,能量场可被映射到虚拟环境中的一个或多个影响。例如,能量场对虚拟环境中虚拟对象的影响可通过计算与该虚拟对象交互的影响的通量或其它物理模拟来确定。例如,能量场的能量元素的一个或多个指定的能量属性可被积聚或求平均来确定对虚拟对象产生的能量场的通量。在示出的虚拟气球场景中,虚拟气球可具有基于与能量场的交互而被改变的方向、速度、取向、轨迹等。作为另一示例,能量场可被映射到虚拟环境中的损害影响,使得当虚拟对象与能量场交互时,能量场的通量导致对虚拟对象的损害。例如,损害可通过积聚能量场中能量元素的一个或多个能量属性值来计算。可以理解的是,能量场可被映射到任何适当的游戏影响,而不背离本公开的范围。

提供本发明内容以便以简化形式介绍将在以下具体实施方式中进一步描述的一些概念。本发明内容并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。此外,所要求保护的主题不限于解决在本公开的任一部分中所提及的任何或所有缺点的实现。