使用物理引擎控制物理玩具.pdf

上传人:b*** 文档编号:6104305 上传时间:2019-04-11 格式:PDF 页数:20 大小:1.20MB
返回 下载 相关 举报
摘要
申请专利号:

CN201580036018.X

申请日:

2015.06.29

公开号:

CN106471505A

公开日:

2017.03.01

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):G06F 17/50申请日:20150629|||公开

IPC分类号:

G06F17/50; G06F3/0481(2013.01)I; G06F9/455

主分类号:

G06F17/50

申请人:

微软技术许可有限责任公司

发明人:

N.维拉; J.W.斯科特; 张海燕; A.K.班廷

地址:

美国华盛顿州

优先权:

2014.06.30 US 14/320399

专利代理机构:

中国专利代理(香港)有限公司 72001

代理人:

张同庆;陈岚

PDF下载: PDF下载
内容摘要

描述了用于使用物理引擎控制物理玩具的方法和系统。在实施例中,交互式软件体验内的物理引擎被用来对虚拟环境中的虚拟对象的运动建模。然后,该建模的输出被施加在对应于虚拟对象的物理玩具上,使得真实世界中的物理玩具的运动更紧密地匹配虚拟环境中的虚拟对象的运动。在各种示例中,该建模通过控制信号被施加,该控制信号基于物理引擎的输出而生成并且用于控制物理玩具内的致动器以改变该玩具的至少一部分的运动。

权利要求书

1.一种玩具,包括:
输入端,其用于接收由交互式软件体验生成的控制信号,所述控制信号基于由物理引
擎执行的虚拟环境中的虚拟对象的建模而生成,该虚拟对象对应于该玩具或邻近玩具;以

控制机构,其可操作用于响应于接收控制信号而改变对应于虚拟对象的玩具的至少一
部分的运动。
2.根据权利要求1的玩具,其中控制机构可操作用于改变对应于虚拟对象的玩具的至
少一部分的运动以减小虚拟环境中的虚拟对象的建模的运动与对应于虚拟对象的玩具的
真实世界运动之间的差异。
3.根据权利要求1的玩具,其中控制机构包括一个或多个致动器,其中所述致动器是通
过控制信号可控的。
4.根据权利要求1的玩具,其中所述输入端包括被布置成从运行交互式软件体验的计
算设备接收信号的通信接口。
5.根据权利要求1的玩具,进一步包括一个或多个传感器,其被布置成检测下述中至少
一个:
对应于虚拟对象的玩具的周围环境的方面;以及
对应于虚拟对象的玩具的运动。
6.根据权利要求1的玩具,其中所述玩具对应于虚拟对象并且所述玩具进一步包括物
理引擎。
7.根据权利要求6的玩具,进一步包括:
处理器;以及
存储器,
其中所述物理引擎包括存储在存储器中的设备可执行指令,该设备可执行指令在被执
行时使处理器对虚拟环境中的虚拟对象的运动建模,
并且其中所述存储器进一步包括设备可执行指令,该设备可执行指令在被执行时使处
理器:
基于所述建模生成控制信号;以及
生成图形用户接口数据,该图形用户接口示出虚拟环境中的虚拟对象。
8.一种方法,包括:
在物理引擎中对虚拟环境中的虚拟对象的运动建模;以及
生成控制信号以通过改变物理玩具的至少一部分的运动而将来自物理引擎的输出施
加在物理玩具上,其中所述虚拟对象对应于所述物理玩具。
9.根据权利要求8的方法,其中控制信号被生成以改变玩具的至少一部分的运动以便
减小虚拟环境中的虚拟对象的建模的运动与所述玩具的真实世界运动之间的差异。
10.根据权利要求8的方法,进一步包括:
经由通信接口将控制信号传输至物理玩具。

说明书

使用物理引擎控制物理玩具

背景技术

存在可以独自移动的若干可用的不同玩具。这些玩具中的一些由用户控制(例如
遥控玩具)并且其他玩具除了由用户启动(例如接通或上紧发条)和停止(例如关断)之外不
受控制。后者类型的示例包括:机动玩具火车,其在被接通时在轨道上运行,直到它们被关
断或电力用完为止;以及玩具车,用户将其拉回并且然后放开,且该车向前移动直到弹簧机
构(其通过将车拉回来上发条)松开为止。

下面描述的实施例不限于解决已知玩具的任何或所有缺点的实现方式。

发明内容

下面呈现本公开的简化的概要,以便向读者提供基本的理解。该概要不是本公开
的彻底的概观,并且它并不标识关键的/决定性的元素或者划定本说明书的范围。其唯一目
的是以简化形式呈现本文所公开的概念的选择,作为稍后呈现的更详细的描述的序幕。

描述了用于使用物理引擎控制物理玩具的方法和系统。在实施例中,交互式软件
体验内的物理引擎被用来对虚拟环境中的虚拟对象的运动建模。然后,该建模的输出被施
加在对应于虚拟对象的物理玩具上,使得真实世界中物理玩具的运动更紧密地匹配虚拟环
境中的虚拟对象的运动。在各种示例中,该建模通过控制信号来施加,该控制信号基于物理
引擎的输出而生成并且用于控制物理玩具内的致动器以改变该玩具的至少一部分的运动。

许多伴随的特征将更容易领会,因为通过参考联系附图考虑的下面的详细描述,
这些伴随的特征变得更好理解。

附图说明

根据依照附图诠释的下面的详细描述,本说明书将更好地被理解,其中:

图1是示例游戏系统的示意图;

图2是第二示例游戏系统的示意图;

图3是诸如图1和图2中所示的那些游戏系统之类的游戏系统的操作的示例方法的流程
图;

图4示出真实世界玩具的各种示例;

图5示出真实世界玩具的另外的示例;

图6是可以连接在一起以形成玩具的两个示例模块的示意图;以及

