CN109562294A - 用于创建虚拟对象的方法 - Google Patents

用于创建虚拟对象的方法 Download PDF

Info

Publication number
CN109562294A
CN109562294A CN201780049708.8A CN201780049708A CN109562294A CN 109562294 A CN109562294 A CN 109562294A CN 201780049708 A CN201780049708 A CN 201780049708A CN 109562294 A CN109562294 A CN 109562294A
Authority
CN
China
Prior art keywords
real
objects
virtual
virtual objects
world
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201780049708.8A
Other languages
English (en)
Inventor
M.J.沃克
J.B.本宁克
H.M.斯托姆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lego AS
Original Assignee
Lego AS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lego AS filed Critical Lego AS
Publication of CN109562294A publication Critical patent/CN109562294A/zh
Pending legal-status Critical Current

Links

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/65Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor automatically by game devices or servers from real world data, e.g. measurement in live racing competition
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/213Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/53Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
    • A63F13/533Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game for prompting the player, e.g. by displaying a game menu
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/63Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor by the player, e.g. authoring using a level editor

Abstract

一种用于创建虚拟对象的计算机实现的方法;该方法包括:获得真实世界对象的数字表示,该数字表示表示真实世界对象的形状的视觉外观;获得指示与真实世界对象不同的实体的一个或多个特性的输入;创建表示真实世界对象的虚拟对象;以及至少基于所获得的输入,将属性分配给所创建的虚拟对象。

Description