图7图示了本文所描述的方法的实施例可以在其中实现的示例性基于计算的设备。

同样的参考数字用来标示附图中同样的部分。

具体实施方式

下面联系附图提供的详细描述旨在作为当前示例的描述并且不旨在表示当前示
例可以被构造或利用的仅有形式。该描述阐述了示例的功能以及用于构造和操作示例的步
骤的序列。然而,相同或等效的功能和序列可以由不同的示例完成。

如上文所述,存在可以独自移动的若干可用的不同玩具。这些玩具是用户可以触
摸和拾取的物理的、真实世界玩具。这些不同于存在于虚拟世界中(例如计算机游戏中)的
虚拟对象。用户可以(例如使用键盘、鼠标、触摸屏或游戏控制器)与虚拟对象交互,但是不
能触摸或拾取虚拟对象。与真实世界对象不同,虚拟对象没有质量。

已经开发了若干计算机游戏,其中的游戏可玩性(gameplay)通过使用置于经由
USB引线连接到游戏控制台的定制基底上的物理特性玩具启用(或解锁)。通过将不同玩具
置于定制基底上,启用不同的游戏可玩性。然而,这样的游戏不鼓励用户与玩具的交互(除
了将它们置于定制基底上)并且玩具反而被用作用于配置计算机游戏的特定参数的物理替
换。

下面描述一种游戏系统,其中所有或部分物理的真实世界玩具的运动被改变以反
映对应的虚拟玩具(即虚拟世界中的虚拟对象)的运动。该系统将真实世界中的游戏与虚拟
世界中的游戏紧密联系起来并且鼓励用户与真实世界玩具以及与虚拟世界的交互。由于各
种原因,包括更自然或好玩的交互、与在计算输入/输出设备上呈现的虚拟玩具相比真实世
界玩具的更逼真的3D和触觉性质、与学习和操纵虚拟控制相比使用真实世界移动的控制的
保真度、精确度和简易性等等,用户可能更喜欢通过与真实世界玩具的交互来与虚拟玩具
进行交互。在其他场合(或在其他情形中),用户可能更喜欢通过虚拟控制进行交互,例如用
于访问真实世界玩具上不存在的菜单、配置或控制机构。虚拟世界通过其对真实世界玩具
的运动的控制且也通过向用户呈现虚拟世界而增强用户所体验的物理游戏,该虚拟世界的
呈现可以提供环境的图像、声音效果、真实世界玩具(及其对应的虚拟对象)可以与其交互
的其他对象等等。

在示例中,真实世界玩具是玩具汽车,并且对应于该玩具汽车的虚拟对象是由交
互式软件体验(其可以是计算机游戏)提供的虚拟世界中的虚拟汽车。虚拟世界可以提供一
个或多个在其中可以驾驶汽车(即虚拟汽车及其真实世界对应物)的不同环境,例如极寒环
境和沙漠环境。用户选择环境(例如在其中道路表面覆盖雪和冰的极寒环境),并且虚拟世
界在其图形用户接口(GUI)中示出该环境且可以示出积雪的道路表面上的虚拟对象(即虚
拟汽车)。当用户移动真实世界汽车时,交互式软件体验内的物理引擎向真实世界汽车提供
控制信号。这些控制信号改变真实世界汽车的至少一部分(例如一个或多个车轮)的运动,
使得对用户而言,真实世界汽车感觉好像它正在GUI中所描绘的积雪道路表面上行驶,而不
是在该汽车正在其上移动的真实世界表面(例如地毯、桌面等)上行驶。这通过提供与正向
用户显示的虚拟世界对应的逼真的真实世界运动来增强用户体验。

如本领域已知的,物理引擎模拟(或建模)物理现象。在各种示例中,物理引擎提供
一个或多个维度中(例如,3D中)的一个或多个物理系统(例如,重力、碰撞检测、刚体动力
学、柔体动力学、旋转计算、流体动力学、摩擦力建模等)的近似模拟。该模拟可以旨在尽可
能接近地对真实世界物理现象建模,或者可以有意地以某些方式区别于真实世界物理现
象,例如改变万有引力常数、光速等,或者有意忽略一些物理约束而遵循其他物理约束,例
如允许用户以任何期望的速度旋转而不应用与实现这样的旋转所需的旋转的惯性矩和体
力有关的约束。该模拟也可以在特定游戏情形中有意背离真实世界物理现象,例如以便通
过变更或违背物理模型在某些情形中辅助玩家以使得游戏更容易(例如允许虚拟汽车在转
弯处维持牵引力和/或正确的取向,尽管该模型确定应该会发生滑动和/或自旋)。该模拟实
时执行,并且在许多示例中物理引擎在软件中实现。在各种示例中,专用处理器或多处理器
的专用子集(物理处理单元,PPU)可以用于执行物理引擎所要求的计算。

图1示出示例游戏系统100的示意图,其包括物理真实世界玩具102(其在该示例中
像车辆那样成形)和在计算设备108上运行的交互式软件体验106。玩具102包括可操作用于
从交互式软件体验接收控制信号的通信接口104(例如,接收器,其在许多示例中将为无线
接收器)和控制机构105(其可以包括一个或多个致动器),该控制机构基于经由接收器104
接收的控制信号控制玩具的至少一部分(例如一个或多个车轮103)的运动(例如实际运动
或可能运动的范围)。交互式软件体验106包括物理引擎107并且被布置成(例如在可以是计
算设备108的组成部分或连接到计算设备108的呈现设备115上)显示对应于真实世界玩具
102的虚拟对象,并且经由计算设备108中的通信接口113向真实世界玩具102输出控制信
号。物理引擎107在由交互式软件体验106提供的虚拟环境中模拟对应于真实世界玩具102
的虚拟对象的运动并且生成控制信号。