用于创建虚拟对象的方法
技术领域
本发明涉及一种基于真实世界对象的数字表示来创建虚拟对象的计算机实现的方法,比如由玩具构造系统的玩具构造元件构建的玩具构造模型。
背景技术
玩具构造系统已为人所知数十年。多年来,简单的箱形构建块已经补充了具有特定外观或者机械或电气功能的其他构造元件,以增强游戏价值。这些功能包括例如电机、开关和灯,以及可编程处理器,其可接受来自传感器的输入并且可响应接收的传感器输入激活功能元件。
已经进行了多次尝试以通过真实世界的物理玩具来控制虚拟游戏。
例如,US2011/298922公开了一种用于提取物理对象的图像的系统。所提取的图像可以在显示设备上数字地表示为虚拟世界或视频游戏的一部分,其中禁止虚拟世界和/或视频游戏的对象是根据真实世界中的构造组来设计和构建的。然而,在许多视频游戏或其他虚拟环境中,期望提供体验丰富行为的三维虚拟对象。
根据至少一个方面,因此期望提供一种用于创建三维虚拟对象的过程,该三维虚拟对象以用户友好的方式展示来自真实世界对象的丰富功能行为。特别地,希望提供这样一种方法,其中不要求用户经历大量步骤来配置和修改所得到的虚拟对象,例如其中虚拟对象的创建以至少部分自动化的方式执行,仅需要很少的用户交互。
WO2015/185629公开了一种玩具构建系统,其包括多个玩具构造元件和图像捕获装置,该图像捕获装置可操作以捕获由一个或多个所述玩具构造元件构建的玩具构造模型的一个或多个图像。该现有技术系统还包括处理器,该处理器配置为确定一个或多个视觉属性参数,所述视觉属性参数指示可从玩具构造模型的颜色、形状和尺寸中的一个或多个导出的相应视觉属性。处理器还配置为在计算机生成的虚拟环境中创建虚拟对象,并且基于所确定的一个或多个视觉属性参数来控制计算机生成的虚拟环境中的虚拟对象以具有行为。
根据至少一个方面,期望提供一种方法和系统,其允许从真实世界的对象(例如从真实世界的玩具构造模型)以用户友好且优选地可靠准确的方式创建三维虚拟对象。特别地,期望提供易于使用并且提供虚拟对象的3D表示的方法和系统,所述虚拟对象在诸如视频游戏的虚拟环境中具有高度的功能。还期望提供准确表示相应真实世界对象的3D形状的虚拟对象。
通常希望提供一种增强系统的教育和/或游戏价值的玩具构造系统。还希望提供一种玩具构造系统,其中一组构造元件可以容易地用在不同的玩具构造模型中和/或与现有的玩具构造元件组合使用。此外,希望提供一种玩具构造系统,其允许用户特别是儿童以用户友好的有效且灵活和可靠的方式构造多个玩具模型。特别地,希望提供一种玩具构造系统,其允许在诸如游戏系统的虚拟环境中创建虚拟对象的用户友好且灵活的方式。
这里公开的本发明的各个方面可以解决现有技术系统的至少一些缺点。
发明内容
根据第一方面,本文公开了一种由数据处理系统实现的用于在虚拟环境中创建虚拟对象的方法;该方法包括:
-获得真实世界对象的数字表示,该数字表示表示真实世界对象的形状的视觉外观;
-获得指示与真实世界对象不同的实体的一个或多个特性的输入;
-创建表示真实世界对象的虚拟对象;以及
-至少基于所获得的输入,将属性分配给所创建的虚拟对象。
因此,真实世界对象的一个或多个捕获图像或真实世界对象的视觉外观的另一种形式的数字表示可以由执行该方法的数据处理系统用作用于在虚拟环境中生成具有用户定义的外观和属性的虚拟对象的基础。例如,用户可以创建真实世界玩具构造模型或以其他方式选择或创建类似于资产的真实世界对象,以用作计算机生成的虚拟环境中的虚拟对象。该方法为用户提供灵活且易于理解且易于使用的机制,用于影响虚拟环境中的虚拟对象的期望外观和属性。
具体地,当基于与真实世界对象不同的实体的一个或多个特性,将属性分配给虚拟对象时,可以创建具有丰富功能行为的虚拟环境和游戏场景,例如基于执行该方法的数据处理系统、虚拟环境、另一虚拟对象、数据处理系统外部的设备、数据处理系统的用户、数据处理系统的物理环境、数据处理系统的网络环境或其组合的一个或多个特性。
由于用户可以从玩具构造元件构造真实世界对象,因此用户对于如何构造对象具有很大的自由度。
真实世界对象的视觉外观的数字表示可以是指示真实世界对象的形状的合适表示,例如真实世界对象的三维形状。特别地,数字表示可以表示真实世界对象的点云和/或表面几何形状。数字表示还可以包括真实世界对象的可见特性的信息,例如一种或多种颜色、表面纹理等。例如,数字表示可以是表面表示,例如以3D网格的形式,或体积表示,例如真实世界对象的基于体素的表示。
该过程可以以多种方式获得数字表示。特别地,该过程可以从其他合适的输入数据接收数字表示或创建数字表示。
特别地,在一些实施例中,获得数字表示可以包括接收先前创建的数字表示,例如通过从数据存储设备检索数字表示、通过从远程数据处理系统或计算机网络下载数字表示或者通过以其他方式将数字表示从一个设备传送到另一个设备。
在一些实施例中,该过程可以从一个或多个传感器设备接收数字表示或其他输入数据,该传感器设备可操作以感测视觉外观,例如真实世界对象的形状和/或颜色。为此,传感器设备可操作以捕获来自真实世界对象的辐射。传感器设备可包括一个或多个传感器,其检测光或其他形式的电磁辐射,比如由传感器设备的视场中的真实世界对象的表面反射的光或其他电磁辐射。传感器设备可包括传感器阵列,比如CCD芯片,或可操作以扫描视场的单个传感器,或扫描的多个传感器的组合。因此,真实世界对象可以是被动的,因为它不需要主动发射任何声音、光、无线电信号、电信号等。此外,传感器设备可操作以感测真实世界对象的视觉外观,例如捕获辐射,以无接触方式和/或在传感器设备和真实世界对象之间没有建立任何电接触、通信接口等。
在一些实施例中,传感器设备包括图像捕获设备,该图像捕获设备可操作以在真实世界对象放置在图像捕获设备的视场内(例如在合适的对象支撑件上)时捕获真实世界对象的两个或更多个图像,其中两个或多个图像是从相对于真实世界对象的不同视点拍摄的。每个图像可以是照片或图像捕获设备的视场的二维表示的另一种形式,该表示允许确定视场内的对象的形状和/或颜色和/或大小。图像可以包括2D像素阵列或其他阵列元素,每个阵列元素表示与视场内的点或方向相关的感测信息。感测信息可以包括接收的辐射或波的强度、接收的辐射或波的频率/波长、距离图、偏振图、表面法线图和/或其他合适的感测量。
因此,图像捕获设备可以包括响应于可见光、红外光等的一个或多个数字相机。例如,图像捕获设备可以包括两个数码相机,其适于在相对于对象支撑件的相应视点处,例如在相对于对象支撑件的相应高度处。图像捕获设备可以包括一个或多个深度相机,其可操作以还检测视场内相对于相机位置的各个点的距离信息。传感器设备的一些实施例可包括激光器。在一些实施例中,图像捕获设备配置为除了光强度数据(比如RGB数据)之外还捕获深度信息。在一些实施例中,图像捕获设备配置为捕获指示数字相机的视场内的一个或多个表面的表面法线的信息。例如,图像捕获设备可以配置为获得接收光的偏振数据。图像捕获设备和/或数据处理系统可以配置为从所获得的偏振数据确定局部表面法线。捕获的表面法线也可以基于检测到的转盘相对于相机的倾斜或其他位移而变换为世界坐标系。能够检测表面法线的相机传感器的示例包括在美国专利号8023724中公开的系统。用于确定表面法线的技术的其他示例包括在Wan-Cun Ma等人的“Rapid Acquisition of Specularand Diffuse Normal Maps from Polarized Spherical Gradient Illumination”,Eurographics Symposium on Rendering(2007),Jan Kautz and Sumanta Pattanaik(Editors)中描述的技术。传感器设备可以输出指示捕获的辐射(例如一个或多个捕获的图像(例如作为数字图像或其他数据图))的模拟或数字信号作为视频流等。
数字表示可以是2D或3D表示。用于创建数字表示的过程可以包括用于基于捕获的辐射(例如基于捕获的图像)创建2D或3D数字表示的多阶段过程的多个阶段。在一些实施例中,该过程使用合适的方案用于传感器姿态估计,例如基于布置在上面放置有真实世界对象的转盘上的非重复彩色图案。然后可以宏观地和/或通过距离到边缘测量对彩色图案进行图像处理。其他实施例可以使用标记。
因此,该过程可以包括从光强度数据和/或从其他感测数据(比如深度数据,例如以一个或多个深度图的形式)、从偏振数据和/或表面法线数据或其组合来创建2D或3D数字表示。该过程可以使用来自运动技术、空间雕刻技术或其他合适技术的结构。如果传感器提供检测到的表面法线的场,则这些可以用于检测标记特征,例如边缘或角部或者具有表面法线方向突然变化的其他特征,用于运动过程中的结构。在其他实施例中,检测到的表面法线可用于将对象的体素表示(例如通过空间雕刻过程获得)变换为精确的表面网格。通常,3D数字表示可以包括任何合适类型的表示,例如多边形的表面网格、体素表示等,或其组合。
通常,通过可操作以感测真实世界对象的视觉外观的传感器设备获得数字表示也将被称为“扫描”真实世界对象。
该过程创建虚拟对象,并且其可将虚拟对象的视觉表示与虚拟对象相关,以允许在虚拟环境内呈现虚拟对象。视觉表示可以是获得的真实世界对象的数字表示或从其导出的视觉表示。例如,本文公开的方法的一些实施例可以处理所接收的数字表示以创建虚拟对象的视觉表示。该处理的示例可以包括以下中的一个或多个:空间分辨率的变化、缩放、一种或多种颜色的修改、平滑操作等。虚拟对象的视觉表示可以是2D表示或3D表示,例如以三维图形表示的形式。通常优选的是,虚拟对象在虚拟环境中具有类似于真实世界对象的外观,即视觉表示定义真实世界对象的相似性或至少其数字表示的相似性。所创建的虚拟对象(可选地包括其相关的视觉表示和/或相关的属性)可以从一个设备传送到另一个设备、由数据存储设备存储、从计算机网络下载等。例如,用户可以扫描多个真实世界对象,使该过程创建相应的虚拟对象并存储如此创建的虚拟对象,例如用于以后在游戏期间使用、用于与朋友共享等。因此,用户可以创建具有与其相关的相应属性的虚拟对象的个人库。然后可以在稍后的时间点使用虚拟对象,例如作为虚拟角色、配件、武器、车辆等。
在一些实施例中,该过程创建视觉表示作为数据结构,其包括用于绘制虚拟对象的虚拟对象的表面表示。如果要在虚拟环境中使虚拟对象的移动动画,则创建虚拟对象的视觉表示还可以包括创建表示骨骼骨架的数据结构,用于使虚拟对象动画。因此,创建视觉表示可以包括基于检测到的真实世界对象的形状和/或尺寸和/或颜色来创建表面表示以限定形状和/或尺寸和/或颜色,并且基于检测到的真实世界对象的形状和/或尺寸来创建骨架以具有形状和尺寸。例如,创建骨架可以包括基于检测到的真实世界对象的尺寸和形状来选择一组骨架模板中的一个和缩放该骨架模板;在一些实施例中,单个模板可能就足够了。例如,可以定义模板骨架,使得虚拟对象被动画以便类似于某种类型的图形,比如具有手臂和腿并且被动画为类似于行走的人物的人类形象,或者具有四条腿的动物,或者具有翅膀并进行飞行运动的鸟,或者被动画成进行游泳或滑动运动的鱼或蛇状人物。选择骨架模板可以自动执行,例如基于检测到的玩具构造模型的形状,和/或基于用户选择,例如选择要创建的角色类型,比如鱼、蛇、四足动物等。在一些实施例中,创建虚拟对象的骨架是基于获得的另一真实世界对象的数字表示,例如表示从其创建虚拟对象的真实世界对象的骨架的骨架真实世界对象。
在一些实施例中,该过程创建虚拟对象的视觉表示(例如3D表示),使得虚拟对象-或仅虚拟对象的一部分-看起来是由玩具构造元件构建的。为此,该过程可以创建从对应于玩具构造系统的真实世界玩具构造元件的虚拟构造元件创建的虚拟构造模型。特别地,在一些实施例中,该过程创建数据结构,其包括关于多个构造元件及其相对于另一个和/或相对于合适的坐标系的相对位置和取向的信息。对于虚拟模型的每个构造元件,数据结构还可以包括关于构造元件的类型、其颜色和/或其他特征(比如重量、表面纹理等)的信息。在一些实施例中,表示虚拟构造元件的数据结构还包括关于构造元件的联接构件的类型和位置的信息。因此,虚拟模型的数据结构可以包括连接信息,该连接信息指示哪些虚拟构造元件经由它们各自的联接构件而彼此互连。在US7439972中描述了这种数据结构的示例。
可替代地或另外,该过程可以创建具有对于系统的所有或一些玩具构造元件共有的可见重复特征比如联接构件的视觉表示。在一些实施例中,该过程检测真实世界对象的玩具构造元件的联接构件的位置,并在视觉表示的相应位置处添加相应联接构件的图形表示。
视觉表示可以与视频游戏或其他形式的虚拟环境中的虚拟对象相关。这里描述的各个方面可以用各种游戏系统或其他计算机实现的娱乐、社交或教育系统来实现,例如包括计算机生成的虚拟环境的系统。通常,虚拟对象可以表示虚拟角色,比如类似人类的角色、类似动物的角色、幻想生物等。可替代地,虚拟对象可以是无生命对象,比如建筑物、车辆、植物,武器等。在一些实施例中,虚拟对象(其在真实世界中的对应物是无生命的,例如汽车)可以用作虚拟环境中的动画虚拟角色。因此,在一些实施例中,虚拟对象是虚拟角色,并且在一些实施例中,虚拟对象是无生命对象。因此,该过程可以包括存储虚拟对象,以便独立于真实世界对象的存在使虚拟对象在虚拟环境中可用,或者以其他方式用于后续检索,例如在后续用户会话期间,在创建虚拟对象的用户会话之后。
虚拟角色可以通过在虚拟环境内移动、通过与其他虚拟角色交互或者通常与之接合和/或与虚拟环境中存在的无生命虚拟对象交互和/或与虚拟环境本身交互和/或通过其他方式在虚拟环境演变(例如成长、老化、发展或失去能力、属性等)来展示行为。通常,虚拟对象具有影响虚拟环境的游戏或其他演变的属性,例如一种或多种能力。例如,汽车可以具有特定的最大速度,或者对象可以具有确定虚拟角色是否或如何与虚拟对象交互的属性等。
为此,该过程包括将一个或多个虚拟属性例如行为属性(比如虚拟对象的能力、需求、偏好或其他属性)或者其他游戏相关属性分配给虚拟对象。虽然至少一个虚拟属性至少部分地基于与真实世界对象不同的实体的一个或多个特性,但是一些或所有属性可以至少部分地基于检测到的真实世界对象的视觉特征,例如通过使用在国际专利申请PCT/EP2015/062381中公开的机制。
属性可以是指示作为整体的虚拟对象的特征的全局属性,或者是与虚拟对象的一部分相关的局部属性,例如与相对于虚拟对象的视觉表示的位置(例如虚拟对象的表面上的位置)相关。例如,该过程可以创建虚拟对象的功能元件,比如可移动部件、可以由用户控制的部件、可以改变外观的部件、可以与其他虚拟对象或与虚拟环境交互的部件等或者具有与之相关的其他形式的功能属性的部件。
分配给虚拟对象的属性可以包括指示整个虚拟对象属性的一个或多个全局属性。全局属性的示例可以包括以下中的一个或多个:指示能力或技能的属性、指示能量水平的属性、指示对象的全局行为的属性等。全局属性的其他示例包括移动的能力,例如飞行或在表面上移动的能力、移动的速度和/或模式等。属性的其他示例包括与虚拟对象的各个部分相关的局部属性,而不是与整个虚拟对象相关。例如,局部属性可以指示对象的一部分的功能能力,例如指示虚拟对象的一部分相对于虚拟对象的其余部分或相对于虚拟对象的另一部分移动的能力的属性。局部属性的其他示例可以指示虚拟对象的一部分排出一个或多个虚拟排出元件的能力,比如虚拟射弹、虚拟光束、虚拟流体和/或其他虚拟效果。局部属性的其他示例可以包括虚拟对象的一部分与其他虚拟对象交互的能力,例如建立连接、交换虚拟元件等。通常,局部属性包括功能/行为属性,其表示与不改变的静态属性(如颜色、纹理等)不同的功能/行为。
分配给所创建的虚拟对象的至少一个虚拟属性至少部分地基于与真实世界对象不同的实体的一个或多个特性。该实体可以在执行该过程的数据处理系统的内部,或者它可以是与数据处理系统不同的外部实体。实体的特性可以由执行该过程的数据处理系统检测,或者其可以由与数据处理系统不同的外部检测设备检测。该实体可以是物理实体或虚拟实体,例如游戏或虚拟环境的虚拟实体。特性可以是实体的身份、实体的可见或可检测的质量或可测量的数量、实体存储的信息等。
在一些实施例中,检测设备是电子设备。因此,该过程从电子设备获得输入,该电子设备可以是数据处理系统的一部分或与其可通信地连接,并且输入可以指示电子设备的当前操作状态、电子设备接收的输入或电子设备的另一特性。电子设备可以是游戏控制器,并且输入可以指示由游戏控制器接收的输入,特别是与从可用属性的列表或菜单中选择属性的用户选择不同的输入。在另一示例中,电子设备包括传感器,并且输入指示由传感器感测的量,例如指示设备本身的特性、设备环境的特性或与设备分离的对象的特性的量。
在一些实施例中,该过程从执行数字游戏的数据处理系统获得输入,并且该输入可以指示数字游戏的当前状态,例如游戏会话数据。执行数字游戏的数据处理系统可以是执行本文公开的过程的相同数据处理系统或不同的数据处理系统。特别地,数字游戏可以包括虚拟环境,并且该过程可以在数字游戏的虚拟环境中创建虚拟对象。例如,用户可能已经使用现有的虚拟角色参与了数字游戏一段时间。然后,玩家扫描真实世界对象(例如由用户构建的玩具构造模型),以便使系统创建新的虚拟对象。然后,该过程可以将来自现有角色的一个或多个特性(例如经验点、能力等)分配给新创建的虚拟对象。在另一示例中,该过程接收指示虚拟环境内的当前位置的输入(例如数字游戏的玩家角色当前所在的位置),并且根据当前位置将一个或多个属性分配给所创建的虚拟对象。例如,某些属性可能仅在某些游戏位置处或某些游戏状态下可用。
在一些实施例中,该过程获得指示另一虚拟对象的一个或多个特性的输入,即该实体是另一虚拟对象。因此,所分配的属性可以是所创建的虚拟对象与另一虚拟对象之间的关系,例如同一团队或对方团队的成员关系。其他示例包括所创建的虚拟对象从另一虚拟对象(例如以前创建的虚拟对象)继承一个或多个属性。在又一示例中,所分配的属性定义所创建的虚拟对象与另一虚拟对象的交互,例如虚拟对象可以如何互连或以其他方式组合以形成组合的虚拟对象。因此,该交互还可以取决于另一虚拟对象的特性(例如形状或连接特性)。
在一些实施例中,另一虚拟对象是基于另一真实世界对象的另一获得的数字表示而创建的虚拟对象,另一数字表示表示另一真实世界对象的形状的视觉外观。可替代地,另一虚拟对象可以是任何其他例如预先存在的虚拟对象,在创建新的虚拟对象时,其在虚拟环境中已经是可用的。
在一些实施例中,该方法包括:
-获得第一真实世界对象的第一数字表示;
-获得第二真实世界对象的第二数字表示;
-创建虚拟对象,该虚拟对象的至少一部分具有第二真实世界对象的相似性的外观;
-为虚拟对象分配属性;其中,至少部分地基于所获得的第一数字表示来确定该属性。
第一和第二真实世界对象中的一个或每个可以是相应的玩具构造模型,其由相应的多个玩具构造元件构建,每个玩具构造元件包括配置成用于将玩具构造元件彼此可拆卸地互连的一个或多个联接构件。所获得的数字表示中的一个或两个可以指示相应真实世界对象的视觉外观。所创建的虚拟对象可以具有第二真实世界对象或第一和第二真实世界对象的组合(例如通过将第一和第二真实世界玩具构造模型相互附接而构建的组合玩具构造模型)的相似性的视觉外观。
因此,用户可以至少部分地基于一个真实世界对象来定义虚拟对象(或其一部分)的外观,同时至少部分地基于另一真实世界对象来定义虚拟对象的一个或多个属性。当难以从相同真实世界对象辨别视觉外观和属性时,这可能特别有用,例如因为要分配属性的虚拟对象的一部分可能难以识别,例如因为该部分被虚拟对象的其他部分阻挡。
例如,属性可以包括玩具构造模型的一个或多个接头或其他部分的识别,这些部分可相对于彼此移动或者可操作以执行另一功能。在部分玩具构造模型中可以更容易地识别这些部分,其中尚未添加所有玩具构造元件。因此,分配属性可以包括:
-检测第一真实世界玩具构造模型的至少一部分,其可操作以执行功能并且可选地检测所述功能。
-确定所创建的虚拟对象的相应部分;基于检测到的第一真实世界玩具构造模型的至少一部分,将虚拟功能分配给所确定的相应部分。
特别地,在一些实施例中,分配属性可以包括:
-检测可相对于彼此移动的第一真实世界玩具构造模型的至少两个部分;
-确定所创建的虚拟对象中的相应两个部分;并且基于检测到的第一真实世界玩具构造模型的至少两个部分来表示所确定的相应两个部分相对于彼此的移动。
第一玩具构造模型可以是骨架或者包括功能或可移动部分的部分模型,使得它们清晰可见,并且因此在模型的相应数字表示中可清楚地识别。第二玩具构造模型可以包括作为子模型的第一玩具构造模型和连接到第一玩具构造模型的附加玩具构造元件。因此,可以基于从第一玩具构造模型的数字表示获得的信息来执行将可移动部分分配给从第二玩具构造模型创建的虚拟对象。
在另一实施例中,该属性指示虚拟对象的至少第一和第二状态;并且其中,该方法包括:
-表示虚拟对象的至少第一和第二状态;其中第一状态基于获得的第一数字表示,第二状态基于获得的第二数字表示。
例如,真实世界对象(例如真实世界玩具构造模型)可以在一个视觉外观和第二视觉外观之间变换,例如通过相对于彼此移动可移动部分,通过重新定位玩具构造元件和/或通过更换、添加和/或移除玩具构造元件。因此,所创建的虚拟对象也可以以两种或更多种状态呈现或以其他方式表示,例如站立和飞行,或折叠和扩展,或快乐和愤怒等。其中一个状态可以由第二真实世界对象的视觉外观表示,而另一个状态可以由第一真实世界对象表示。因此,所分配的属性可以表示虚拟对象的替代外观。应当理解,替代外观还可以与虚拟对象的替代或附加能力或其他特征相关,例如飞行的能力、增加的强度等。应当理解,该过程可以包括将两个以上的状态与虚拟对象相关,例如通过获得两个以上真实世界对象的数字表示。可替代地或另外,该过程可包括表示中间状态,例如说明第一和第二状态之间的变换或转换的过渡状态。状态之间的变换或转换可以由游戏事件触发,例如由用户输入触发。
在一些实施例中,属性指示虚拟对象或其一部分的功能或能力。
在一些实施例中,属性指示虚拟对象的视觉外观;并且该方法包括将虚拟对象表示为组合的虚拟对象,从类似于第一真实世界对象的第一对象部分和类似于第二真实世界对象的第二对象部分组合。
因此,用户可以从各个部分对象构造虚拟对象,其中用户分别获得每个部分对象的相应数字表示。应当理解,用户可以从相应的真实世界对象创建相应的虚拟对象,并且将它们组合在虚拟环境中,例如响应于用户输入或其他游戏事件。
特别地,在一些实施例中,第一和第二真实世界对象是玩具构造模型,并且该方法包括:
-基于所获得的第一数字表示,检测第一真实世界玩具构造模型的第一连接元件;
-基于所获得的第二数字表示,检测第二真实世界玩具构造模型的第二连接元件,第二连接元件能够接合第一连接元件,以便将第一和第二真实世界玩具构造模型彼此互连;
-将虚拟对象表示为组合的虚拟对象,从类似于第一真实世界玩具构造模型的第一对象部分和类似于第二真实世界玩具构造模型的第二对象部分组合;其中第一和第二对象部分在相应的第一和第二虚拟连接元件处互连,第一和第二虚拟连接元件对应于第一和第二真实世界玩具构造模型的相应第一和第二连接元件。
因此,该过程可以检测虚拟对象可以彼此连接的相应虚拟对象的部分。可选地,该过程还可以检测检测到的连接元件提供的连接类型,例如刚性连接、铰接连接、可旋转连接或其他可移动连接等。
连接元件可以包括玩具构造元件的联接构件或可检测的联接构件的预定子集或可检测为连接元件的玩具构造元件的预定子集。
通常,玩具构造元件的联接构件可以利用任何合适的机构来可释放地将构造元件与其他构造元件连接。在一些实施例中,联接构件包括一个或多个突起和一个或多个腔,每个腔适于以摩擦接合的方式接收至少一个突起。
在一些实施例中,玩具构造元件可以遵守一组约束,例如关于它们的形状和尺寸和/或关于联接构件的位置和取向以及关于联接构件所采用的联接机构。在一些实施例中,至少一些联接构件适于限定连接方向并且允许每个构造元件与另一构造元件以相对于构造元件的离散数量的预定相对取向互连。因此,可以提供多种可能的构建选择,同时确保构建元件的互连性。联接构件可以定位在规则网格的网格点上,并且玩具构造元件的尺寸可以定义为由规则网格限定的单位长度的整数倍。可以理解,三维网格可以由单个单位长度、由两个单位长度定义,例如一个单位长度适用于两个空间维度,而另一个单位长度适用于第三个空间维度。可替代地,三维网格可以定义三个单位长度,每个空间维度一个。因此,与玩具构造系统一致的联接构件遵守由玩具构造系统施加的连接规则,例如包括联接构件的类型、位置和/或取向,并且它们配置成接合玩具构造系统的一个或多个玩具构造元件的配合联接元件。
因此,第一和/或第二连接元件可以是玩具构造系统的各个联接构件或者联接构件的组合,例如联接构件的网格、具有预定形状和/或尺寸的联接构件的网格等。
根据一些实施例,第二多个玩具构造元件包括第一多个玩具构造元件,可选地甚至作为由第一玩具构造模型形成的连贯子结构。在一些实施例中,第一和第二多个玩具构造元件是相同的,而在其他实施例中,第一多个是第二多个的真实子集。在又一些实施例中,第一多个仅包括一些或甚至没有玩具构造元件,它们也存在于第二多个玩具构造元件中。
通常,所分配的属性可以自动地、由用户手动地或半自动地(例如以用户辅助的方式)选择。例如,该过程可以至少部分地基于与真实世界对象不同的实体的特性自动确定一组可能的属性,并且允许用户选择所确定的一组可能属性中的一个。
根据一些实施例,该方法包括:
-选择虚拟对象的一部分;和
-将一个或多个局部属性分配给虚拟对象的所选部分。
分配了局部属性的虚拟对象的一部分可被识别为虚拟对象的视觉表示的一部分。例如,在虚拟对象的视觉表示包括多个几何元素的实施例中,例如表示虚拟对象的表面的网格的多个表面元素或虚拟对象的体积表示的多个体素,所选部分可以包括几何元素的所选子集。
选择虚拟对象的一部分可以自动执行,例如基于虚拟对象的一个或多个检测到的特征,或者用户辅助的,例如至少部分响应用户输入。
在一些实施例中,选择虚拟对象的一部分包括基于虚拟对象的视觉表示来检测虚拟对象的预定特征,比如几何特征。几何特征可以例如是预定的几何形状,比如圆形、椭圆形、多边形等。在一些实施例中,特征的检测可以包括识别一个或多个对象部件。例如,在真实世界对象是由各个玩具构造元件构建的真实世界玩具构造模型的实施例中,检测到的特征可以是作为真实世界玩具构造模型的一部分的一个或多个所识别的玩具构造元件。
在一些实施例中,用户可以指示虚拟对象的一部分,然后该过程可以检测用户选择的部分内的预定特征。然后,该过程可以基于检测到的特征选择虚拟对象的一部分。例如,该过程可以选择检测到的特征作为所选部分,或者该过程可以选择在检测到的特征附近的虚拟对象的一部分作为所选部分。通常,用户可以以多种方式指示虚拟对象的一部分。例如,用户可以指示在显示器上的虚拟模型的表示内的区域的轮廓,例如使用指示设备或另一指向机构。可替代地,用户可以指向虚拟表面的表面上的位置,并且该过程可以将虚拟对象的一部分确定为具有与用户选择的位置共同的一个或多个特性的部分,例如相同的颜色、纹理等。可替代地或另外,该过程可以使用一个或多个对象分割技术来将虚拟模型分割成多个片段。然后,该过程可以允许用户选择一个或多个片段。
在一些实施例中,该过程可以检测多个候选特征。然后,该过程可以指示检测到的候选特征,并允许用户选择一个或多个检测到的候选特征。然后,该过程可以基于用户选择的候选特征来确定所选部分。
局部属性的选择可以至少部分地基于分配了局部属性的虚拟对象的一部分的一个或多个特征和/或基于虚拟对象的另一部分的一个或多个特征。例如,可以基于虚拟对象的一部分和/或虚拟对象的另一部分的一个或多个特征来选择局部属性的类型或局部属性的一个或多个特征。虚拟对象的一部分或虚拟对象的另一部分的特征可包括颜色、大小、形状或者一个或多个其他可检测特征。局部属性的特征可以包括属性的强度、级别或其他特性。一个或多个局部属性可以至少部分地基于除真实世界对象之外的实体的特性。通常,应当理解,不是所有分配给虚拟对象的属性都需要基于除真实世界对象之外的实体的属性来确定。某些属性可能确实完全基于真实世界对象的特性和/或基于特定用户选择。
因此,在一些实施例中,将一个或多个局部属性分配给虚拟对象的所选部分包括:
-检测所选部分和/或与所选部分不同的虚拟对象的一个或多个其他部分和/或除真实世界对象之外的实体的一个或多个特性;和
-至少部分地基于检测到的所选部分和/或虚拟对象的一个或多个其他部分和/或除真实世界对象之外的实体的一个或多个特性来选择一个或多个局部属性。
检测到的一个或多个特性中的每一个可以是可通过视觉获得的真实世界对象的视觉特性,例如可以从真实世界对象的颜色和/或形状和/或尺寸导出的特性。
例如,当已经为所选部分分配了排出排出元件的能力时,该过程可以基于虚拟对象的另一部分的特性从所选部分中选择要排出的排出元件,例如基于所选部分附近的虚拟对象的一部分的颜色。例如,红色可能导致排出元件为炮火,而蓝色可能导致排出元件为水。可替代地或另外,该过程可以基于所选部分的属性来选择排出元件。例如,该过程可以基于所选部分的一个或多个确定的特性来选择所排出的对象的形状和/或尺寸,例如基于所选部分的形状,该部分已被分配排出排出元件的能力。例如,可以基于排出元件将从其排出的开口的形状和/或尺寸来选择排出元件的形状和/或尺寸。
通常,在一些实施例中,可以基于所选部分的属性和/或基于虚拟对象的另一部分的属性来选择一个或多个其他属性。其他属性的示例可以包括功能程度,例如待排出的排出元件的量、排出速度、重复率等。
在一些实施例中,所分配的局部属性具有相关的属性方向,并且该方法还包括:
-确定与虚拟对象的所选部分相关的方向;和
-将确定的方向作为属性方向分配给所分配的局部属性。
例如,局部属性可以是移动,属性方向可以是移动的方向。可替代地,局部属性可以是虚拟对象的一部分的旋转,属性方向可以是旋转轴的方向。可替代地,局部属性可以是从虚拟对象的一部分排出一个或多个排出元件的排出能力,并且属性方向可以是排出元件排出的方向。
与所选部分相关的方向可以例如确定为预定部分的表面位置的表面法线,例如在所选部分的表面的中心(例如几何中心)的表面法线。可替代地,可以使用另一种机制来确定一部分的方向,例如通过检测所选部分的一个或多个边缘并检测一个或多个边缘的方向。在又一替代实施例中,可以从一个或多个检测到的特征检测方向。例如,该过程可以检测虚拟对象的视图中的椭圆,并检测从椭圆的长轴和短轴的方向,例如使得该方向是从圆盘的中心开始的法线方向,当从所述视点观察时,该方向导致椭圆形。
在一些实施例中,虚拟对象是可由虚拟角色或虚拟角色可在其上骑行的生物操作的车辆;所分配的局部属性是虚拟角色相对于虚拟对象的骑行位置;并且该方法包括:
-确定所选择的骑行位置处的虚拟对象的表面的表面法线;和
-基于所确定的表面法线,确定虚拟角色的骑行姿势。
在一些实施例中,该过程允许用户指示骑行位置。在选择过程期间,该过程可以使虚拟角色动画以在虚拟对象的顶部朝向指示的骑行位置爬升。为此,该过程可以使用虚拟对象的数字表示的表面法线来确定虚拟角色在朝向骑行位置爬升的同时的方向。
在一些实施例中,选择虚拟对象的一部分包括:
-识别虚拟对象的一部分作为多个预定部分中的所识别的一个的表示,所识别的部分对应于所述多个几何元素的子集;其中,多个预定部分的数字表示存储在预定部分的库中;其中,预定部分的一个或多个数字表示使一个或多个预定属性与它们相关;以及
-用所识别的预定部分的所存储的数字表示替换几何元素的子集。
例如,真实世界对象可以是由多个构造元件构建的玩具构造模型,并且该过程可以访问对应于各个真实世界构造元件的虚拟构造元件的库。玩具构造元件可包括用于将玩具构造元件彼此可拆卸地互连的联接构件。该过程可以将一个或多个构造元件识别为真实世界对象的一部分。然后,该过程可以通过从存储库获得的数字表示来替换对应于所识别的玩具构造元件的虚拟对象的一个或多个相应部分。因此,虚拟对象可以基于各个构造元件的更精确的数字表示来表示,而不是可以从传统的3D重建流水线实现。此外,一些虚拟构造元件可以具有与它们相关的预定功能。例如,可以使车轮动画以旋转,可以使门动画以被打开,可以使消防水管动画以喷射水,可以使炮弹动画以排出射弹等。
因此,用户可以创建类似于在计算机生成的虚拟环境中用作虚拟对象的对象的真实世界玩具构造模型。由于用户可以从玩具构造元件构建这些对象,因此用户对于如何构建对象具有很大的自由度。此外,该系统为用户提供灵活易于理解且易于使用的机制,用于影响虚拟环境中虚拟对象的期望行为或其他属性,例如行为属性(比如虚拟对象的能力、需求、偏好或其他属性)或者虚拟对象的其他游戏相关属性。
可替代地或另外,用所存储的识别的预定部分的数字表示替换几何元素的子集,该过程可以以不同的方式利用对预定部分的识别。例如,基于识别的部分,该过程可以确定虚拟环境内所创建的虚拟对象的相对比例、取向、大小等(例如相对于虚拟环境内所创建的虚拟对象附近的其他元件)。
该过程可以创建计算机生成的虚拟环境并且模拟虚拟环境随时间的演变,包括一个或多个虚拟角色的行为和/或虚拟环境内的一个或多个虚拟对象的属性。出于本说明书的目的,计算机生成的虚拟环境可以是持久的,即,即使没有用户与其交互,它也可以继续演变和存在,例如在用户会话之间。在替代实施例中,虚拟环境可以仅在用户与其交互时才演变,例如仅在活动用户会话期间。虚拟对象可以至少部分地由用户控制,即数据处理系统可以至少部分地基于所接收的用户输入来控制虚拟对象的行为。计算机生成的虚拟环境可以是单用户环境或多用户环境。在多用户环境中,多于一个用户可以同时与虚拟环境交互,例如通过控制虚拟环境中的各个虚拟角色或其他虚拟对象。计算机生成的虚拟环境特别是持久的多用户环境有时也称为虚拟世界。计算机生成的虚拟环境经常用在游戏系统中,其中用户可以控制虚拟环境中的一个或多个虚拟角色。由用户控制的虚拟角色有时也被称为“玩家”。应当理解,本文描述的各方面的至少一些实施例也可以用于除游戏之外的上下文中。计算机生成的虚拟环境的示例可以包括但不限于视频游戏,例如技能游戏、冒险游戏、动作游戏、即时战略游戏、角色扮演游戏、模拟游戏等或其组合。一些虚拟环境可以与许多虚拟对象、虚拟景观、虚拟结构等一起复杂化,而其他虚拟环境可以是相对简单的环境,例如仅定义可插入虚拟对象的2D或3D空间,并且可选地围绕着移动、旋转等。虚拟环境的进一步示例包括允许用户查看和/或探索虚拟对象(比如虚拟玩具构造模型)的模型查看器,例如在虚拟3D空间中。在一些实施例中,该方法可以包括将所创建的虚拟模型的表示(可选地包括指示所分配的属性的数据)传送到另一数据处理系统,以便允许其他数据处理系统包括在虚拟环境中。在一些实施例中,其他数据处理系统可以将一个或多个(其他)属性分配给虚拟对象。这样创建的虚拟对象可以通过社交媒体、消息和/或其他通信信道共享并由接收者查看或使用,可选地包括相关属性,比如其功能或其他能力。
本公开涉及包括上面和下面描述的方法的不同方面、相应的装置、系统、方法和/或产品,每个都产生结合第一提到的方面描述的一个或多个益处和优点,并且每个具有一个或多个实施例,其对应于结合第一提到的方面描述的和/或在所附权利要求中公开的实施例。
特别地,本公开还涉及用于创建虚拟对象的计算机实现的方法;该方法包括:
-获得真实世界对象的数字表示,该数字表示表示真实世界对象的形状的视觉外观;
-从接收的数字表示中检测真实世界对象的一个或多个特性;
-在虚拟环境中创建虚拟对象,虚拟对象表示真实世界对象;以及
-基于检测到的一个或多个特性,将属性分配给虚拟环境。
本公开还涉及一种数据处理系统,其配置为执行本文公开的一种或多种方法的实施例的步骤。为此,数据处理系统可以包括或可连接到计算机可读介质,计算机程序可以从该计算机可读介质加载到数据处理系统的处理器比如CPU以供执行。因此,计算机可读介质可以在其上存储程序代码装置,当在数据处理系统上执行时,该程序代码装置适于使数据处理系统执行本文所述的方法的步骤。数据处理系统可以包括适当编程的计算机,比如便携式计算机、平板计算机、智能电话、PDA或具有图形用户界面的另一可编程计算设备。在一些实施例中,数据处理系统可以包括客户端系统和主机系统。客户端系统可以包括相机或其他传感器设备和用户界面;主机系统可以配置为创建和控制虚拟环境。客户端和主机系统可以通过合适的通信网络(比如互联网)连接。
通常,此处和下文中术语处理器旨在包括适于执行本文所述的功能的任何电路和/或设备和/或系统。特别地,上述术语包括通用或专用可编程微处理器,比如计算机或其他数据处理系统的中央处理单元(CPU)、数字信号处理器(DSP)、专用集成电路(ASIC)、可编程逻辑阵列(PLA)、现场可编程门阵列(FPGA)、专用电子电路等或其组合。处理器可以实现为多个处理单元。
数据处理系统的一些实施例包括传感器设备,比如图像捕获设备,例如相机(例如摄像机),或用于获得玩具构造模型或其他真实世界对象的一个或多个图像的任何其他合适的设备。其他实施例可以配置为生成真实世界对象的数字表示和/或检索先前生成的数字表示。
传感器设备可包括辐射源,其可操作以将辐射引向玩具构造模型。例如,图像捕获设备可以包括闪光灯、一个或多个LED、激光器等。可替代地,图像捕获设备可操作以检测由对象反射的辐射。这里,术语反射旨在表示响应于所接收的辐射或波的任何类型的被动发射,包括漫反射、折射等。数据处理系统的实施例可包括用于向用户呈现虚拟环境的显示器或其他输出设备。数据处理系统的实施例还可以包括扫描站,例如包括传感器设备和对象支撑件,比如转盘。
本公开还涉及一种计算机程序产品,包括程序代码装置,当在数据处理系统上执行时,该程序代码装置适于使所述数据处理系统执行本文所述的一种或多种方法的步骤。
计算机程序产品可以作为计算机可读介质提供,比如CD-ROM、DVD、光盘、存储卡、闪存、磁存储设备、软盘、硬盘等。在其他实施例中,计算机程序产品可以作为可下载的软件包提供,例如在Web服务器上通过因特网或其他计算机或通信网络下载,或者作为应用程序用于从App商店下载到移动设备。
本公开还涉及一种玩具构造系统,其包括如上所述的数据处理系统和如本文所述的多个玩具构造元件。数据处理系统可以包括处理器;数据处理系统还可以包括图像捕获设备和显示器或其他输出设备。
本公开还涉及一种玩具构造组,其包括多个玩具构造元件,以及用于获得计算机程序代码的指令,当数据处理系统执行计算机程序代码时,该计算机程序代码使得数据处理系统执行本文所述的一种或多种方法的实施例的步骤。例如,可以以因特网地址、对App商店的引用等形式提供指令。玩具构造组甚至可以包括其上存储有诸如计算机程序代码的计算机可读介质。这种玩具构造组甚至可以包括可连接到数据处理系统的相机或其他图像捕获设备。可选地,玩具构造组还可包括扫描站、传感器设备或这两者。
玩具构造系统的实施例允许用户以均匀且结构良好的方式且采用有限组的不同玩具构造元件构造多种玩具构造模型。例如,玩具构造系统可被提供为包括多个玩具构造元件的玩具构造组。用户还可以创建多种虚拟对象,其在虚拟环境中展现出多种行为属性。
附图说明
图1示意性地示出了用于创建虚拟对象的系统的实施例。
图2示出了本文描述的过程的实施例的流程图。
图3-4示出了用户辅助选择虚拟对象的一部分的示例。
图5示出了用于基于真实世界对象在虚拟环境中创建虚拟对象的过程的示例。
图6示出了用于基于来自另一检测设备的输入来创建虚拟对象的过程的示例。
图7-9示出了用于创建虚拟对象的系统的进一步示例。
图10示出了用于创建虚拟对象的过程的另一示例。
图11A-D和12-13示出了用于基于多个真实世界对象创建虚拟对象的过程的进一步示例。
图14示出了用于基于真实世界对象和现有虚拟模型创建虚拟对象的过程的另一示例。
图15-17示出了用于基于多个真实世界对象创建虚拟对象的过程的又一些示例。
具体实施方式
现在将参考砖块形式的玩具构造元件来描述本文公开的方法、装置及玩具构造系统的各个方面和实施例,例如以乐高(LEGO)的名义提供的玩具构造元件的形式。然而,本发明可以应用于玩具构造组中使用的其他形式的玩具构造元件。
图1示出了玩具构造系统的实施例。该系统包括计算机101或其他数据处理系统、输入设备102、显示器103、包括相机104的传感器设备、包括转盘105的对象支撑件以及由玩具构造系统的一个或多个玩具构造元件构建的玩具构造模型106。
计算机101可以是个人计算机、台式计算机、膝上型计算机,手持计算机比如平板电脑、智能手机等、游戏控制台、手持娱乐设备或任何其他适当可编程的计算机。计算机101包括处理器109比如中央处理单元(CPU)和一个或多个存储设备比如存储器、硬盘等。
显示器103可操作地联接到计算机101,并且计算机101配置为在显示器103上呈现虚拟环境111的图形表示。尽管在图1中示出为单独的功能块,但要理解的是,显示器可以集成在计算机的外壳中。
输入设备102可操作地联接到计算机101并且配置为接收用户输入。例如,输入设备可以包括键盘、游戏控制器、鼠标或其他指示设备等。在一些实施例中,该系统包括一个以上的输入设备。在一些实施例中,输入设备可以集成在计算机和/或显示器中,例如以触摸屏的形式。应当理解,该系统可以包括可操作地联接到计算机比如集成到计算机中的其他外围设备。
相机104可操作以捕获玩具构造模型106的图像并将捕获的图像转发到计算机101。为此,用户可将玩具构造模型106定位在转盘105上。在一些实施例中,用户可以在基板的顶部上构建玩具结构模型。相机可以是数码相机,其可操作以拍摄数字图像,例如以二维像素阵列的形式。特别地,相机可以配置为捕获每个像素的光强度和附加信息,比如每个像素或像素组的偏振信息和/或表面法线方向。可替代地,可以使用其他类型的传感器设备,例如其他类型的图像捕获设备。而且,在替代实施例中,系统不使用转盘。
显示器103、相机104和输入设备102可以以各种方式可操作地联接到计算机。例如,上述设备中的一个或多个可以通过计算机101的合适的有线或无线输入接口联接到计算机101,例如通过计算机的串行或并行端口,比如USB端口,通过蓝牙、Wifi或其他合适的无线通信接口。可替代地,一个或所有设备可以集成到计算机中。例如,计算机可以包括集成显示器和/或输入设备和/或集成相机。特别地,许多平板电脑和智能电话包括集成相机、可用作显示和输入设备的集成触摸屏。
计算机101上存储有适于创建和控制虚拟环境的程序,例如App或其他软件应用程序,以处理捕获的图像并创建如本文所述的虚拟对象。例如,虚拟环境可以是计算机游戏的一部分。
应当理解,在一些实施例中,计算机101可以通信地连接到主机系统,例如通过互联网或其他合适的计算机网络。然后,主机系统可以执行本文描述的处理的至少一部分。例如,在一些实施例中,主机系统可以生成并模拟虚拟环境,比如可以由来自相应客户端计算机的多个用户访问的虚拟世界。用户可以使用执行合适程序的客户端计算机来捕获图像。捕获的图像可以由客户端计算机处理或上载到主机系统以处理和创建相应的虚拟对象。然后,主机系统可以将虚拟对象添加到虚拟世界并控制虚拟世界内的虚拟对象,如本文所述。
在图1的示例中,虚拟环境111是水下环境比如虚拟水族馆或其他水下环境。虚拟对象107、108类似于鱼或其他水下动物或者生物。然而,应当理解,可以实现其他类型的虚拟环境,其中虚拟对象表示其他类型的虚拟对象,比如其他类型的虚拟角色、动物、生物、车辆、附件、工具等。
在图1的示例中,计算机已经基于所捕获的玩具构造模型106的图像创建了一个虚拟对象107。计算机已经创建了虚拟对象107,以便类似于玩具构造模型,例如通过创建3D网格或其他合适的表示形式。在图1的示例中,虚拟对象107类似于玩具构造模型106的形状和颜色。在本示例中,虚拟对象甚至类似于构建玩具构造模型106的各个玩具构造元件。然而,应该理解,可以实现不同级别的相似性。例如,在一些实施例中,可以创建虚拟对象以便仅类似于构造模型的整体形状而不模拟其各个玩具构造元件的内部结构。还可以创建虚拟对象以具有与虚拟构造元件的尺寸相对应的尺寸,例如通过在转盘105上提供参考长度标尺,以便允许计算机确定玩具构造模型的实际尺寸。可替代地,计算机可以使用玩具构造元件的尺寸作为参考长度标尺。在另一些实施例中,用户可以手动缩放虚拟对象的尺寸。
图1所示的系统配置为创建或以其他方式获得真实世界对象的3D或其他数字表示,然后可以将其用于创建虚拟对象或角色,例如如下面更详细描述。该系统还可操作以获得指示与真实世界对象不同的实体的一个或多个特性的输入,并且至少基于所获得的输入将属性分配给所创建的虚拟对象,例如如下面更详细描述。
图2示出了本文描述的过程的实施例的流程图。例如,该过程可以由图1和7-9中描述的系统之一执行或者由另一适当编程的数据处理系统执行。
在初始步骤S1中,该过程获得指示玩具构造模型或另一真实世界对象的视觉外观的数据。例如,该过程可以在玩具构造模型所在的转盘的相应角度位置或者从各个视点捕获玩具构造模型的多个数字图像。数据可以包括数字图像和/或深度图和/或表示对象的视觉外观的另一种形式的数据,例如表面纹理、颜色、形状等。
在随后的步骤S2中,该过程根据所获得的数据(例如来自数字图像)构建玩具构造模型的3D数字表示。为此,该过程可以执行数字图像处理领域中本身已知的一个或多个图像处理步骤。例如,处理可以包括以下步骤中的一个或多个:背景检测、边缘检测、颜色校准、颜色检测。
用于从多个捕获的图像生成真实世界对象的3D数字表示的过程可以采用在对象重建领域中已知的任何合适的技术。例如,在一个实施例中,处理捕获的图像以便提取:
-通过相机看到的有关真实世界场景的信息,
-相对于对象的转盘位置或相机视点,以及
-对象轮廓。
在随后的步骤中,可以将所获得的轮廓投影到相应雕刻的体素化体积上。随后,将行进立方体算法应用于从雕刻获得的3D对象。然后获得最终网格,并且从相机框架切出的纹理被应用在其顶部上。该过程可以导致对象表面的网格表示,例如使用其他多边形的三角形。可替代地,该过程可以导致对象的体素表示。
在步骤S3中,该过程获得指示与真实世界对象不同的实体的一个或多个特性的输入。该实体可以是虚拟实体,例如先前创建的或以其他方式已经存在的虚拟对象、先前获得的或以其他方式已经存在的真实世界对象的数字表示、指示用户简档的数据对象等。可替代地,该实体可以是物理实体,比如另一真实世界对象、系统的用户、执行该过程的数据处理系统的硬件实体、外部系统的外部硬件实体,不同于执行该过程的数据处理系统且在其外部,等等。该过程可以通过通信接口、外围设备、软件模块等获得输入。
在步骤S4中,该过程创建虚拟对象。虚拟对象具有由在先前步骤中创建的3D表示或由其导出的另一视觉表示定义的视觉外观。另外,虚拟对象可以包括附加的全局属性(比如定义虚拟对象的行为特征的属性)和/或附加的局部属性。这些特征可以定义对象(或其一部分)如何移动、其能力和功能等。
可以理解,在一些实施例中,步骤S4可以在步骤S3之前或与步骤S3同时执行。
在步骤S5中,该过程至少部分地基于在步骤S3中接收的输入确定要分配给虚拟对象的一个或多个全局和/或局部属性。
在随后的步骤S6中,该过程将所确定的属性分配给虚拟对象或虚拟对象的所选部分。为此,该过程可以设定与虚拟对象相关或与表示虚拟对象的数据结构中的对象的所选部分相关的相应属性值。应当理解,某些类型的属性可以由单个值表示,而其他类型的属性可以具有更复杂的表示。
应当理解,步骤S5和/或S6可以与步骤S4同时进行,或者作为步骤S4的一部分。
通常,局部属性的分配可以包括选择虚拟对象的视觉表示的一部分,例如对象的3D形状的一部分。该步骤可以完全自动地执行,或其可以由用户辅助执行。例如,用户可以操纵虚拟对象的表示以识别要选择的部分。可替代地,该过程可以使用对象分割技术和/或特征检测技术和/或其他合适的机制来识别虚拟对象的一部分。下面将更详细地描述用于选择虚拟对象的一部分的方法的示例。在一些实施例中,该过程可以识别用户可以从中选择一个或多个部分的多个候选部分。所选部分可以因此在表示虚拟对象的合适数据结构中被识别,例如通过识别表示对象的所选部分的多个网格元素或体素。
可以基于用户输入自动地或部分地执行要分配给虚拟对象的所选部分的局部属性的确定。为此,用户可以选择属性,例如从可用或确定的属性的列表中。可替代地或另外,该过程可以自动确定要分配给所选部分的属性—或者属性的至少一个或多个特征。例如,该过程可以基于在步骤S3中接收的输入来选择属性,可选地基于所选部分的特性和/或基于虚拟对象的其他部分的特性来选择属性。可替代地,该过程可以至少部分地基于在步骤S3中接收的输入来确定多个候选属性,并且用户可以从所确定的候选属性中选择属性。
应当理解,可以将多于一个属性分配给对象的所选部分,并且可以选择对象的多于一个部分并分配虚拟属性。
图3-4示出了用户辅助选择虚拟对象的一部分的示例。
特别地,图3示出了基于预定特征的检测来选择对象的一部分。更具体地,在本示例中,该过程检测虚拟对象的表示中的椭圆,例如在虚拟对象的2D视图中。图3示出了在(例如图1的系统或其他适当编程的处理设备或系统的)计算机显示器的显示区域内创建的虚拟对象301的表示。在该示例中,虚拟对象表示可以由计算机游戏中的虚拟角色使用的车辆。已经基于从由玩具构造元件构造的真实世界车辆的不同视点拍摄的多个图像来创建虚拟对象,例如如上所述。
数据处理系统可以提供允许用户操纵所创建的虚拟对象301的视图的功能,例如通过旋转对象,通过变焦等。该过程可以配置为在当前视图中检测预定形状,例如椭圆、多边形等,并突出显示检测到的形状。为此,该过程可以使用任何合适的方法来检测本领域中已知的图像或3D表示中的预定特征。在图3的示例中,该过程在管状构造元件302的末端检测到椭圆。该过程通过以预定颜色(例如以红色)绘制强调的椭圆303来突出显示检测到的椭圆。应当理解,该过程可以最初识别多个特征,例如其他椭圆304。然后,该过程可以选择检测到的特征之一,例如基于其他标准,比如颜色、大小、方向、用户输入等。
然后,该过程可以将属性分配给虚拟对象的所选特征303,例如自动地或通过允许用户选择特征。在图3的示例中,该过程选择了水枪功能作为要分配给所选特征302的属性。水枪功能模拟从检测到的椭圆排出水。该过程可以允许用户选择一个或多个附加特征,例如要排出的水量、排出水的速度或范围、排出方向等。在图3中,这由符号305和306示出,符号305和306示出了两种可用的水枪选择并允许用户选择一种类型的水枪。可替代地或另外,该过程可以自动确定所分配属性的一个或多个属性特征。特别地,该过程可以基于指示与创建虚拟对象的真实世界对象不同的实体的一个或多个属性的输入来确定这样的属性特征。可选地,属性特征还可以基于所选部分的检测特性和/或基于虚拟对象的其他部分(例如相邻部分)的特性。
例如,在水枪的本示例中,所选部分的颜色可以确定水炮属性的水的颜色或排出水的另一属性,例如反过来可能影响排出水对游戏方面的影响的排出水的虚拟温度。所选部分的尺寸或形状可以确定当分配排出属性时排出元件被排出的方式,例如如果应用水炮属性时水喷洒的方式。作为又一示例,如果应用水炮属性,则将真实世界对象的且检测为所获得的数字表示的一部分的图形标记可以确定水是热的。
水枪功能是具有与其相关的方向的属性的示例,即在这种情况下水被排出的方向。在图3中,该方向由箭头307表示。该方向可以是用户可选择的,或者其可以由该过程自动确定,例如基于椭圆的方向并基于椭圆的长轴和短轴的方向和尺寸。
通常,图3示出了用户辅助选择模型特征的示例,其中该过程自动检测一个或多个模型特征,并且用户手动选择要为其分配局部属性的一个或多个特定特征。可检测特征的示例包括颜色、形状(例如圆形、多边形、椭圆形等)、3D几何特征(例如玩具构造元件)、边缘、面、多边形、材料(例如橡胶)、图形资产/标记等。
图4示出了用于基于预定特征的检测来选择对象的一部分的用户辅助选择过程的另一示例。在图4的示例中,该过程最初执行对象分割过程,例如使用网格分割算法或通过检测玩具构造元件或对象的其他预定部件。然后,用户可以识别一个或多个片段,例如通过指向片段或通过选择要选择的片段的颜色或其他特征等。可选特征的示例包括颜色、形状(例如圆形、多边形、椭圆形等)、3D几何特征(例如玩具构造元件)、边缘、面、多边形、材料(例如橡胶)、图形资产/标记等。然后,该过程将属性分配给虚拟对象的所选片段,例如自动地或通过允许用户选择特征,例如如上所述。
更具体地,图4示出了在(例如图1的系统或其他适当编程的处理设备或系统的)计算机显示器的显示区域内创建的虚拟对象301的表示。在该示例中,虚拟对象表示为位于扫描站的转盘408上。该过程示出了虚拟角色409,其可以由用户控制以绕虚拟对象301走动并且利用目标标线410(例如指针、十字线或其他瞄准设备)来瞄准虚拟对象的相应部分。在图4的示例中,该过程突出显示虚拟对象的被虚拟角色409当前瞄准的片段部分411。用户现在可以分配用户选择的或自动选择的属性,例如如可以分配给片段411的功能特征412所示。
如上所述,自动分割可以基于对真实世界对象的表示中的各个玩具构造元件或其他部件的检测。为此,该过程可以访问多个已知玩具构造元件或其他已知部件的表示库。已知部件可以存储为CAD文件或表示,例如如在WO2004/034333中所述或以其他合适的形式。然后,可以通过本领域中已知的合适的对象识别过程来检测和识别虚拟对象的相应部件。然后,所识别的部件可以是用户可选择的,使得属性可被分配给各个部件或部件组,例如两个或更多个玩具构造元件的子组件,例如包括动物、已知的人物、角色等或其部分,例如躯干部分、腿部、发动机部分、车轮等。在其他实施例中,可以基于已知的图形资产/标记等来检测和识别虚拟对象的一个或多个部分。
图5示出了用于基于真实世界对象在虚拟环境中创建虚拟对象的过程的示例。该过程可以由如本文所述的系统执行,例如参考图1和7-9中的任何一个。该过程最初获得真实世界对象506的数字表示,例如通过执行结合图2描述的方法的步骤S1和S2。该过程还在虚拟环境511中创建虚拟对象501,该虚拟环境511显示在系统的显示器503上,例如如结合图2的方法的步骤S4所述。该过程进一步检测(方框513)一个或多个特征,例如真实世界对象的视觉特征和/或其数字表示。基于检测到的特征,该过程修改创建的虚拟对象所插入的虚拟环境。可以自动检测模型特征,并且可以自动地将属性分配给游戏环境或者以用户辅助的方式。如本文所述,可以代替或者除了向虚拟对象分配属性之外执行游戏环境的修改。
模型特征的示例可以包括以下中的一个或多个:颜色、真实世界对象的整体尺寸、检测到的图形标记、识别的对象ID、真实世界对象的形状或形式(例如长、高、薄)等。例如,检测到的特征可以用于确定要生成的虚拟角色514(例如非玩家角色)或对象(除了基于检测到的真实世界对象创建的虚拟对象之外的其他对象)的类型和/或数量,和/或确定生成的虚拟角色或对象的属性或行为。可替代地或另外,检测到的特征可用于确定虚拟环境(例如丛林、沙漠等)的主题和/或准许访问虚拟环境的新部分。
例如,当该过程检测到主要是绿色汽车时,该过程可以通过生成更多丛林来修改游戏环境和/或虚拟错误可被吸引到汽车并且跟随它。在另一示例中,检测大生物(例如包括大的数量/体积的玩具构造元件)可以使该过程通过派遣敌人的军队来攻击新创建的虚拟对象来修改游戏环境。在又一示例中,利用标识真实世界对象的图形标记来检测真实世界对象可以使得该过程通过准予访问游戏环境的新部分来修改游戏环境,例如通过将游戏环境与特定的虚拟生物部落联系起来并打开他们王国的大门。
图6示出了用于基于来自与传感器设备不同的检测设备的输入来创建虚拟对象的过程的示例,该传感器设备已经获得了真实世界对象的数字表示所基于的输入。该过程可以由如本文所述的系统执行,例如参考图1和7-9中的任何一个。该过程获得真实世界对象506的数字表示,例如通过执行结合图2描述的方法的步骤S1和S2。该过程还在虚拟环境511中创建虚拟对象501,该虚拟环境511显示在系统的显示器503上,例如如结合图2的方法的步骤S4所述。该过程进一步检测(方框613)一个或多个附加的真实世界对象615,并且基于附加的真实世界对象的身份和/或可检测特征,该过程分配一个或多个属性例如行为属性给所创建的虚拟对象501,例如如结合图2的步骤S3、S5-S6所述。
可以与获得数字表示同时检测附加的真实世界对象;可替代地,真实世界对象的检测可以在获得数字表示之前或之后发生。可以通过任何合适的检测机制来检测附加的真实世界对象。在图6的示例中,数据处理系统包括RFID读取器617,并且附加的真实世界对象615附接到相应的RFID标签616,基于该RFID标签616,当放置在RFID读取器617的检测范围内时,附加的真实世界对象是可检测和可识别的。应当理解,附加的真实世界对象可以替代地通过另一合适的检测机制来检测,例如基于QR码。因此,该系统可以包括用于检测附加的真实世界对象的检测设备。检测设备可以是相机、使用射频信号的检测设备、条形码扫描仪等。
例如,在扫描真实世界对象506时,用户可以放置多个小雕像615,每个附接到RFID读取器上的RFID标签616。每个标签616可以表示具有相应数字行为属性的虚拟角色。然后,该过程可以将由标签616表示的虚拟角色的行为属性的组合(例如随机混合)分配给基于扫描的数字表示创建的虚拟对象506。可以自动地或以用户辅助的方式执行基于检测到的附加真实世界对象的属性的分配。例如,在一实施例中,标签616的检测可以使得由它们表示的属性在可选属性的菜单中可用,用户可以从中选择要分配给所创建的虚拟对象501的一组属性。
在一些实施例中,该过程可以基于检测到的附加真实世界对象创建一个或多个附加虚拟对象。附加虚拟对象可以使一个或多个属性与它们相关,并且该过程可以基于附加虚拟对象的属性将一个或多个属性分配给虚拟对象501。
通常,属性的分配可以基于来自与系统相关的一个或多个电子设备的附加输入,而不是用于扫描真实世界对象的传感器设备。例如,在扫描期间,系统可以从一个或多个电子设备获得当前状态或其他输入,并使用所获得的输入来向创建的虚拟对象分配新的(或修改现有的)属性。这可以自动完成或以用户辅助的方式完成。例如,系统可以基于其接收的参数从电子设备获得输入并使用户可以使用新的/修改的属性进行手动分配。
在一特定示例中,该系统可以包括虚拟现实系统。在扫描真实世界对象以创建相应虚拟对象的过程中,系统可以提示用户定义虚拟对象在虚拟环境中如何移动,并且用户可以执行由虚拟现实系统的运动传感设备感测的移动。然后可以将捕获的移动分配给虚拟对象。
可以从其获得输入并用于定义所创建的虚拟对象的属性的电子设备的示例包括与图像捕获设备分离的电子设备,比如可以集成到与图像捕获设备相同外壳中或体现为物理上独立设备的附加传感器。电子设备的示例包括RFID读取器、VR系统、移动设备、游戏控制器、操纵杆、方向盘游戏控制器、智能电视、手持设备等。
图7-9示出了用于创建虚拟对象的系统的进一步示例。
特别地,图7示出了与结合图1描述相类似的玩具构造系统的实施例。该系统包括计算机101、输入设备102、显示器103、包括相机104的传感器设备、包括转盘105的对象支撑件以及由一个或多个玩具构造元件构建的玩具构造模型106,所有这些都是如结合图1所述。
计算机101可以是个人计算机、台式计算机、膝上型计算机,手持计算机比如平板电脑、智能手机等、游戏控制台、手持娱乐设备或任何其他适当可编程的计算机。计算机101包括处理器109比如中央处理单元(CPU)和一个或多个存储设备比如存储器、硬盘等,所有这些也都是如结合图1所述。
另外,计算机101包括附加信息源718,例如传感器或数据存储器,其可操作以提供指示与真实世界对象106不同的实体的一个或多个特性的输入。
计算机101上存储有适于模拟虚拟环境的程序,例如App或其他软件应用程序,以处理捕获的图像并创建如本文所述的虚拟对象。为此,计算机可以至少部分地基于从附加信息源718接收的输入将一个或多个属性分配给所创建的虚拟对象,如本文所述。
应当理解,附加信息源718可以集成到与计算机和/或显示器和/或图像捕获设备相同的外壳中。在其他实施例中,附加信息源可以是可连接到计算机的外围设备,例如通过有线或无线连接,或者传感器可以以其他方式通信地联接到计算机。
附加信息源718可以是传感器,其可操作以检测计算机的环境的属性,例如检测另一真实世界对象的存在,识别环境中的另一真实世界对象,检测另一真实世界对象的特性等。这种传感器的示例可以包括IR传感器、光传感器、接近传感器、RFID/NFC读取器、麦克风、相机和加速度计等。
可替代地,附加信息源718可以是数据存储设备或可操作以提供游戏会话数据和/或用户简档数据的另一设备。基于用户简档数据和/或游戏会话数据,计算机可以自动地为用户分配属性或使属性可用于用户手动分配。
用户简档数据的示例可以包括与社交网络相关的用户简档数据、用户帐户数据、客户帐户数据等。因此,计算机可以基于用户偏好、帐户活动、社交网络上的活动、先前购买等来分配属性(或使其可用于分配)。用户简档数据可以指示单个用户或一组用户(例如用户所属的社交网络组)的特性。例如,这种与组相关的数据可以包括与该组相关的在线活动中的组构件的成就、配色方案、徽章、旗帜等。
游戏会话数据的示例包括指示游戏状态、玩家进程、体验/健康点、虚拟环境中的当前位置等的数据。
图8示出了与结合图1描述相类似的玩具构造系统的另一实施例。该系统包括计算机101、输入设备102、显示器103、包括相机104的传感器设备、包括转盘105的对象支撑件以及由一个或多个玩具构造元件构建的玩具构造模型106,所有这些都是如结合图1所述。
另外,计算机101通信地联接到另一外部电子设备826,比如移动电话、智能电话、平板计算机或另一电子设备。连接827可以是短程无线连接,例如使用IR技术、RF信号、蓝牙、wifi等。
计算机101上存储有适于创建和控制虚拟环境的程序,例如App或其他软件应用程序,以处理捕获的图像并创建如本文所述的虚拟对象。为此,计算机可以至少部分地基于从电子设备826接收的输入将一个或多个属性分配给所创建的虚拟对象,如本文所述。从电子设备接收的输入可以指示电子设备本身的特性,例如设备的操作状态,指示由电子设备存储的数据,或者由电子设备接收的输入等。更具体地,从电子设备接收的输入可以指示以下中的一个或多个:来自电子设备的加速度计的输入、指示电子设备位置处的时间/日期/天气或其他环境属性的输入、健康数据、电子设备的GPS坐标或其他位置信息、关于存储在电子设备上或由电子设备执行的一个或多个程序/应用的信息或从其接收的数据、来自光传感器、麦克风、相机或电子设备的触摸屏的输入等。
例如,数字游戏可以在移动设备上运行,或者与移动设备联网,例如作为一组移动设备或作为游戏机/PC伴侣应app。
在一特定实施例中,用户扫描类似于生物的真实世界对象。在扫描过程期间,游戏参考移动设备数据参数,并基于来自移动设备的数据将属性分配给相应的虚拟生物。例如,游戏可以指示用户摇动移动设备以使该生物生气。游戏还可以注册当前时间是午夜并解锁该生物的“吸血鬼”属性。当设备的GPS位置可见时,该生物可以基于注册的位置说一种语言。
图9示出了与结合图1描述相类似的玩具构造系统的另一实施例。该系统包括计算机101、输入设备102、显示器103、包括相机104的传感器设备、包括转盘105的对象支撑件以及由一个或多个玩具构造元件构建的玩具构造模型106,所有这些都是如结合图1所述。
另外,计算机101通信地联接到计算机网络928,例如互联网。因此,计算机101可以包括适当的网络接口927,例如有线或无线网络适配器。
计算机101上存储有适于创建和控制虚拟环境的程序,例如App或其他软件应用程序,以处理捕获的图像并创建如本文所述的虚拟对象。为此,计算机可以至少部分地基于经由计算机网络928从远程主机926接收的输入将一个或多个属性分配给所创建的虚拟对象。经由计算机网络接收的输入的示例可以包括来自社交网络、在线游戏、互联网社区等的数据。
图10示出了用于创建虚拟对象的过程的另一示例。在初始步骤S1和S2中,该过程获得指示玩具构造模型或另一真实世界对象的视觉外观的数据,并从所获得的数据(例如从结合图2实施例的步骤S1和S2描述的数字图像)构建玩具构造模型的3D数字表示。3D数字表示可以是表面网格表示或另一种合适的3D数字表示。在图13所示的示例中,真实世界对象是以由多个玩具构造元件组装而成的小雕像1301的形式的玩具结构模型,例如元件类似于人物的腿部1319、小雕像的躯干部分1320、小雕像的头部1321、小雕像佩戴的装甲头盔1322以及由小雕像携带的多个附件1323和1324。应当理解,该过程还可以基于从其他类型的玩具构造元件构建的另一种类型的玩具构造模型来执行。
在步骤S1303中,该过程检测玩具构造模型的一个或多个玩具构造元件,例如基于已知玩具构造元件的库1325。特别地,已经认识到,出于创建虚拟对象的目的,可能不必识别模型的所有玩具构造元件,但是可能足以识别某些类型的玩具构造元件。特别是,虚拟对象的某些部分对于虚拟对象的特征的真实动画比其他部分更重要。例如,小雕像的躯干和/或腿部对于虚拟小雕像的运动的合适动画可能比例如头盔或附件更重要。类似地,汽车的车轮对于汽车的动画可能比例如底盘部分更重要。
因此,通过提供所选的已知玩具构造元件的库以及它们的特征,例如移动特征,允许创建在虚拟环境中表现出丰富行为的虚拟对象,同时减少与识别玩具构造模型的多个玩具构造元件相关的计算任务。已知玩具构造元件的库1325可以在其中存储已知玩具构造元件的3D表示,例如以表面网格表示、体素表示、CAD表示等形式,例如如WO2004/034333中所述。已知的玩具构造元件可以进一步存储有与它们相关的一个或多个属性,例如颜色、用于促进运动动画的骨架、一个或多个动画例程、一个或多个其他功能特征。
应当理解,玩具构造模型的玩具构造元件的子集的识别可以使用本领域已知的识别过程来执行,例如通过将已知玩具构造元件的3D模型与所获得的玩具构造模型的3D模型的部分匹配和/或通过使用神经网络或其他自适应的数据驱动技术,例如如WO2016/075081中所述。
在图10的示例中,该过程已经将小雕像的躯干部分1320检测为存储在已知躯干部分库中的已知躯干部分。可以理解的是,可替代地或另外,该过程可以识别其他已知部分,例如腿部1319。
在随后的步骤S1304中,该过程将已被识别为对应于已知玩具构造元件的玩具构造模型的3D数字表示的一部分替换为从库1325检索的已知玩具构造元件的相应3D表示。该替换在图10的右下方示意性地示出。
然后,可以将在步骤S1304中生成的如此修改的3D表示用作虚拟环境中的虚拟对象的3D表示。为此,已经替换3D表示的一部分的已知玩具构造元件的预定义属性可被自动分配给3D虚拟对象的相应部分。
然而,应当理解,该过程可以进一步允许通过本文描述的机制之一进行用户辅助分配属性。这些属性可以分配给由替换步骤1304产生的虚拟对象的一部分,因为这部分现在可以由用户容易地选择,例如如上面参考图4所述。可替代地或另外,可以将属性分配给用户选择的虚拟对象的其他部分。
通过已知元件替换3D表示的部分的示例包括:
-识别并替换小雕像的躯干。使已知部分动画的基础骨骼结构也与已添加以替换原始网格的部分相关。然后,用户可以手动选择躯干以分配其他属性,例如,“Ninja”或“强人(Strongman)”属性,定义躯干如何动画移动。腿部、头部等也可以这样做。
-识别并替换汽车或其他车辆上的车轮。车轮的旋转轴作为属性与已知车轮相关;用户可以定义其他属性,例如汽车的全局行为,用于定义汽车如何行驶以及轮胎被分配多少抓地力属性。
-识别并由已知元件替换具有图形标记的玩具构造元件。如上所述,识别部分的表面的方向信息也是已知的。然后,用户可以手动分配属性。例如,将水炮属性分配给具有图形火焰标记的元件可能导致喷洒的热水可在计算机游戏中融化冰。
在一些实施例中,该过程自动检测并替换颜色和/或图形标记,并允许用户通过属性手动控制与颜色或标记相关的特征的动画和显示。可以独立于玩具构造元件的任何识别来执行这种类型的识别和替换。与上述实施例不同,其中颜色或标记用作可选区域以应用属性,该实施例使用识别的标记作为动画的自动目标和/或识别的颜色作为视觉效果的自动目标。响应于用户选择(全局或局部),仍然可以应用效果或动画的选择。这些实施例的示例包括:
-识别生物眼睛上的图形标记,并将相应的动画目标覆盖在虚拟对象上。如果用户选择全局属性“愤怒的怪物”,则显示愤怒的眼睛动画。可替代地,用户可以在局部定义左眼将是“愤怒的怪物”而右边是“可爱的少女怪物”。
-识别生物上的颜色,并在区域上覆盖相应的动画目标。例如,用户可以在局部将“毛发”显示属性分配给所有绿色区域,并且绿色毛发看起来在绿色区域之外生长。全局地,用户可以将“蜜蜂”分配给整个对象,并且该过程将黄色和黑色“模糊”显示属性分配给不同颜色的区域。
图11A-D和图12-13示出了用于基于多个真实世界构造模型创建虚拟对象的过程的进一步示例,每个模型由相应的多个玩具构造元件构建。
为此,过程可以获得两个或更多个真实世界玩具构造模型的数字表示,例如借助于结合图1或7-9中的任何一个所述的系统,和/或例如通过执行结合图2描述的方法的步骤S1和S2。
特别地,图11A-D示出了获得第一和第二真实世界玩具构造模型的第一和第二数字表示的过程的示例,其中第一玩具构造模型是部分模型而第二玩具构造模型是包括第一个玩具构造模型作为子结构的完整模型。
图11A-B示出了第一部分玩具构造模型1130,而图11C-D示出了第二完整玩具构造模型1131。在该特定示例中,第一玩具构造模型包括选择相对简单、易于识别的玩具构造元件1132、1134、1135,其可通过类似接头连接1135彼此互连以形成骨架。骨架包括后骨元件1133和可移动肢体元件1132、1134。形成骨架的玩具构造元件1132、1134、1135还包括联接构件,其他装饰玩具构造元件可以附接到该联接构件上,例如图11B中所示的玩具构造元件1136。
第二玩具构造模型1131包括第一玩具构造模型,但附接有附加的装饰玩具构造元件。由此产生的第二玩具构造模型包括多个部件,这些部件可以相对于彼此移动,其中可用的运动由骨架元件1132、1134、1133及其相应的互连1135限定。在该示例中,装饰元件1136不贡献可用的运动。如从图11B和11D的比较可以看出,各个骨架元件及其互连可以从部分玩具构造模型1130容易地识别,而它们更难以从完整的玩具构造模型1131中辨别。然而,最终模型的视觉外观更容易从完整的玩具构造模型1131识别。
因此,该过程可以获得第一部分玩具构造模型1130的第一数字表示和第二完整玩具构造模型1131的第二数字表示。然后,该过程可以创建类似于第二玩具构造模型的虚拟对象,例如在该示例中是6腿生物。该过程可以进一步识别玩具构造元件1132、1134和1133和/或类似接头的连接器1135的位置和取向。基于该信息,该过程可以识别所创建的虚拟对象中的相应关节点以便允许6腿生物的腿部动画。该过程甚至可以基于从第一数字表示获得的信息来定义所创建的虚拟对象的虚拟骨架。应当理解,该过程的其他实施例可以基于其他类型的可移动互连的骨架玩具构造元件,例如使用其他类型的可移动连接,而非类似接头的元件。
通常,第一部分玩具构造模型定义第二完整玩具构造模型的骨架和一组移动规则。该过程配置为基于部分玩具构造模型的数字表示来识别骨架和移动规则,并且将移动属性分配给基于第二完整玩具构造模型的数字表示而创建的虚拟对象。
因此,这可以在两阶段过程中完成,其中用户首先使用可识别的骨架元件(例如包括铰链和球形接头)构建和扫描简单的骨架,以限定可以使移动动画的区域。然后,用户添加更多装饰砖以完成模型的外观并重新扫描整个模型。计算机自动对齐扫描并使用第一次扫描作为“骨骼结构”来使第二次扫描动画。一系列动画模板(步行周期、跳跃、攻击等)甚至可以由用户映射到用户控件,或者计算机可以自动分配行为属性。
通常,在一些实施例中,该过程可以将第一真实世界对象的一个或多个部分映射到从第二真实世界对象创建的虚拟对象的相应部分,并确定第一真实世界对象的一个或多个部分的一个或多个特性。基于这些特性,该过程然后可以将一个或多个局部属性分配给所创建的虚拟对象的相应部分。
图12示出了从各个真实世界玩具构造模型的数字表示创建的虚拟对象在虚拟环境中彼此连接以形成组合的虚拟对象的过程的示例。
特别地,基于所获得的数字表示可靠地识别真实世界玩具构造模型的所有玩具构造元件可能是困难的,或者至少在计算上是昂贵的。因此,可能难以创建实际反映相应的真实世界玩具构造模型如何在符合玩具构造系统施加的构造规则的情况下彼此物理附接的组合虚拟对象。当数字表示是数字网格而不是所识别的玩具构造元件的表示时,虚拟对象的真实组合可能甚至更加困难。
因此,在一些实施例中,玩具构造组包括预定连接元件的子集(例如球形接头或咔嗒(click)铰链),并且该过程配置为当包括在玩具构造模型中时识别连接元件。为此,连接元件可以具有独特的颜色,或者它们可以有区别地装饰或以其他方式容易识别。当该过程识别所获得的数字表示中的连接元件时,该过程可以在与真实世界玩具构造模型中的所识别的连接元件的位置相对应的位置处将虚拟连接点(或“对齐(snap to)”点)分配给所创建的虚拟对象。因此,虚拟连接点可以定义可附接另一虚拟对象的位置,并且其可以定义虚拟对象组合成形成组合的虚拟对象时可以如何相对于彼此移动。这允许具有识别的连接点的数字表示(例如3D网格)在空间上被连接并且在虚拟环境中被动画。可以理解,连接元件的子集可以包括不同类型的连接元件,例如凹凸连接元件。连接元件可以形成模型中包括的玩具构造元件的真实子集,即玩具构造模型可以包括除连接元件之外的玩具构造元件。虚拟对象的连接点可以例如表示为如在WO2004/034333中所述。
图12中所示的过程最初获得真实世界对象1206的数字表示。该过程还检测连接元件1242或其至少可见部分1240,并在虚拟环境中创建虚拟对象1201,该虚拟环境显示在系统的显示器1203上,例如如结合图2的方法的步骤S4所述。该过程进一步为创建的虚拟对象分配虚拟连接点。该过程进一步获得另一真实世界对象1237的数字表示,检测连接元件1241或至少其可见部分1239,并在虚拟环境中创建虚拟对象1238,该虚拟环境显示在系统的显示器1203上。该过程然后可以创建组合的虚拟对象—在该示例中是包括引擎1238和轿厢1201的列车—其中列车基于在指定的连接点处虚拟地彼此附接的多个真实世界对象的数字表示。
因此,用户可以创建具有虚拟附接点的虚拟对象的存储库,使得不同的虚拟对象可以在虚拟世界中彼此互连,以便创建组合的虚拟模型。例如,这可以允许用户将虚拟附件附加到基础模型。
图13示出了识别连接点的过程的另一示例。在该示例中,识别不一定基于预定连接元件的子集,而是基于玩具构造模型的玩具构造元件的联接构件的检测。可以通过使用适当的识别过程的过程来检测联接构件,例如基于特征检测或本领域已知的其他计算机视觉技术。许多玩具构造元件具有可见的联接构件,用于接合玩具构造系统的其他玩具构造元件的相应的例如配合的联接构件。联接构件在玩具构造元件上的位置可遵循一组规则。例如,联接构件可以定位在规则网格的网格点上。对该组规则的了解可以有助于从所获得的玩具构造模型的数字表示中识别联接构件。此外,基于一个或多个识别的联接构件,该过程可以估计/推断模型内的其他有效/可能位置,其中联接构件可以根据玩具构造系统的规则组定位,例如相互之间的预定相对距离/位置。该过程甚至可以确定联接构件的可能位置而不检测实际的联接构件,例如通过检测足够大的平面以允许定位联接构件。
特别地,图13中所示的过程最初获得真实世界对象1306的数字表示。该过程还在真实世界对象的顶表面上检测一个或多个联接构件(在该示例中是可以例如使用椭圆检测来检测的旋钮状突起)1343。在该示例中,联接构件在顶表面上布置为规则的2D网格,如网格1340所示。基于一个或多个联接构件的检测,该过程可以建立联接构件的网格的网格位置。基于所获得的数字表示,该过程创建虚拟对象1301并将虚拟联接构件的虚拟网格形式的连接点添加到虚拟对象的顶表面,其中虚拟网格与检测到的联接构件一致。
该过程进一步获得另一真实世界对象1337的数字表示,检测一个或多个联接构件或至少表面(在该示例中为底表面),其与联接构件的网格1339一致。然后,该过程创建相应的虚拟对象1338,并为其分配虚拟联接构件的相应虚拟网格。
然后,该过程可以创建组合的虚拟对象,在该示例中是具有附接到其顶部的挖掘机臂1338的汽车1301。通过将各个虚拟对象1301和1338附加到另一虚拟对象来创建组合的虚拟对象,其中所创建的虚拟联接构件的网格定义虚拟对象可以如何彼此连接。
在以上和以下示例中,可以以用户辅助的方式执行从多个虚拟对象创建组合的虚拟对象。例如,用户(或该过程)可以选择要组合的两个虚拟对象,并且该过程可以突出显示两个虚拟对象上的可用连接点。然后,用户可以将一个虚拟对象定位在另一虚拟对象的附近,使所需的连接点彼此面对。这可以使虚拟对象在连接点处捕捉在一起以便形成组合的虚拟对象。
应当理解,基于所获得的真实世界玩具构造模型的数字表示而创建的虚拟对象可以与另一虚拟对象组合,而不管所述其他虚拟对象是如何被创建的。例如,可以从真实世界玩具构造模型创建其他虚拟对象,其可以预先安装有虚拟环境或以其他方式创建而不参考任何真实世界对象。
然而,另一虚拟对象可以包括一组虚拟连接点,其他虚拟对象特别是从真实世界玩具构造模型创建的虚拟对象可以连接到这些虚拟连接点。
图14中示出了这种情况的示例。在图14的示例中,该过程在游戏系统的显示器1403上呈现先前创建的虚拟对象1401。虚拟对象定义了多个连接点1440,例如以规则的连接点网格的形式。虚拟对象的呈现可以基于用户选择等由游戏事件触发,比如游戏等级、任务等的开始或完成。虚拟连接点1440及其几何布置类似于真实世界玩具构造系统的真实世界联接构件。
该过程可以指示(方框1413)用户从现实世界玩具构造元件1436构建真实世界玩具构造模型1437,使得构建的玩具构造模型可连接到对应于所呈现的虚拟对象的虚拟连接点1440的一组联接构件。例如,可以指示用户构建玩具构造模型,使得其装配在对应于虚拟联接构件1440的网格的足迹1444内。在一些实施例中,可以指示用户在限定与虚拟对象的虚拟联接点1440对应的联接构件的基板或其他基础元件的顶部上构建玩具构造模型。
随后,如方框1445所示,该过程获得构建的真实世界玩具构造模型的数字表示,例如借助于结合图1或7-9中任何一个所述的系统,和/或例如通过执行结合图2描述的方法的步骤S1和S2。然后,该过程从所获得的数字表示创建虚拟对象1438,例如如结合图2的步骤S4所述。该过程进一步创建组合的虚拟对象作为虚拟对象1401和新创建的虚拟对象1438的组合,其中虚拟对象在虚拟对象1401的连接点1440处连接。为此,新创建的虚拟对象1438因此利用与虚拟对象1401的连接点1440配合的一组连接点来创建,例如如上所述。因此,基于所获得的真实世界对象1437的数字表示以及关于虚拟对象1401的信息(在该示例中为连接信息)来创建组合的虚拟对象。
许多数字游戏都包括演变元件,随着玩家的进步,虚拟对象在游戏过程中演变。虚拟对象的演变通常涉及虚拟对象的外观改变。当基于捕获的图像或用户构建的玩具模型的其他表示将虚拟对象插入到游戏中时,可能希望用户不需要完全重建模型并将其转换成虚拟对象太多次,即使用户实际上可能只对虚拟对象进行微调,例如在游戏级别期间,同时保留原始虚拟对象的属性。更令人愉快的流程是在级别的开头建立模型然后进行小的调整,例如以便克服整个级别的挑战。模型的重建可以意味着玩具构造元件被添加、带走和/或重新布置或者所有的组合。
图15示出了用户通过将真实世界玩具构造元件添加到先前用作用于先前虚拟对象的基础的真实世界玩具构造模型来创建更新的虚拟对象的过程的示例。
特别地,在方框1513中,该过程最初获得构建的真实世界玩具构造模型1506的数字表示并且从其创建虚拟对象,例如借助于结合图1或7-9中的任何一个所述的系统,和/或例如通过执行结合图2描述的方法的步骤S1、S2和S4。随后,用户将附加的玩具构造元件1536添加到真实世界玩具构造模型,以便创建更新的玩具构造模型1537。如方框1545所示,该过程然后获得更新的真实世界玩具构造模型1537的数字表示并且从其创建虚拟对象,例如借助于结合图1或7-9中的任何一个所述的系统,和/或例如通过执行结合图2描述的方法的步骤S1、S2和S4。
随后,如方框1546所示,该过程比较先前创建的虚拟对象和随后创建的虚拟对象,以便识别添加的部分。可以基于所获得的数字表示(点云、网格等)或相应虚拟对象的任何其他合适表示来执行该比较。添加的部分的识别还允许该过程识别原始虚拟对象1501的连接点1547,其中添加的部分已被添加到原始模型。因此,该过程可以创建虚拟对象,从该虚拟对象可以移除各个虚拟部分,如图15中的虚拟对象1501和虚拟部分1548所示。先前可能已经分配给原始虚拟对象的所有局部属性仍然可以保持分配给更新的虚拟对象。
图16示出了类似的过程,但是用户不是将玩具构造元件添加到基础模型,而是重新布置已形成原始模型的玩具构造元件,以便构建包括与原始模型相同的元件的更新的玩具构造模型。
先前已映射到原始虚拟对象(基于基础模型创建)的部分的局部属性然后可以由该过程重新映射到基于更新的玩具构造模型创建的更新的虚拟模型的相应元件。
特别地,在方框1651中,该过程最初获得构建的真实世界玩具构造模型1606的数字表示并且从其创建虚拟对象1601,例如借助于结合图1或7-9中的任何一个所述的系统,和/或例如通过执行结合图2描述的方法的步骤S1、S2和S4。真实世界玩具构造模型包括玩具构造元件1649和1650。在方框1652中,该过程将局部属性分配给所创建的虚拟对象的与真实世界模型的元件1649和1650相对应的部分,例如如结合图3和4所述。
随后,重新布置元件1649和1650,以便创建更新的玩具构造模型1637。如方框1653所示,该过程然后获得更新的真实世界玩具构造模型1637的数字表示并且从其创建虚拟对象1638,例如借助于结合图1或7-9中的任何一个所述的系统,和/或例如通过执行结合图2描述的方法的步骤S1、S2和S4。
随后,如方框1654-1655所示,该过程比较先前创建的虚拟对象1601和随后创建的虚拟对象1638,以便识别在原始模型中具有与其相关的虚拟属性的重新布置部分1649和1650。可以基于所获得的数字表示(点云、网格等)或相应虚拟对象的任何其他合适表示来执行该比较。当重新扫描模型时,该过程可以执行体积分析以查看是否存在相同(近似)体积的玩具构造元件。该过程进一步寻求识别先前具有分配给它们的属性的任何元件或特征。如果链接丢失,用户可以帮助重新分配。重新布置部分的识别允许该过程将来自原始虚拟对象1601的对应于重新布置的元件的部分的局部属性重新映射到更新的虚拟对象1638的对应于重新布置的元件的部分。
图17示出了该过程定义扫描的玩具构造模型的定制动画和显示状态的示例。为此,该过程组合重置或重建模型1706、1737的扫描序列(1751、1752),以像停止运动动画一样显示动画序列1701、1738。然后可以将该动画作为移动属性分配给虚拟对象。为此,该过程甚至可以将数字表示混合在一起以创建平滑动画。
在其他示例中,可以选择性地使用重置或重建模型的不同数字表示作为响应于游戏事件的虚拟模型的表示,例如响应用户输入。
这里描述的方法的实施例可以借助于包括若干不同元件的硬件来实现,和/或至少部分地借助于适当编程的微处理器来实现。
在列举了若干装置的权利要求中,这些装置中的几个可以由同一个元件、部件或硬件项来体现。仅在相互不同的从属权利要求中陈述或在不同实施例中描述的某些措施的事实并不表示这些措施的组合不能用于获益。
应该强调的是,当在本说明书中使用时,术语“包括”用于指定所述特征、元件、步骤或部件的存在,但不排除一个或多个其他特征、元件、步骤、部件或其组的存在或添加。