在各种示例中,玩具102也可以包括一个或多个传感器116,其被布置成检测玩具
的运动(即真实世界运动)并且经由通信接口104(其可以进一步包括传输器,其在许多示例
中将为无线接收器)将这传送至交互式软件体验106。在这样的示例中,交互式软件体验106
经由通信接口113接收(来自传感器116的)传感器数据,并且当实时模拟对应于真实世界玩
具102的虚拟对象的运动时,所接收的传感器数据被物理引擎107使用。例如,所感测的真实
世界玩具102的运动可以应用于对应于真实世界玩具102的虚拟对象(例如使得如果用户将
真实世界玩具汽车向右转,则虚拟世界对象模仿该运动并且也向右转)。将领会,可以在将
运动应用于物理引擎107中的虚拟对象时使用补偿因子,比如比例因子(例如,虚拟汽车可
以由物理引擎建模,好像它具有与真实世界汽车类似的质量,而不是该虚拟汽车所对应的
真实世界玩具)。如上文所述,该模拟旨在尽可能接近地对真实世界物理现象建模,或者可
以有意地以某些方式和/或在某些游戏情形中区别于真实世界物理现象。

在各种示例中,一个或多个传感器116可以另外或反而用于检测玩具102的真实世
界周围事物,并且该信息可以(经由通信接口104、113)被传送至交互式软件体验且馈送到
由物理引擎107执行的模拟中。例如,传感器116可以检测真实世界中的障碍物(例如墙壁、
家具等)并且关于这些障碍物的数据可以被传递到交互式软件体验106并且可以用在由物
理引擎107执行的建模中,例如使得玩具102在它撞到一件家具或墙壁的情况下更逼真地做
出反应。所检测的周围事物(障碍物)也可以由交互式软件体验在虚拟世界内视觉地显示给
用户(例如,障碍物可以被表示为墙壁、岩石等)。

可以为台式、膝上型或平板计算机、游戏控制台、智能电话或任何其他计算设备的
计算设备108以及在各种示例中计算设备108可以是手持式计算设备。然而,在其他示例中,
计算设备108可以被集成到物理玩具中,如图2中所示和下文中所述。在图1所示的示例系统
100中,交互式软件体验106存储在计算设备108中的存储器110中并且包括由一个或多个处
理器112(其可以包括PPU)执行的设备可执行指令。将领会,计算设备108也可以包括附加元
件并且计算设备108在下文中参照图7更详细地进行描述。而且,在各种示例中,与交互式软
件体验106(以及特别地物理引擎107)相关联的计算中的一些或全部可以在远程计算设备
(例如基于云的计算设备)上执行,该远程计算设备然后向在计算设备108上运行的软件提
供输入。

尽管图1示出传感器116位于物理真实世界玩具102中,但是在各种示例中传感器
中的一些或全部反而可以位于计算设备108内。

尽管图1示出控制机构105位于物理的真实世界玩具102中,但是在各种示例中控
制机构105中的一些或全部可以位于邻近玩具内。例如,在物理真实世界玩具102是车辆的
情况下,它可以沿着由一个或多个其他物理真实世界玩具形成的轨迹行驶,并且这些其他
物理真实世界玩具中一个或多个可以包括控制机构105(以及通信接口)且基于从计算设备
108接收的控制信号控制车辆玩具的运动。

图2示出第二示例游戏系统200的示意图,该系统包括物理真实世界玩具202(其在
该示例中像车辆那样成形)和交互式软件体验106。在该示例中,一些计算设备(对应于图1
中的计算设备108)集成在玩具202内,该玩具202包括交互式软件体验106和运行交互式软
件体验106所需的元件(例如处理器112和存储器110)。如在(图1中所示的)第一示例中那
样,玩具202包括通信接口204;然而,在第二示例中,通信接口204并非可操作用于从交互式
软件体验接收控制信号(因为现在这在玩具202内本地运行),而是取而代之地向包括呈现
设备115的设备208中的通信接口213发送GUI数据。由交互式软件体验106生成的该GUI数据
包括对应于真实世界玩具202的虚拟对象。

像在第一示例中一样,第二示例200中的玩具202包括控制机构105,其基于由交互
式软件体验106内的物理引擎107生成的控制信号控制玩具的至少一部分(例如一个或多个
车轮103)的运动(例如实际运动或可能运动的范围)。如上文所述,物理引擎107在由交互式
软件体验106提供的虚拟环境中模拟对应于真实世界玩具102的虚拟对象的运动,并且基于
该模拟生成控制信号。如上文所述,在各种示例中,玩具202可以包括可以用于检测玩具202
的运动和/或玩具202的周围事物的一个或多个传感器116。

在上述示例中的任一个中,(由物理引擎107执行的)模拟与真实世界玩具102、202
的至少一部分的运动中的所要求的改变之间的转化可以由物理引擎107、交互式软件体验
106或由控制结构105或者由这些元件中两个或更多个的组合执行(在单独阶段中或者作为
物理现象模拟的集成部分,其被最优化以在单个计算任务中计算虚拟物理现象和真实世界
控制二者)。如上文所述,与交互式软件体验(和物理引擎)相关联的计算中一些或全部可以
在向计算设备108提供输入的远程计算设备上执行。

图1和图2中所示的游戏系统100、200的操作可以参照图3进行描述。如上文所述,
交互式软件体验106中的物理引擎107对虚拟环境中的虚拟对象的运动建模(块302),其中
虚拟对象对应于真实世界对象或玩具102、202。物理引擎107或交互式软件体验106基于该
建模生成控制信号(块304)。这些控制信号被配置成使得当它们由真实世界玩具102、202中
的控制机构105实现时,它们改变玩具的至少一部分的运动(块305)。交互式软件体验106也
可以生成示出虚拟对象的GUI(块306)并且在各种示例中,在用在(块302中的)建模中的虚
拟环境中的GUI中描绘虚拟对象。此外或取而代之地,块306中生成的GUI可以提供外界环境
效果(例如闪光或其他视觉效果和/或声音效果)并且/或者显示关于交互式软件体验的状
况信息(例如剩余生命的数量)。

将领会,该运动可以以许多方式改变(在块305中),并且在各种示例中,它可以被
扩大(例如,由用户完成的玩具的后续运动可以由控制机构以某种方式增强)、抑制(例如可
能的运动的范围可以被限制)或以其他方式被影响。在各种示例中,(在块304中生成的)控
制信号可以尝试在真实世界中(利用对应于虚拟对象的真实世界玩具)复制(虚拟对象的)
虚拟世界运动。精确的复制也许是不可能的并且因此在各种示例中,(在块304中生成的)控
制信号可以尝试使真实世界玩具的真实世界运动与对应于该真实世界玩具的虚拟对象的
虚拟世界运动之间的任何差异最小化。然而,在其他示例中,(在块304中生成的)控制信号
可能不会导致虚拟世界运动的复制,而是可以以类似但不完全相同的方式改变真实世界运
动,并且这可以是控制机构105内的致动器或其他元件的操作中的限制的结果。例如,尽管
在虚拟世界中虚拟对象(例如虚拟汽车)可以翻滚,但是控制信号可以使真实世界玩具(例
如玩具汽车)侧向移动或停止,而不是翻滚。

在交互式软件体验106不在真实世界玩具内运行的示例中(例如,如图1中所示),
(在块304中生成的)控制信号被传输至真实世界玩具(块308)并且被真实世界玩具接收(块
309)。在交互式软件体验106不在具有集成的呈现设备115(例如显示器)的计算设备内运行
的示例中,GUI数据被传输至呈现设备115以用于显示给用户(块310)。

在各种示例中,真实世界玩具102、202包括一个或多个传感器116,其可以检测真
实世界玩具的运动(块312)和/或检测真实世界玩具的周围事物(块314)。在这样的示例中,
传感器数据被交互式软件体验106接收(块316)并且被用在(块302中的)建模中和/或用在
(块306中的)生成GUI中。

图4和图5示出真实世界玩具的若干不同示例以及整个玩具或其部分的运动可以
被由交互式软件体验106基于物理引擎107中执行的建模而生成的控制信号如何影响。

在第一示例401中,真实世界玩具410是玩具汽车。当用户向后移动汽车时(如箭头
412所指示),该运动由该汽车(和/或由计算设备中的传感器)感测并且被输入到物理引擎。
物理引擎对所得到的对应的虚拟对象的运动建模并且向玩具汽车410提供控制信号,其在
被控制机构105实现时使玩具汽车410向前移动(如箭头414所指示)。以此方式,玩具汽车
410操作(就用户体验而言),好像它在其内部具有弹簧机构;然而它没有,并且该效果由物
理引擎生成。通过以此方式生成汽车的响应而不是具有对用户拉回汽车做出反应的机械机
构,所得到的汽车运动可以基于虚拟世界中的特性以许多不同方式进行修改(例如,以便反
映汽车是否正在道路/田野/海滩上被驾驶,以反映不同的引擎尺寸,等等)。

在第二示例402中,真实世界玩具420是小雕像(figurine)并且在两个不同的时间
点421-422处示出。该玩具420可以例如是参与战斗的骑士或正在砍木头的工人。当用户举
起小雕像420的手臂(如第一场景421中箭头424所指示)时,该运动被小雕像(和/或被计算
设备中的传感器)感测并且被输入到物理引擎。物理引擎对对应的虚拟对象(例如虚拟骑士
或工人)的手臂的所得到的运动建模,并且向小雕像420提供控制信号,其在被控制机构105
实现时使该手臂向前和向下移动(如第二场景422中箭头426所指示的),例如好像小雕像正
在出拳或伐木。与第一示例一样,通过以此方式生成手臂的运动而不是具有对用户上举小
雕像的手臂做出反应的机械机构,所得到的手臂运动可以基于虚拟世界中的特性(例如基
于小雕像正在虚拟世界中做什么)以许多不同方式进行修改。

在第三示例403中,真实世界玩具430再次为玩具汽车。当用户向前移动该汽车时
(如箭头432所指示),该运动可以被汽车(和/或被计算设备中的传感器)感测并且被输入到
物理引擎,尽管在其他示例中不要求感测并且虚拟世界中汽车向前的运动可能不依赖于感
测真实世界玩具430的运动。在虚拟世界中,存在浮油434,并且物理引擎在对应的虚拟对象
行驶到浮油434时对该对应的虚拟对象的所得到的运动建模。然后,交互式软件体验向玩具
汽车430提供控制信号,其在被控制机构105实现时使玩具汽车430在真实世界中突然转向
或以其他方式难以在直线中行驶(如箭头436所指示)。以此方式,真实世界玩具汽车430操
作(就用户体验而言),好像它已经行驶到仅存在于虚拟世界中的(由交互式软件体验描绘
的)浮油中。通过以此方式使用物理引擎,真实世界汽车的运动可以被动态修改以对应于虚
拟环境中的改变(例如行驶到冰上、水中、沙地上等等)并且利用物理玩具提供增强的用户
体验(例如更身临其境的体验)。

在第四示例404中,真实世界玩具440也是玩具汽车并且该汽车440在两个不同的
时间点441-442处示出。在该示例中,用户可以移动汽车并且这可以由该汽车(和/或由计算
设备中的传感器)感测并且被传送到物理引擎,感测可替换地可以省略。在第一场景441中,
所有轮胎是完好无损的;然而,在第二场景442中,汽车440的运动被修改(如由表示汽车的
振动/颤抖的线446所指示的),好像轮胎之一已经爆裂444。由爆裂轮胎造成的运动由物理
引擎建模并且然后交互式软件体验向玩具汽车440提供控制信号,其在被控制机构105实现
时引起颤抖/振动446。这是真实世界汽车的运动可以如何通过以此方式使用物理引擎而被
动态修改成对应于虚拟环境中的改变(例如虚拟对象的状态的改变)并且利用物理玩具提
供增强的用户体验(例如更身临其境的体验)的另一个示例。