Claims (22)

1.一种由数据处理系统实现的用于在虚拟环境中创建虚拟对象的方法;该方法包括:
-获得真实世界对象的数字表示,该数字表示表示真实世界对象的形状的视觉外观;
-获得指示与真实世界对象不同的实体的一个或多个特性的输入;
-创建表示真实世界对象的虚拟对象;以及
-至少基于所获得的输入,将属性分配给所创建的虚拟对象。
2.根据权利要求1所述的方法;其中,所述实体是另一虚拟对象。
3.根据权利要求2所述的方法;其中,所述另一虚拟对象是基于另一真实世界对象的另一接收的数字表示创建的虚拟对象,另一数字表示表示另一真实世界对象的形状的视觉外观。
4.根据前述权利要求中任一项所述的方法,包括:
-获得第一真实世界对象的第一数字表示;
-获得第二真实世界对象的第二数字表示;
-创建虚拟对象,该虚拟对象的至少一部分具有对应于第二真实世界对象的外观;
-为虚拟对象分配属性;其中,至少部分地基于所获得的第一数字表示来确定该属性。
5.根据权利要求4所述的方法;其中,所述第一真实世界对象是由第一多个玩具构造元件构建的第一玩具构造模型;其中,所述第二真实世界对象是由第二多个玩具构造元件构建的第二玩具构造模型;其中,所述第一和第二多个玩具构造元件中的玩具构造元件每个包括配置成用于将玩具构造元件彼此可拆卸地互连的一个或多个联接构件。
6.根据权利要求5所述的方法;其中,所述第二多个玩具构造元件包括所述第一多个玩具构造元件。
7.根据权利要求4至6中任一项所述的方法;其中,所述属性指示虚拟对象的至少第一和第二状态;并且其中,该方法包括:
-表示虚拟对象的至少第一和第二状态;其中,所述第一状态基于获得的第一数字表示,所述第二状态基于获得的第二数字表示。
8.根据权利要求4至7中任一项所述的方法;其中,所述第一真实世界对象包括多个部分;并且其中,该方法包括:
-检测第一真实世界对象的至少第一部分,该第一部分具有第一特性;
-确定检测到的第一部分与所创建的虚拟对象的相应部分之间的对应关系;
-将属性分配给所创建的虚拟对象的相应部分,所分配的属性至少部分地基于第一特性。
9.根据权利要求8所述的方法;包括:
-检测可相对于彼此移动的第一真实世界对象的至少两个部分;
-确定所创建的虚拟对象中的相应两个部分;并且基于检测到的第一真实世界玩具构造模型的至少两个部分来表示所确定的相应两个部分相对于彼此的移动。
10.根据权利要求8所述的方法;其中,所述属性指示虚拟对象的相应部分的至少第一和第二状态;并且其中,该方法包括:
-表示虚拟对象的相应部分的至少第一和第二状态;其中,所述第一状态基于获得的第一数字表示,所述第二状态基于获得的第二数字表示。
11.根据权利要求4至10中任一项所述的方法;其中,所述属性指示虚拟对象的视觉外观;并且其中,该方法包括:
-将虚拟对象表示为组合的虚拟对象,其由类似于第一真实世界对象的第一对象部分和类似于第二真实世界对象的第二对象部分组合。
12.根据权利要求11所述的方法;包括:
-基于所获得的第一数字表示,检测第一真实世界对象的第一连接元件;
-基于所获得的第二数字表示,检测第二真实世界对象的第二连接元件,所述第二连接元件能够接合所述第一连接元件,以便将第一和第二真实世界对象彼此互连;
其中,所述第一和第二对象部分在对应于第一和第二真实世界对象的相应第一和第二连接元件的相应第一和第二虚拟连接元件处互连。
13.根据前述权利要求中任一项所述的方法;包括控制计算机生成的虚拟环境中的虚拟对象以具有基于一个或多个分配的属性的行为。
14.根据前述权利要求中任一项所述的方法;包括存储虚拟对象,以便独立于真实世界对象的存在使虚拟对象在虚拟环境中可用。
15.根据前述权利要求中任一项所述的方法;其中,获得数字表示包括从传感器设备接收输入数据,输入数据指示真实世界对象的视觉外观;并且其中,获得指示与真实世界对象不同的实体的一个或多个特性的输入包括从与传感器设备不同的检测设备接收所述输入。
16.根据权利要求15所述的方法;其中,所述实体包括所述检测设备,并且其中,所述特性是所述检测设备的特性。
17.根据权利要求15所述的方法;其中,所述实体与所述检测设备不同;并且其中,所述检测设备可操作以检测所述特性。
18.一种用于创建虚拟对象的计算机实现的方法;该方法包括:
-获得真实世界对象的数字表示,该数字表示表示真实世界对象的形状的视觉外观;
-从接收的数字表示中检测真实世界对象的一个或多个特性;
-在虚拟环境中创建虚拟对象,该虚拟对象表示真实世界对象;以及
-基于检测到的一个或多个特性,将属性分配给虚拟环境。
19.根据前述权利要求中任一项所述的方法;其中,所获得的数字表示至少表示真实世界对象的表面几何形状。
20.一种数据处理系统,配置为执行根据权利要求1至19中任一项所述的方法的步骤。
21.一种计算机程序产品,包括程序代码装置,当在数据处理系统上执行时,所述程序代码装置适于使所述数据处理系统执行根据权利要求1至19中任一项所述的方法的步骤。
22.一种玩具构造系统,包括:
-如权利要求20所述的数据处理系统;和
-多个玩具构造元件,每个玩具构造元件包括一个或多个联接构件,所述联接构件配置成用于将玩具构造元件彼此可拆卸地互连,以便形成真实世界对象。
CN201780049708.8A 2016-07-05 2017-07-04 用于创建虚拟对象的方法 Pending CN109562294A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
DKPA201670492 2016-07-05
DKPA201670492 2016-07-05
DKPA201770277 2017-04-25
DKPA201770277 2017-04-25
PCT/EP2017/066598 WO2018007369A1 (en) 2016-07-05 2017-07-04 Method for creating a virtual object