在第五示例405中,真实世界玩具450是小雕像并且对应的虚拟对象452(例如虚拟
人)在交互式软件体验的GUI 454中示出。在所示的示例中,虚拟人452正在携带着沉重的重
物456。物理引擎对携带该重物456的虚拟人的手臂上的效果建模并且向小雕像450提供控
制信号,其在被控制机构105实现时防止用户上举真实世界小雕像450上的对应手臂(如由
具有通过它的交叉的箭头458所指示)。这是真实世界玩具的运动可以如何通过以此方式使
用物理引擎而被动态修改成对应于虚拟环境中的改变(例如虚拟对象的状态的改变)并且
利用物理玩具提供增强的用户体验(例如更身临其境的体验)的另外示例。

在第六示例406中,真实世界玩具460是用于创建跨两个对象462、464之间的间隙
的桥的一组块,这两个对象可以是其他块(即其他真实世界玩具)或周围环境的部分(例如
被砖块(brick)(和/或被计算设备中的传感器)感测并且被传送到交互式软件体验的家
具)。对应的虚拟对象466(例如由虚拟块形成的虚拟桥)在交互式软件体验的GUI 468中示
出。在所示的示例中,用户可以(从车辆472)选择车辆以在(在虚拟世界中)跨越虚拟桥466
驾驶,并且在所示的示例中,用户已经选择了小卡车470。物理引擎对跨越虚拟桥466行驶的
小卡车470对该虚拟桥466的影响进行建模,并且如果它确定了该桥将塌陷或坍塌,则交互
式软件体验向真实世界块466提供控制信号,其在被控制机构105实现时使真实世界桥坍塌
(如双箭头所指示)。这是真实世界玩具的运动可以如何通过以此方式使用物理引擎而被动
态修改成对应于虚拟对象中的改变并且利用物理玩具提供增强的用户体验(例如更身临其
境的体验)的又一示例。

在各种示例中,上述示例中的真实世界玩具自身可以是模块化的并且由两个或更
多个模块形成。图6是可以连接在一起以形成真实世界玩具的两个示例模块的示意图。图6
示出核心模块602和外围模块604。核心模块602包括电池606、无线通信模块608、处理器
610、一个或多个致动器609以及一个或多个连接器612。电池606向核心内的组件(比如处理
器610、无线通信模块608和(多个)致动器609)供电,以及还经由连接器612向外围模块604
中的一些/全部供电。无线通信模块608使得核心模块602能够与运行交互式软件体验106的
计算设备通信。可以使用任何适当的无线技术(例如蓝牙®、BLE、WiFi™ 或WiFi™直连
(Direct)、近场通信(NFC)、802.15.4等)。无线通信模块608可以与运行交互式软件体验106
的(如图1中所示的)计算设备108直接通信,或者可以经由网络(例如家庭网络或互联网)或
者中介设备(例如无线接入点)进行通信。连接器612将外围模块604物理地附连到核心模块
602并且还可以在模块之间传递数据或电力。

核心模块602内的处理器610和(多个)致动器609充当上文所描述的控制机构105
并且基于由交互式软件体验106生成的控制信号改变真实世界玩具的运动。适当的致动器
的示例包括马达、振动单元、伺服系统、肌肉线、螺线管、电磁致动器(例如,如果环境是含金
属的)、气动或液压致动器等等。处理器610可以是微处理器、控制器或用于处理计算机可执
行指令以控制核心模块的操作以便改变真实世界玩具的至少一部分的运动的任何其他适
当类型的处理器,并且这可以涉及改变核心模块相对于所连接的外围模块的运动。

在各种示例中,处理器也可以收集连接在一起的模块中的每一个模块的ID(其可
以是唯一ID或与其他长相一样的模块共享的ID,例如用于特定形状或类型模块的ID)以形
成连贯的物理整体对象,其形成真实世界玩具。模块ID可以(例如经由总线)直接从每一个
所连接的模块收集,或者每个模块可以利用核心模块收集关于其邻居的信息,所述核心模
块聚集由其直接邻居游戏件提供的数据。在各种示例中,这些模块ID可以经由连接器612所
提供的数据连接来收集,并且在其他示例中,可以使用另一手段(例如,NFC、QR代码或计算
机视觉)。在使用其他手段的情况下,核心模块602可以包括诸如NFC阅读器模块或相机或其
他图像传感器之类的附加硬件/或软件,以收集所有连接的游戏件的模块ID。除了收集连接
的模块的模块ID(例如以便生成连接的模块的组或列表)之外,核心模块可以检测游戏件的
布置的拓扑结构。

每个外围模块604包括一个或多个连接器612、614以将该模块物理地附连到另一
个模块以便形成连贯的物理整体对象,其形成真实世界玩具。外围模块604还可以包括用于
移动外围模块的一个或多个致动器609。外围模块604可以进一步包括两个连接器612、614
之间的电气连接624(例如其形式为包括2条导线(数据线和地线)的总线)。在图6所示的示
例中,致动器609在连接器614的外壳内示出;然而,在其他示例中它可以与连接器分离。

尽管未在图6中示出,核心模块和/或外围模块604还可以包括存储用于模块的标
识符(ID)(其可以被称为模块ID)的存储元件,并且可以包括附加数据,比如模块的形状和/
或外观、任何连接点的位置等等。存储元件可以包括存储器或任何其他形式的存储设备。存
储该模块ID的存储元件可以在连接器612、无线模块608内,或者可以是模块602、604内的单
独实体。

在各种示例中,外围模块604还可以包括处理器(图6中未示出)并且这可以在连接
器614的外壳内或者与连接器分离。在各种示例中,外围模块604还可以包括电池(图6中未
示出)并且这可以向外围模块604内的电子器件供电并且/或者向邻近模块(其可以是外围
或核心模块)供电。以此方式,如果模块的布置要求比核心模块602中的电池606能够提供的
电力更多的电力,则附加电力可以由外围模块604中的电池提供。

尽管在图6中未示出,模块602、604还可以包括用于作为整体检测模块或真实世界
玩具的运动的一个或多个传感器。可以在模块中使用的传感器的示例包括:温度传感器、振
动传感器、加速计、倾斜传感器、陀螺传感器、旋转传感器、磁力计、接近传感器(有源/无源
红外或超声波)、声音传感器、光传感器等等。

将领会,图6中所示的模块602、604可以包括图6中未示出的附加元件。将进一步领
会,尽管图6示出作为正方形或矩形的模块,但是每一个模块可以具有与其他模块兼容(即,
每个模块被成形成使得它可以连接到至少一个其他模块,而没有外壳冲突)的任何物理形
状因子(例如,任何形状的外部壳体)。

图7图示了示例性基于计算的设备700的各种组件,该基于计算的设备可以作为任
何形式的计算和/或电子设备实现,并且在其中可以实现本文所描述的方法的实施例。该基
于计算的设备700可以例如是图1中所示的计算设备108或图2中所示的真实世界玩具202。

基于计算的设备700包括一个或多个处理器702,其可以是微处理器、控制器或用
于处理计算机可执行指令以控制设备的操作以便执行本文所描述的方法(例如以对虚拟环
境中的虚拟对象建模并且生成控制信号以改变对应于虚拟对象的真实世界玩具的运动)的
任何其他适当类型的处理器。在各种示例中,处理器702之一可以是PPU并且可以由物理引
擎使用。在一些示例中,例如在芯片架构上的系统被使用的情况下,处理器可700以包括一
个或多个固定功能块(也被称为加速器),其实现了在硬件(而不是软件或固件)中生成和呈
现交互式故事的方法的部分。

可替换地或此外,本文所描述的功能可以至少部分地由一个或多个硬件逻辑组件
执行。例如且没有限制地,可以使用的硬件逻辑组件的说明性类型包括现场可编程门阵列
(FPGA)、程序专用集成电路(ASIC)、程序专用标准产品(ASSP)、芯片上系统的系统(SOC)、复
杂可编程逻辑器件(CPLD)。

包括操作系统704平台软件或任何其他适当的平台软件可以在基于计算的设备处
提供以使诸如交互式软件体验106之类的应用软件能够在该设备上执行。如图7中所示,交
互式软件体验106可以包括一个或多个模块,比如布置成生成描绘虚拟世界和对应于真实
世界玩具的虚拟对象的GUI的物理引擎107和呈现引擎708。

可以使用可由基于计算的设备700访问的任何计算机可读介质提供计算机可执行
指令。计算机可读介质可以包括例如诸如存储器712之类的计算机存储介质和通信介质。诸
如存储器712之类的计算机存储介质包括易失性和非易失性的、可移除和不可移除的介质,
其以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据之类的信息的任何方
法或技术实现。计算机存储介质包括但不限于,RAM、ROM、EPROM、EEPROM、闪速存储器或其他
存储器技术、CD-ROM、数字通用盘(DVD)或其他光学存储装置、磁带盒、磁带、磁盘存储装置
或其他磁性存储设备、或可以用于存储由计算设备访问的信息的任何其他非传输介质。相
反地,通信介质可以收录计算机可读指令、数据结构、程序模块或诸如载波之类的调制数据
信号或其他运输机构中的其他数据。如本文所定义的,计算机存储介质不包括通信介质。因
此,计算机存储介质不应当被解释为传播信号本身。传播的信号可以存在于计算机存储介
质中,但是传播的信号本身不是计算机存储介质的示例。尽管在基于计算的设备700内示出
了计算机存储介质(存储器712),但是将领会,该存储装置可以远程分布或定位并且经由网
络或其他通信链路(例如使用通信接口714)访问。

通信接口714可以被布置成向真实世界玩具传输控制信号并且可以包括无线传输
器。在各种示例中,通信接口714还可以被布置成从真实世界玩具接收传感器数据并且可以
包括无线接收器。在这样的示例中,通信接口714可以直接或经由中介设备从真实世界玩具
接收数据。

在基于计算的设备700集成在真实世界玩具内的示例中(例如,如图2中所示),通
信接口714可以不被布置成向真实世界玩具传输控制信号,而是取而代之地可以被布置成
向包括呈现设备115的计算设备传输显示数据。

基于计算的设备700也可以包括输入/输出控制器716。该输入/输出控制器可以被
布置成将用于向用户呈现虚拟世界的呈现信息(或显示数据)输出到呈现设备718(例如显
示设备),该呈现设备可以与基于计算的设备700分离或者是其组成部分。输入/输出控制器
716还可以被布置成接收和处理来自一个或多个设备的输入,该一个或多个设备比如是用
户输入设备724(例如鼠标、键盘、相机、麦克风或其他传感器)。在一些示例中,用户输入设
备724可以检测声音输入、用户手势或其他用户动作并且可以提供自然用户接口(NUI)。该
用户输入可以用于进一步控制交互式故事。在一个实施例中,呈现设备718也可以充当用户
输入设备724,如果它是触敏显示设备的话。输入/输出控制器716也可以向除了显示设备之
外的设备,例如本地连接的打印设备(图7中未示出)输出数据。

输入/输出控制器716、呈现设备718和用户输入设备724中的任一个可以包括NUI
技术,其使得用户能够以自然方式与基于计算的设备交互,摆脱由诸如鼠标、键盘、遥控器
等之类的输入设备所施加的人为限制。可以提供的NUI技术的示例包括但不限于那些依赖
于声音和/或语音识别、触碰和/或触笔识别(触敏显示器)、屏幕上的和邻近屏幕两者的手
势识别、悬浮手势、头和眼睛跟踪、声音和语音、视觉、触觉、手势和机器智能的技术。可以使
用的NUI技术的其他示例包括意图和目标理解系统、使用深度相机的运动姿势检测系统(比
如立体相机系统、红外相机系统、RGB相机系统和这些的组合)、使用加速计/陀螺仪的运动
姿态检测、面部识别、3D显示器、头、眼睛和视线跟踪、用于使用电场感测电极感测脑部活动
的身临其境的增强现实和虚拟现实系统和技术(EEG和相关方法)。

尽管当前示例在本文中被描述和图示为在如图1和2所示的游戏系统(包括真实世
界玩具和相关联的交互式软件体验)中实现,但是所描述的系统被提供作为示例而非限制。
如本领域技术人员将领会的,当前示例适合应用于各种各样的不同类型的游戏系统中。

一个方面提供了一种包括用于接收由交互式软件体验生成的控制信号的输入的
玩具。控制信号基于由虚拟环境中的虚拟对象的物理引擎执行的建模而生成,并且该虚拟
对象对应于该玩具或邻近玩具。该玩具还包括可操作用于响应于接收控制信号来改变对应
于虚拟对象的玩具的至少一部分(例如车轮、肢体等)的运动的控制机构。在一个示例中,虚
拟对象对应于玩具自身并且控制机构改变玩具自身的至少一部分的运动。在另一个示例
中,虚拟对象对应于邻近玩具(即,靠近玩具自身的第二玩具)并且控制机构改变该邻近玩
具的至少一部分的运动。

这使真实世界玩具的真实世界运动更紧密地匹配(例如在用户的观看和/或感觉
方面)交互式软件体验内的虚拟世界运动。这增强了用户体验并且提供更身临其境的体验
(即,用户感觉更像物理玩具是虚拟世界的部分)。

在各种示例中,控制机构可操作用于改变对应于虚拟对象的玩具的至少一部分的
运动以减小虚拟环境中的虚拟对象的建模运动与对应于虚拟对象的玩具的真实世界运动
之间的差异。例如,控制机构可以可操作用于改变玩具的至少一部分的运动以(在真实世界
中)模仿虚拟环境中的虚拟对象的建模运动。

在各种示例中,控制机构包括一个或多个致动器,其中该致动器是通过控制信号
可控的。这些致动器改变真实世界玩具的运动。

在各种示例中,所述输入包括被布置成从运行(或能够运行)交互式软件体验的计
算设备接收信号的通信接口。

在各种示例中,所述玩具进一步包括被布置成检测对应于虚拟对象的玩具的周围
环境的方面和/或检测对应于虚拟对象的玩具的运动的一个或多个传感器。这进一步增强
了用户体验并且提供了更身临其境的体验(即,用户感觉更像物理玩具是虚拟世界的部
分)。通过感测运动,物理引擎可以在真实世界玩具内生成补偿的或反应的运动(例如,它可
以在玩具内生成针对用户的初始动作的反应,如上文参照示例401、402、405所述的)。

在玩具对应于虚拟对象的各种示例中,玩具进一步包括物理引擎。

在玩具对应于虚拟对象的各种示例中,玩具进一步包括处理器和存储器。该存储
器包括物理引擎(其包括设备可执行指令,该指令在被执行时使处理器对虚拟环境中的虚
拟对象的运动建模)以及设备可执行指令,该设备可执行指令在被执行时使处理器:基于建
模生成控制信号;以及生成图形用户接口数据,该图形用户接口示出虚拟环境中的虚拟对
象。

在各种示例中,玩具进一步包括被布置成将图形用户接口数据传输至包括用于显
示图形用户接口的呈现设备的计算设备的通信接口。

另一个方面提供了一种方法,包括:在物理引擎中对虚拟环境中的虚拟对象的运
动建模;以及生成控制信号以通过改变物理玩具的至少一部分的运动在物理玩具上施加来
自物理引擎的输出,其中虚拟对象对应于物理玩具。该方法可以进一步包括生成图形用户
接口数据,该图形用户接口示出虚拟环境中的虚拟对象。

在各种示例中,控制信号被生成以改变玩具的至少一部分的运动,以减小所建模
的虚拟环境中虚拟对象的运动与玩具的真实世界运动之间的差异。

在各种示例中,该方法进一步包括:经由通信接口将控制信号传输至物理玩具。

在各种示例中,该方法进一步包括:在呈现设备上显示图形用户接口。

在各种示例中,该方法进一步包括:经由通信接口将图形用户接口数据传输至呈
现设备。

在各种示例中,该方法进一步包括:接收传感器数据,该传感器数据标识玩具的运
动和/或玩具的周围环境的方面;以及当在物理引擎中对虚拟环境中的虚拟对象的运动建
模时使用该传感器数据。

在各种示例中,经由通信接口从玩具接收传感器数据。

另一方面提供了一种基于计算的设备,包括:处理器和存储器。该存储器包括设备
可执行指令,其在被执行时使处理器:对虚拟环境中的虚拟对象的运动建模;并且基于该建
模生成控制信号,该控制信号可操作用于改变对应于虚拟玩具的物理玩具的至少一部分的
运动。该设备可执行指令可以在被执行时进一步使处理器生成图形用户接口数据,该图形
用户接口示出虚拟环境中的虚拟对象。

在各种示例中,控制信号可操作用于减小虚拟环境中的虚拟对象的建模的运动与
玩具的真实世界运动之间的差异。

在各种示例中,基于计算的设备进一步包括被布置成将控制信号传输至物理玩具
或邻近玩具的通信接口。以此方式,可以在被建模的玩具或靠近由物理引擎建模的玩具的
玩具内实现对运动的控制(例如,其中通过轨道、踢脚板等来执行控制)。