Publications (1)

Publication Number Publication Date
CN109562294A true CN109562294A (zh) 2019-04-02

Family

ID=60901355

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780049708.8A Pending CN109562294A (zh) 2016-07-05 2017-07-04 用于创建虚拟对象的方法

Country Status (4)

Country Link
US (2) US11433310B2 (zh)
EP (1) EP3481520A1 (zh)
CN (1) CN109562294A (zh)
WO (1) WO2018007369A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110047152A (zh) * 2019-04-12 2019-07-23 腾讯科技(深圳)有限公司 基于虚拟环境的物体构建方法、装置及可读存储介质
CN111784271A (zh) * 2019-04-04 2020-10-16 腾讯科技(深圳)有限公司 基于虚拟对象的用户引导方法、装置、设备及存储介质
CN113769407A (zh) * 2021-09-18 2021-12-10 北京冰封互娱科技有限公司 控制指令的生成方法及装置、存储介质、电子装置

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DK180058B1 (en) 2018-07-06 2020-02-27 Lego A/S toy system
EP3337585B1 (en) 2015-08-17 2022-08-10 Lego A/S Method of creating a virtual game environment and interactive game system employing the method
CN108211354A (zh) * 2017-12-29 2018-06-29 网易(杭州)网络有限公司 3d游戏场景中虚拟资源的生成方法及装置
EP3724821A1 (en) * 2018-01-22 2020-10-21 Dakiana Research LLC Objective-effectuators in synthesized reality settings
US11029805B2 (en) * 2019-07-10 2021-06-08 Magic Leap, Inc. Real-time preview of connectable objects in a physically-modeled virtual space
US11314495B2 (en) * 2020-03-30 2022-04-26 Amazon Technologies, Inc. In-vehicle synthetic sensor orchestration and remote synthetic sensor service
US11696140B1 (en) * 2020-04-27 2023-07-04 United Services Automobile Association (Usaa) Authentication based on user interaction with images or objects
US11393153B2 (en) * 2020-05-29 2022-07-19 The Texas A&M University System Systems and methods performing object occlusion in augmented reality-based assembly instructions
US20230149801A1 (en) * 2021-11-15 2023-05-18 Nogili Ltd Gaming kit
US20240050854A1 (en) * 2022-08-09 2024-02-15 Reuven Bakalash Integrated Reality Gaming

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6290565B1 (en) * 1999-07-21 2001-09-18 Nearlife, Inc. Interactive game apparatus with game play controlled by user-modifiable toy
US20020196250A1 (en) * 2001-06-20 2002-12-26 Gateway, Inc. Parts assembly for virtual representation and content creation
CN101675458A (zh) * 2007-03-16 2010-03-17 乐高公司 积木构件模型的组装说明的自动生成
CN102458595A (zh) * 2009-05-08 2012-05-16 三星电子株式会社 在虚拟世界中控制对象的系统、方法和记录介质
CN102713931A (zh) * 2009-08-04 2012-10-03 艾修视力科技有限公司 用于对象提取的系统和方法
CN103582902A (zh) * 2011-06-06 2014-02-12 微软公司 向现实世界对象的虚拟表示添加属性
GB201419928D0 (en) * 2014-11-10 2014-12-24 Velic Marko System and method for toy recognition and detection based on convolutional neural networks
US20150058229A1 (en) * 2013-08-23 2015-02-26 Nantmobile, Llc Recognition-based content management, systems and methods
WO2015185629A2 (en) * 2014-06-06 2015-12-10 Lego A/S Interactive game apparatus and toy construction system

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5815147A (en) 1996-06-07 1998-09-29 The Trustees Of The University Of Pennsylvania Virtual play environment for disabled children
US6259815B1 (en) * 1999-03-04 2001-07-10 Mitsubishi Electric Research Laboratories, Inc. System and method for recognizing scanned objects with deformable volumetric templates
US8023724B2 (en) 1999-07-22 2011-09-20 Photon-X, Inc. Apparatus and method of information extraction from electromagnetic energy based upon multi-characteristic spatial geometry processing
US7439972B2 (en) 2002-10-11 2008-10-21 Lego A/S Method of generating a computer readable model
US20050128212A1 (en) 2003-03-06 2005-06-16 Edecker Ada M. System and method for minimizing the amount of data necessary to create a virtual three-dimensional environment
US7596473B2 (en) * 2003-05-20 2009-09-29 Interlego Ag Method of constructing a virtual construction model
US7095418B2 (en) 2003-10-30 2006-08-22 Sensable Technologies, Inc. Apparatus and methods for texture mapping
US7397464B1 (en) 2004-04-30 2008-07-08 Microsoft Corporation Associating application states with a physical object
HUP0600879A2 (en) 2006-11-28 2008-06-30 Adam Dalnoki System and method for moving real objects through operations performed in a virtual environment
US8128500B1 (en) 2007-07-13 2012-03-06 Ganz System and method for generating a virtual environment for land-based and underwater virtual characters
US8902227B2 (en) 2007-09-10 2014-12-02 Sony Computer Entertainment America Llc Selective interactive mapping of real-world objects to create interactive virtual-world objects
WO2009100051A1 (en) * 2008-02-04 2009-08-13 Polchin George C Physical data building blocks system for video game interaction
US20090271436A1 (en) 2008-04-23 2009-10-29 Josef Reisinger Techniques for Providing a Virtual-World Object Based on a Real-World Object Description
US8639666B2 (en) 2008-09-05 2014-01-28 Cast Group Of Companies Inc. System and method for real-time environment tracking and coordination
US9824495B2 (en) 2008-09-11 2017-11-21 Apple Inc. Method and system for compositing an augmented reality scene
KR101490548B1 (ko) 2008-12-05 2015-02-05 소우셜 커뮤니케이션즈 컴퍼니 실시간 커널
US8754886B2 (en) * 2008-12-29 2014-06-17 Intel Corporation Systems and methods for transporting physical objects from real physical life into virtual worlds
US9595108B2 (en) * 2009-08-04 2017-03-14 Eyecue Vision Technologies Ltd. System and method for object extraction
US8531463B2 (en) 2009-08-10 2013-09-10 Dem Solutions Limited Method and apparatus for discrete element modeling with a virtual geometry object
US8795072B2 (en) 2009-10-13 2014-08-05 Ganz Method and system for providing a virtual presentation including a virtual companion and virtual photography
US20130052907A1 (en) 2010-10-04 2013-02-28 Tech 4 Kids Inc. Child's Activity Toy
US10315119B2 (en) * 2011-05-17 2019-06-11 Activision Publishing, Inc. Video game with concurrent processing of game-related physical objects
US9827507B2 (en) * 2011-05-23 2017-11-28 Lego A/S Toy construction system for augmented reality
WO2014010004A1 (ja) * 2012-07-13 2014-01-16 株式会社ソニー・コンピュータエンタテインメント 入力装置、情報処理システム、情報処理装置、および情報処理方法
US9514570B2 (en) 2012-07-26 2016-12-06 Qualcomm Incorporated Augmentation of tangible objects as user interface controller
US20140253540A1 (en) 2013-03-07 2014-09-11 Yoav DORI Method and system of incorporating real world objects into a virtual environment
US9675895B2 (en) 2013-03-13 2017-06-13 Hasbro, Inc. Three way multidirectional interactive toy
US9651525B2 (en) 2013-06-27 2017-05-16 TecScan Systems Inc. Method and apparatus for scanning an object
US9575321B2 (en) 2014-06-09 2017-02-21 Osterhout Group, Inc. Content presentation in head worn computing
US9555326B2 (en) * 2014-03-11 2017-01-31 Microsoft Technology Licensing, Llc Gaming system for modular toys
WO2015188011A1 (en) 2014-06-04 2015-12-10 Quantum Interface, Llc. Dynamic environment for object and attribute display and interaction
BR112017004783A2 (pt) 2014-09-10 2017-12-12 Hasbro Inc sistema de brinquedo com digitalizador operado manualmente
US10646780B2 (en) 2014-10-02 2020-05-12 Lego A/S Game system
US9478109B2 (en) 2014-12-29 2016-10-25 Immersion Corporation Virtual sensor in a virtual environment
US10089772B2 (en) * 2015-04-23 2018-10-02 Hasbro, Inc. Context-aware digital play

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6290565B1 (en) * 1999-07-21 2001-09-18 Nearlife, Inc. Interactive game apparatus with game play controlled by user-modifiable toy
US20020196250A1 (en) * 2001-06-20 2002-12-26 Gateway, Inc. Parts assembly for virtual representation and content creation
CN101675458A (zh) * 2007-03-16 2010-03-17 乐高公司 积木构件模型的组装说明的自动生成
CN102458595A (zh) * 2009-05-08 2012-05-16 三星电子株式会社 在虚拟世界中控制对象的系统、方法和记录介质
CN102713931A (zh) * 2009-08-04 2012-10-03 艾修视力科技有限公司 用于对象提取的系统和方法
CN103582902A (zh) * 2011-06-06 2014-02-12 微软公司 向现实世界对象的虚拟表示添加属性
US20150058229A1 (en) * 2013-08-23 2015-02-26 Nantmobile, Llc Recognition-based content management, systems and methods
WO2015185629A2 (en) * 2014-06-06 2015-12-10 Lego A/S Interactive game apparatus and toy construction system
GB201419928D0 (en) * 2014-11-10 2014-12-24 Velic Marko System and method for toy recognition and detection based on convolutional neural networks

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111784271A (zh) * 2019-04-04 2020-10-16 腾讯科技(深圳)有限公司 基于虚拟对象的用户引导方法、装置、设备及存储介质
CN111784271B (zh) * 2019-04-04 2023-09-19 腾讯科技(深圳)有限公司 基于虚拟对象的用户引导方法、装置、设备及存储介质
CN110047152A (zh) * 2019-04-12 2019-07-23 腾讯科技(深圳)有限公司 基于虚拟环境的物体构建方法、装置及可读存储介质
CN110047152B (zh) * 2019-04-12 2022-05-17 腾讯科技(深圳)有限公司 基于虚拟环境的物体构建方法、装置及可读存储介质
US11911697B2 (en) 2019-04-12 2024-02-27 Tencent Technology (Shenzhen) Company Limited Virtual-environment-based object construction method and apparatus, computer device, and computer-readable storage medium
CN113769407A (zh) * 2021-09-18 2021-12-10 北京冰封互娱科技有限公司 控制指令的生成方法及装置、存储介质、电子装置
CN113769407B (zh) * 2021-09-18 2024-01-09 北京冰封互娱科技有限公司 控制指令的生成方法及装置、存储介质、电子装置