在各种示例中,通信接口进一步被布置成从物理玩具接收传感器数据,该传感器
数据提供关于物理玩具的运动和/或物理玩具的周围环境的信息,并且其中该传感器数据
被用来对虚拟环境中的虚拟对象的运动建模。

另一方面提供了一种包括用于接收由交互式软件体验生成的控制信号的构件的
玩具。该控制信号基于由虚拟环境中的虚拟对象的物理引擎执行的建模而生成,并且该虚
拟对象对应于玩具。该玩具还包括用于响应于接收控制信号而改变玩具的至少一部分(例
如车轮、肢体等)的运动的构件。

又一方面提供了一种基于计算的设备,其包括用于对虚拟环境中的虚拟对象的运
动建模的构件和用于基于该建模生成控制信号的构件,该控制信号可操作用于改变对应于
虚拟玩具的物理玩具的至少一部分的运动。基于计算的设备可以进一步包括用于生成图形
用户接口数据的构件,该图形用户接口示出虚拟环境中的虚拟对象。

术语“计算机”或“基于计算的设备”在本文中用来指具有处理能力以使得它可以
执行指令的任何设备。本领域技术人员将会认识到,这样的处理能力被合并到许多不同的
设备中并且因此术语“计算机”和“基于计算的设备”各自包括PC、服务器、移动电话(包括智
能电话)、平板计算机、机顶盒、媒体播放器、游戏控制台、个人数字助理和许多其他设备。

本文描述的方法可以由在有形存储介质上的机器可读形式的软件执行,例如所述
软件形式为:包括计算机程序代码构件的计算机程序,该计算机程序代码构件适于在该程
序在计算机上运行时以及在计算机程序可以收录在计算机可读介质上的情况下,执行本文
描述的任何方法的所有步骤。有形存储介质的示例包括包含诸如盘、拇指驱动器、存储器等
之类的计算机可读介质的计算机存储设备,并且不包括传播的信号。传播的信号可以存在
于有形存储介质中,但是传播的信号本身不是有形存储介质的示例。软件可以适合用于在
并行处理器或串行处理器上执行,使得方法步骤可以以任何合适的次序或同时实施。

这承认了软件可以是有价值的、可单独交易的商品。预期的是涵盖运行在“哑”或
标准硬件上或控制这样的硬件的软件,以实施期望的功能。还预期的是,涵盖“描述”或限定
硬件的配置的软件,比如HDL(硬件描述语言)软件,其用于设计硅芯片或用于配置通用可编
程芯片,以实施期望的功能。

本领域技术人员将会认识到,用于存储程序指令的存储设备可以跨网络分布。例
如,远程计算机可以存储作为软件描述的过程的示例。本地或终端计算机可以访问远程计
算机并且下载软件的部分或全部以运行程序。可替换地,本地计算机可以按照需要下载软
件片段,或者在本地终端处执行一些软件指令并且在远程计算机(或计算机网络)处执行一
些软件指令。本领域技术人员还将认识到,通过利用本领域技术人员已知的常规技术,软件
指令的全部或部分可以由专用电路(比如DSP、可编程逻辑阵列等)实施。

如对技术人员而言将显然的是,在本文给出的任何范围或设备值可以在不失去所
寻求的效果的情况下扩展或更改。

尽管已经以特定于结构特征和/或方法动作的语言描述了主题,但是应当理解,所
附的权利要求中限定的主题不一定限于上述特定特征或动作。相反,上述特定特征和动作
作为实现权利要求的示例形式而被公开。

将理解的是,上述益处和优点可以涉及一个实施例或可以涉及若干实施例。这些
实施例不限于解决任何或所有所记载的问题的那些实施例或具有任何或所有所记载的益
处和优点的那些实施例。将进一步理解,对“一个”项目的引用是指那些项目中的一个或多
个。

本文中描述的方法的步骤可以以任何合适的次序实施,或在适当的情况下同时实
施。此外,各个块可以从任何方法中删除,而不脱离本文描述的主题的精神和范围。上述示
例中的任何示例的方面可以与所描述的其他示例中的任何示例的方面结合以形成另外的
示例,而不丢失所寻求的效果。

术语“包括”在本文中用于意指包括所标识的方法块或元件,但是这样的块或元件
不包括排他的列表并且方法或装置可以包含附加的块或元件。

术语“子集”在本文中用于指真子集,使得集合的子集不包括该集合的所有元素
(即,在该子集中缺少该集合的至少一个元素)。

将理解的是,上文的描述仅通过示例方式给出并且本领域技术人员可以进行各种
修改。上面的说明书、示例和数据提供了示例性实施例的结构和使用的完整描述。尽管上文
已经以一定程度的特殊性或参照一个或多个独立实施例描述了各种实施例,但是本领域技
术人员可以对所公开的实施例做出许多更改,而不脱离本说明书的精神或范围。

使用物理引擎控制物理玩具.pdf_第1页
第1页 / 共20页
使用物理引擎控制物理玩具.pdf_第2页
第2页 / 共20页
使用物理引擎控制物理玩具.pdf_第3页
第3页 / 共20页
点击查看更多>>
资源描述

《使用物理引擎控制物理玩具.pdf》由会员分享,可在线阅读,更多相关《使用物理引擎控制物理玩具.pdf(20页珍藏版)》请在专利查询网上搜索。

描述了用于使用物理引擎控制物理玩具的方法和系统。在实施例中,交互式软件体验内的物理引擎被用来对虚拟环境中的虚拟对象的运动建模。然后,该建模的输出被施加在对应于虚拟对象的物理玩具上,使得真实世界中的物理玩具的运动更紧密地匹配虚拟环境中的虚拟对象的运动。在各种示例中,该建模通过控制信号被施加,该控制信号基于物理引擎的输出而生成并且用于控制物理玩具内的致动器以改变该玩具的至少一部分的运动。。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1