Also Published As

Publication number Publication date
US20190240581A1 (en) 2019-08-08
WO2018007369A1 (en) 2018-01-11
US20220362674A1 (en) 2022-11-17
US11779846B2 (en) 2023-10-10
EP3481520A1 (en) 2019-05-15
US11433310B2 (en) 2022-09-06

Similar Documents

Publication Publication Date Title
CN109562294A (zh) 用于创建虚拟对象的方法
US11938404B2 (en) Method of creating a virtual game environment and interactive game system employing the method
US10089772B2 (en) Context-aware digital play
WO2017029279A2 (en) Method of creating a virtual game environment and interactive game system employing the method
US9224231B2 (en) Augmented reality system indexed in three dimensions
US9754419B2 (en) Systems and methods for augmented reality preparation, processing, and application
CN105188516B (zh) 用于增强和虚拟现实的系统与方法
JP6262127B2 (ja) 拡張現実向けの玩具構築システム
CN109069929B (zh) 用于玩具识别的系统和方法
CN109641150A (zh) 用于创建虚拟对象的方法
CN110517355A (zh) 用于照明混合现实对象的环境合成
CN102194105A (zh) 用于人体跟踪的代表训练数据
US20230065252A1 (en) Toy system and a method of operating the toy system
CN109196303A (zh) 玩具扫描仪
CN112449611A (zh) 玩具系统
Barros et al. Balanced civilization map generation based on open data
CN115413352A (zh) 计算机系统、虚拟模型生成控制方法及程序
Komulainen et al. Navigation and tools in a virtual crime scene
CN116850575A (zh) 一种可实现虚实交互的娱乐系统
Jędrasiak et al. Interactive application using augmented reality and photogrammetric scanning
Briclot The Art of Remember Me
Harju Environment Design by using real-world location in Unity Engine
Rossman Simulating a Mixed Reality Memory Palace
Charpentier Accurate 3D Rigged Avatar Generation with a Kinect
Davis Producing Computer Animation: From Concept to Finished Product

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination