CN109641150B - Method for creating virtual objects - Google Patents

Method for creating virtual objects Download PDF

Info

Publication number
CN109641150B
CN109641150B CN201780050088.XA CN201780050088A CN109641150B CN 109641150 B CN109641150 B CN 109641150B CN 201780050088 A CN201780050088 A CN 201780050088A CN 109641150 B CN109641150 B CN 109641150B
Authority
CN
China
Prior art keywords
virtual object
virtual
user
toy construction
elements
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.)
Active
Application number
CN201780050088.XA
Other languages
Chinese (zh)
Other versions
CN109641150A (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 CN109641150A publication Critical patent/CN109641150A/en
Application granted granted Critical
Publication of CN109641150B publication Critical patent/CN109641150B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating three-dimensional [3D] models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating three-dimensional [3D] models or images for computer graphics
    • G06T19/20Editing of three-dimensional [3D] images, e.g. changing shapes or colours, aligning objects or positioning parts
    • 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
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/6009Methods for processing data by generating or executing the game program for importing or creating game content, e.g. authoring tools during game development, adapting content to different platforms, use of a scripting language to create content
    • A63F2300/6018Methods for processing data by generating or executing the game program for importing or creating game content, e.g. authoring tools during game development, adapting content to different platforms, use of a scripting language to create content where the game content is authored by the player, e.g. level editor or by game device at runtime, e.g. level is created from music data on CD
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/69Involving elements of the real world in the game world, e.g. measurement in live races, real video

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Architecture (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Processing Or Creating Images (AREA)

Abstract

一种用于创建虚拟对象的计算机实现的方法;该方法包括:接收真实世界对象的视觉外观的数字表示;基于接收的数字表示创建具有视觉外观的虚拟对象;选择虚拟对象的一部分;以及将一个或多个属性分配给虚拟对象的所选部分。

Figure 201780050088

A computer-implemented method for creating a virtual object; the method comprising: receiving a digital representation of a visual appearance of a real-world object; creating a virtual object having the visual appearance based on the received digital representation; selecting a portion of the virtual object; or multiple properties assigned to the selected part of the virtual object.

Figure 201780050088

Description

用于创建虚拟对象的方法Methods for creating dummy objects

技术领域technical field

本发明涉及一种基于真实世界对象的数字表示来创建虚拟对象的计算机实现的方法,比如由玩具构造系统的玩具构造元件构建的玩具构造模型。The present invention relates to a computer-implemented method of creating virtual objects based on digital representations of real-world objects, such as toy construction models constructed from toy construction elements of a toy construction system.

背景技术Background technique

玩具构造系统已为人所知数十年。多年来,简单的箱形构建块已经补充了具有特定外观或者机械或电气功能的其他构造元件,以增强游戏价值。这些功能包括例如电机、开关和灯,以及可编程处理器,其可接受来自传感器的输入并且可响应接收的传感器输入激活功能元件。Toy construction systems have been known for decades. Over the years, simple box-shaped building blocks have been supplemented with other building elements with specific looks or mechanical or electrical functions to enhance play value. These functions include, for example, motors, switches, and lights, and programmable processors that can accept input from sensors and activate functional elements in response to received sensor inputs.

已经进行了多次尝试以通过真实世界的物理玩具来控制虚拟游戏。Several attempts have been made to control virtual games through real-world physical toys.

例如,US2011/298922公开了一种用于提取物理对象的图像的系统。所提取的图像可以在显示设备上数字地表示为虚拟世界或视频游戏的一部分,其中禁止虚拟世界和/或视频游戏的对象是根据真实世界中的构造组来设计和构建的。然而,在许多视频游戏或其他虚拟环境中,期望提供体验丰富行���的������虚拟对象。For example, US2011/298922 discloses a system for extracting images of physical objects. The extracted images may be digitally represented on a display device as part of a virtual world or video game, where objects prohibiting the virtual world and/or video game are designed and constructed according to constructs in the real world. However, in many video games or other virtual environments, it is desirable to provide three-dimensional virtual objects that experience rich behaviors.

根据至少一个方面,因此期望提供一种用于创建三维虚拟对象的过程,该三维虚拟对象以用户友好的方式展示来自真实世界对象的丰富功能行为。特别地,希望提供这样一种方法,其中不要求用户经历大量步骤来配置和修改所得到的虚拟对象,例如其中虚拟对象的创建以至少部分自动化的方式执行,仅需要很少的用户交互。According to at least one aspect, it is therefore desirable to provide a process for creating three-dimensional virtual objects that exhibit rich functional behavior from real-world objects in a user-friendly manner. In particular, it is desirable to provide a method in which the user is not required to go through numerous steps to configure and modify the resulting virtual object, eg, in which the creation of the virtual object is performed in an at least partially automated manner, requiring little user interaction.

WO2015/185629公开了一种玩具构建系统,其包括多个玩具构造元件和图像捕获装置,该图像捕获装置可操作以捕获由一个或多个所述玩具构造元件构建的玩具构造模型的一个或多个图像。该现有技术系统还包括处理器,该处理器配置为确定一个或多个视觉属性参数,所述视觉属性参数指示可从玩具构造模型的颜色、形状和尺寸中的一个或多个导出的相应视觉属性。处理器还配置为在计算机生成的虚拟环境中创建虚拟对象,并且基于所确定的一个或多个视觉属性参数来控制计算机生成的虚拟环境中的虚拟对象以具有行为。WO2015/185629 discloses a toy construction system comprising a plurality of toy construction elements and an image capture device operable to capture one or more of a toy construction model constructed from one or more of said toy construction elements image. The prior art system also includes a processor configured to determine one or more visual attribute parameters indicative of corresponding values derivable from one or more of color, shape, and size of the toy construction model visual properties. The processor is also configured to create virtual objects in the computer-generated virtual environment, and to control the virtual objects in the computer-generated virtual environment to have behaviors based on the determined one or more visual property parameters.

根据至少一个方面,期望提供一种方法和系统,其允许从真实世界的对象(例如从真实世界的玩具构造模型)以用户友好且可靠准确的方式创建三维虚拟对象。特别地,期望提供易于使用并且提供虚拟对象的3D表示的方法和系统,所述虚拟对象在诸如视频游戏的虚拟环境中具有高度的功能。还期望提供准确表示相应真实世界对象的3D形状的虚拟对象。According to at least one aspect, it is desirable to provide a method and system that allows for the creation of three-dimensional virtual objects from real-world objects (eg, constructing models from real-world toys) in a user-friendly and reliable and accurate manner. In particular, it is desirable to provide methods and systems that are easy to use and provide 3D representations of virtual objects that are highly functional in virtual environments such as video games. It is also desirable to provide virtual objects that accurately represent the 3D shape of the corresponding real world object.

通常希望提供一种增强系统的教育和/或游戏价值的玩具构造系统。还希望提供一种玩具构造系统,其中一组构造元件可以容易地用在不同的玩具构造模型中和/或与现有的玩具构造元件组合使用。此外,希望提供一种玩具构造系统,其允许用户特别是儿童以用户友好的有效且灵活和可靠的方式构造多个玩具模型。特别地,希望提供一种玩具构造系统,其允许在诸如游戏系统的虚拟环境中创建虚拟对象的用户友好且灵活的方式。It is generally desirable to provide a toy construction system that enhances the educational and/or play value of the system. It would also be desirable to provide a toy construction system in which a set of construction elements can be easily used in different toy construction models and/or in combination with existing toy construction elements. Furthermore, it would be desirable to provide a toy construction system that allows a user, especially a child, to construct a plurality of toy figures in a user-friendly efficient and flexible and reliable manner. In particular, it would be desirable to provide a toy construction system that allows a user-friendly and flexible way of creating virtual objects in virtual environments, such as gaming systems.

这里公开的本发明的各个方面可以解决现有技术系统的至少一些缺点。Various aspects of the invention disclosed herein may address at least some of the disadvantages of prior art systems.

发明内容SUMMARY OF THE INVENTION

根据第一方面,这里公开了一种用于创建虚拟对象的计算机实现的方法;该方法包括:According to a first aspect, disclosed herein is a computer-implemented method for creating a virtual object; the method comprising:

-获得真实世界对象的视觉外观的数字表示;- obtain a digital representation of the visual appearance of real-world objects;

-基于接收的数字表示创建具有视觉外观的虚拟对象;- creation of virtual objects with a visual appearance based on the received digital representation;

-选择虚拟对象的一部分;以及- select part of the virtual object; and

-将一个或多个属性分配给虚拟对象的所选部分。- Assign one or more properties to the selected part of the virtual object.

因此,真实世界对象的一个或多个捕获图像或真实世界对象的视觉外观的另一种形式的数字表示可以由执行该方法的处理器用作用于在虚拟环境中生成具有用户定义的外观和属性的虚拟对象的基础。例如,用户可以创建真实世界玩具构造模型或以其他方式选择或创建类似于资产的真实世界对象,以用作计算机生成的虚拟环境中的虚拟对象。该方法为用户提供灵活且易于理解且易于使用的机制,用于影响虚拟环境中的虚拟对象的期望外观。Thus, one or more captured images of a real-world object or another form of digital representation of the visual appearance of the real-world object may be used by a processor executing the method for generating a user-defined appearance and attributes in a virtual environment The base of virtual objects. For example, a user may create a real-world toy construction model or otherwise select or create an asset-like real-world object for use as a virtual object in a computer-generated virtual environment. The method provides the user with a flexible and easy-to-understand and easy-to-use mechanism for influencing the desired appearance of virtual objects in the virtual environment.

特别地,当属性分配给虚拟对象的各个部分时,可以创建具有丰富功能行为的虚拟对象。因此,属性可以与相对于虚拟对象的3D表示的位置相关,例如虚拟对象的表面上的位置。例如,该过程可以创建虚拟对象的功能元件,比如可移动部件、可以由用户控制的部件、可以改变外观的部件、可以与其他虚拟对象或与虚拟环境交互的部件等或者具有与之相关的其他形式的功能属性的部件。In particular, when properties are assigned to various parts of a virtual object, virtual objects with rich functional behavior can be created. Thus, attributes may relate to positions relative to a 3D representation of a virtual object, eg, a position on a surface of the virtual object. For example, the process may create functional elements of a virtual object, such as movable parts, parts that can be controlled by the user, parts that can change appearance, parts that can interact with other virtual objects or the virtual environment, etc. or have other related A widget with functional properties of the form.

由于用户可以从玩具构造元件构造这些对象,因此用户对于如何构造对象具有很大的自由度。Since the user can construct these objects from toy construction elements, the user has a great deal of freedom in how the objects are constructed.

真实世界对象的视觉外观的数字表示可以是指示真实世界对象的三维形状的合适表示。特别地,数字表示可以表示真实世界对象的点云和/或表面几何形状。数字表示还可以包括真实世界对象的可见特性的信息,例如一种或多种颜色、表面纹理等。例如,数字表示可以是表面表示,例如以3D网格的形式,或体积表示,例如真实世界对象的基于体素的表示。The digital representation of the visual appearance of the real-world object may be a suitable representation indicative of the three-dimensional shape of the real-world object. In particular, digital representations may represent point clouds and/or surface geometries of real-world objects. The digital representation may also include information about the visible properties of the real-world object, such as one or more colors, surface textures, and the like. For example, the digital representation may be a surface representation, such as in the form of a 3D mesh, or a volumetric representation, such as a voxel-based representation of real-world objects.

该过程可以从合适的输入数据接收数字表示或创建数字表示,例如从可操作以捕获来���真实世界对象的辐射的一个或多个传感器设备接收的数据。传感器设备可包括一个或多个传感器,其检测光或其他形式的电磁辐射,比如由传感器设备的视场中的真实世界对象的表面反射的光或其他电磁辐射。传感器设备可包括传感器阵列,比如CCD芯片,或可操作以扫描视场的������传感器,或扫描的���个传感器的组合。因此,真实世界对象可以是被动的,因为它不需要主动发射任何声音、光、无线电信号、电信号等。此外,传感器设备可操作以无接触方式捕获辐射,而无需在传感器设备和真实世界对象之间建立任何电接触、通信接口等。The process may receive or create a digital representation from suitable input data, such as data received from one or more sensor devices operable to capture radiation from real-world objects. The sensor device may include one or more sensors that detect light or other forms of electromagnetic radiation, such as light or other electromagnetic radiation reflected by surfaces of real-world objects in the sensor device's field of view. The sensor device may include an array of sensors, such as a CCD chip, or a single sensor operable to scan the field of view, or a combination of multiple sensors that scan. Therefore, a real world object can be passive in that it does not need to actively emit any sound, light, radio signals, electrical signals, etc. Furthermore, the sensor device is operable to capture radiation in a contactless manner without any electrical contact, communication interface, etc. being established between the sensor device and the real world object.

在一些实施例中,传感器设备包括图像捕获设备,该图像捕获设备可操作以在真实世界对象放置在图像捕获设备的视场内(例如在合适的对象支撑件上)时捕获真实世界对象的两个或更多个图像,其中两个或多个图像是从相对于真实世界对象的不同视点拍摄的。每个图像可以是照片或图像捕获设备的视场的二维表示的另一种形式,该表示允许确定视场内的对象的形状和/或颜色和/或大小。图像可以包括2D像素阵列或其他阵列元素,每个阵列元素表示与视场内的点或方向相关的感测信息。感测信息可以包括接收的辐射或波的强度、接收的辐射或波的频率/波长、距离图、偏振图、表面法线图和/或其他合适的感测量。In some embodiments, the sensor device includes an image capture device operable to capture both sides of the real-world object when the real-world object is placed within the field of view of the image capture device (eg, on a suitable object support). one or more images, wherein two or more images are taken from different viewpoints relative to the real-world object. Each image may be a photograph or another form of a two-dimensional representation of the field of view of the image capture device that allows the shape and/or color and/or size of objects within the field of view to be determined. The image may include a 2D array of pixels or other array elements, each array element representing sensed information related to a point or direction within the field of view. Sensing information may include the intensity of the received radiation or wave, the frequency/wavelength of the received radiation or wave, a distance map, a polarization map, a surface normal map, and/or other suitable sensing measures.

因此,图像捕获设备可以包括响应于可见光、红外光等的一个或多个数字相机。例如,图像捕获设备可以包括两个数码相机,其适于在相对于对象支撑件的相应视点处,例如在相对于对象支撑件的相应高度处。图像捕获设备可以包括一个或多个深度相机,其可操作以还检测视场内相对于相机位置的各个点的距离信息。传感器设备的一些实施例可包括激光器。在一些实施例中,图像捕获设备配置为除了光强度数据(比如RGB数据)之外还捕获深度信息。在一些实施例中,图像捕获设备配置为捕获指示数字相机的视场内的一个或多个表面的表面法线的信息。例如,图像捕获设备可以配置为获得接收光的偏振数据。图像捕获设备和/或处理器可以配置为从所获得的偏振数据确定局部表面法线。捕获的表面法线也可以基于检测到的转盘相对于相机的倾斜或其他位移而变换为世界坐标系。能够检测表面法线的相机传感器的示例包括在美国专利号8023724中公开的系统。用于确定表面法线的技术的其他示例包括在Wan-Cun Ma等人的“Rapid Acquisition of Specular andDiffuse Normal Maps from Polarized Spherical Gradient Illumination”,Eurographics Symposium on Rendering(2007),Jan Kautz and Sumanta Pattanaik(Editors)中描述的技术。传感器设备可以输出指示捕获的辐射(例如一个或多个捕获的图像(例如作为数字图像或其他数据图))的模拟或数字信号作为视频流等。Thus, the image capture device may include one or more digital cameras responsive to visible light, infrared light, and the like. For example, the image capture device may comprise two digital cameras adapted to be at respective viewpoints relative to the object support, eg at respective heights relative to the object support. The image capture device may include one or more depth cameras operable to also detect distance information for various points within the field of view relative to the positions of the cameras. Some embodiments of sensor devices may include lasers. In some embodiments, the image capture device is configured to capture depth information in addition to light intensity data, such as RGB data. In some embodiments, the image capture device is configured to capture information indicative of surface normals of one or more surfaces within the field of view of the digital camera. For example, the image capture device may be configured to obtain polarization data of the received light. The image capture device and/or processor may be configured to determine local surface normals from the obtained polarization data. The captured surface normals can also be transformed to the world coordinate system based on the detected tilt or other displacement of the turntable relative to the camera. An example of a camera sensor capable of detecting surface normals includes the system disclosed in US Pat. No. 8,023,724. Other examples of techniques for determining surface normals are included in Wan-Cun Ma et al., "Rapid Acquisition of Specular and Diffuse Normal Maps from Polarized Spherical Gradient Illumination", Eurographics Symposium on Rendering (2007), Jan Kautz and Sumanta Pattanaik (Editors ) described in . The sensor device may output an analog or digital signal indicative of the captured radiation (eg, one or more captured images (eg, as a digital image or other data map)) as a video stream or the like.

用于创建数字表示的过程可以包括用于基于捕获的辐射(例如基于捕获的图像)创建3D数字表示的多阶段过程的多个阶段。在一些实施例中,该过程使用合适的方案用于传感器姿态估计,例如基于布置在上面放置有真实世界对象的转盘上的非重复彩色图案。然后可以宏观地和/或通过距离到边缘测量对彩色图案进行图像处理。其他实施例可以使用标记。The process for creating the digital representation may include multiple stages of a multi-stage process for creating a 3D digital representation based on captured radiation (eg, based on captured images). In some embodiments, the process uses a suitable scheme for sensor pose estimation, eg, based on non-repeating colored patterns arranged on a turntable on which real-world objects are placed. The color pattern can then be imaged macroscopically and/or by distance-to-edge measurement. Other embodiments may use markers.

因此,该过程可以包括从光强度数据和/或从其他感测数据(比如深度数据,例如以一个或多个深度图的形式)、从偏振数据和/或表面法线数据或其组合来创建3D数字表示。该过程可以使用来自运动技术、空间雕刻技术或其他合适技术的结构。如果传感器提供检测到的表面法线的场,则这些可以用于检测标记特征,例如边缘或角部或者具有表面法线方向突然变化的其他特征,用于运动过程中的结构。在其他实施例中,检测到的表面法线可用于将对象的体素表示(例如通过空间雕刻过程获得)变换为精确的表面网格。通常,3D数字表示可以包括任何合适类型的表示,例如多边形的表面网格、体素表示等,或其组合。Thus, the process may include creating from light intensity data and/or from other sensed data (such as depth data, eg in the form of one or more depth maps), from polarization data and/or surface normal data, or a combination thereof 3D digital representation. The process may use structures from motion techniques, space sculpting techniques, or other suitable techniques. If the sensors provide a field of detected surface normals, these can be used to detect marker features, such as edges or corners or other features with abrupt changes in the direction of the surface normal, for structures during motion. In other embodiments, the detected surface normals may be used to transform a voxel representation of an object (eg, obtained by a spatial sculpting process) into an accurate surface mesh. In general, the 3D digital representation may include any suitable type of representation, such as a surface mesh of polygons, a voxel representation, etc., or a combination thereof.

该过程创建虚拟对象并将虚拟对象的外观的三维(3D)数字表示与虚拟对象相关,以允许在虚拟环境内呈现虚拟对象。三维表示可以是获得的真实世界对象的数字表示或从其导出的三维表示。例如,本文公开的方法的一些实施例可以处理所接收的数字表示以创建虚拟对象的数字表示。该处理的示例可以包括以下中的一个或多个:空间分辨率的变化、缩放、一种或多种颜色的修改、平滑操作等。虚拟对象的���觉外观的数字表示可以是三维图形表示的形式。The process creates and associates a three-dimensional (3D) digital representation of the virtual object's appearance with the virtual object to allow the virtual object to be rendered within a virtual environment. The three-dimensional representation may be a digital representation of an obtained real-world object or a three-dimensional representation derived therefrom. For example, some embodiments of the methods disclosed herein may process received digital representations to create digital representations of virtual objects. Examples of this processing may include one or more of the following: changes in spatial resolution, scaling, modification of one or more colors, smoothing operations, and the like. The digital representation of the visual appearance of the virtual object may be in the form of a three-dimensional graphical representation.

在一些实施例中,该过程创建数据结构,其包括用于绘制虚拟对象的虚拟对象的表面表示。如果要在虚拟环境中使虚拟对象的移动动画,则创建虚拟对象的3D数字表示还可以包括创建表示骨骼骨架的数据结构,用于使虚拟对象动画。因此,创建可以包括基于检测到的玩具构造模型的形状和/或尺寸和/或颜色来创建表面表示以具有形状和/或尺寸和/或颜色,并且基于检测到的玩具构造模型的形状和/或尺寸来创建骨架以具有形状和尺寸。例如,创建骨架可以包括基于检测到的玩具构造模型的尺寸和形状来选择一组骨架模板中的一个和缩放该骨架模板;在一些实施例中,单个模板可能就足够了。例如,可以定义模板骨架,使得虚拟对象被动画以便类似于某种类型的图形,比如具有手臂和腿并且被动画为类似于行走的人物的人类形象,或者具有四条腿的动物,或者具有翅膀并进行飞行运动的鸟,或者被动画成进行游泳或滑动运动的鱼或蛇状人物。选择骨架模板可以自动执行,例如基于检测到的玩具构造模型的形状,和/或基于用户选择,例如选择要创建的角色类型,比如鱼、蛇、四足动物等。In some embodiments, the process creates a data structure that includes a surface representation of the virtual object used to draw the virtual object. If the movement of the virtual object is to be animated in the virtual environment, creating a 3D digital representation of the virtual object may also include creating a data structure representing a skeletal skeleton for animating the virtual object. Accordingly, creating may include creating a surface representation to have a shape and/or size and/or color based on the detected shape and/or size and/or color of the toy construction model, and based on the detected shape and/or size and/or color of the toy construction model or dimensions to create a skeleton to have shape and dimension. For example, creating a skeleton may include selecting one of a set of skeleton templates and scaling the skeleton template based on the detected size and shape of the toy construction model; in some embodiments, a single template may be sufficient. For example, a template skeleton can be defined such that a virtual object is animated to resemble some type of figure, such as a human figure with arms and legs and animated to resemble a walking character, or an animal with four legs, or wings and Birds in flight motion, or fish or snake figures animated to swim or slide. Selecting a skeleton template may be performed automatically, eg, based on the detected toy construction model's shape, and/or based on user selection, eg, selecting the type of character to create, such as a fish, snake, quadruped, etc.

在一些实施例中,该过程创建虚拟对象的3D数字表示,使得虚拟对象-或仅虚拟对象的一部分-看起来是由玩具构造元件构建的。为此,该过程可以创建从对应于玩具构造系统的真实世界玩具构造元件的虚拟构造元件创建的虚拟构造模型。特别地,在一些实施例中,该过程创建数据结构,其包括关于多个构造元件及其相对于另一个和/或相对于合适的坐标系的相对位置和取向的信息。对于虚拟模型的每个构造元件,数据结构还可以包括关于构造元件的类型、其颜色和/或其他特征(比如重量、表面纹理等)的信息。在一些实施例中,表示虚拟构造元件的数据结构还包括关于构造元件的联接构件的类型和位置的信息。因此,虚拟模型的数据结构可以包括连接信息,该连接信息指示哪些虚拟构造元件经由它们各自的联接构件而彼此互连。在US7439972中描述了这种数据结构的示例。In some embodiments, the process creates a 3D digital representation of the virtual object such that the virtual object - or only a portion of the virtual object - appears to be constructed from toy construction elements. To this end, the process may create a virtual construction model created from virtual construction elements that correspond to real-world toy construction elements of the toy construction system. In particular, in some embodiments, the process creates a data structure that includes information about a plurality of construction elements and their relative positions and orientations with respect to one another and/or with respect to a suitable coordinate system. For each construction element of the virtual model, the data structure may also include information about the type of construction element, its color, and/or other characteristics (such as weight, surface texture, etc.). In some embodiments, the data structure representing the virtual construction element also includes information about the type and location of the coupling members of the construction element. Accordingly, the data structure of the virtual model may include connection information indicating which virtual construction elements are interconnected with each other via their respective linking members. An example of such a data structure is described in US7439972.

可替代地或另外,该过程可以创建具有对于系统的所有或一些玩具构造元件共有的可见重复特征比如联接构件的三维表示。在一实施例中,该过程沿着提取的二维视图的边缘检测玩具构造元件的联接构件的位置,并在三维图形表示的相应位置处添加相应联接构件的图形表示,例如在三维图形表示的圆周表面上的相应位置上。Alternatively or additionally, the process may create a three-dimensional representation with visible repeating features, such as coupling members, common to all or some of the toy construction elements of the system. In one embodiment, the process detects the positions of the coupling members of the toy construction elements along the edges of the extracted two-dimensional view, and adds the graphical representations of the corresponding coupling members at corresponding positions in the three-dimensional graphical representation, such as in the three-dimensional graphical representation. corresponding positions on the circumferential surface.

3D数字表示可以与视频游戏或其他形式的虚拟环境中的虚拟对象相关。这里描述的各个方面可以用各种游戏系统实现,例如计算机生成的虚拟环境。通常,虚拟对象可以表示虚拟角色,比如类似人类的角色、类似动物的角色、幻想生物等。可替代地,虚拟对象可以是无生命对象,比如建筑物、车辆、植物,武器等。在一些实施例中,虚拟对象(其在真实世界中的对应物是无生命的,例如汽车)可以用作虚拟环境中的动画虚拟角色。因此,在一些实施例中,虚拟对象是虚拟角色,并且在一些实施例中,虚拟对象是无生命对象。3D digital representations can be associated with virtual objects in video games or other forms of virtual environments. Various aspects described herein can be implemented with various gaming systems, such as computer-generated virtual environments. Generally, virtual objects may represent virtual characters, such as human-like characters, animal-like characters, fantasy creatures, and the like. Alternatively, the virtual objects may be inanimate objects, such as buildings, vehicles, plants, weapons, and the like. In some embodiments, virtual objects (whose real-world counterparts are inanimate, such as cars) may be used as animated virtual characters in the virtual environment. Thus, in some embodiments, the virtual object is a virtual character, and in some embodiments, the virtual object is an inanimate object.

虚拟角色可以通过在虚拟环境内移动、通过与其他虚拟角色交互或者通常与之接合和/或与虚拟环境中存在的无生命虚拟对象交互和/或与虚拟环境本身交互和/或通过其他方式在虚拟环境演变(例如成长、老化、发展或失去能力、属性等)来展示行为。通常,虚拟对象具有影响虚拟环境的游戏或其他演变的属性,例如能力。例如,汽车可以具有特定的最大速度,或者对象可以具有确定虚拟角色是否或如何与虚拟对象交互的属性等。Virtual characters may interact with the virtual environment by moving within the virtual environment, by interacting with or generally engaging with other virtual characters and/or interacting with inanimate virtual objects present in the virtual environment and/or interacting with the virtual environment itself and/or The virtual environment evolves (eg, grows, ages, develops or incapacitates, attributes, etc.) to demonstrate behavior. Often, virtual objects have properties, such as abilities, that affect the game or other evolution of the virtual environment. For example, a car can have a specific maximum speed, or an object can have properties that determine if or how a virtual character interacts with a virtual object, etc.

为此,该过程包括将虚拟属性例如行为属性(比如虚拟对象的能力、需求、偏好或其他属性)或者其他游戏相关属性分配给虚拟对象,例如基于检测到的真实世界对象的视觉特征,例如通过使用在国际专利申请PCT/EP2015/062381中公开的机制。To this end, the process includes assigning virtual attributes, such as behavioral attributes (such as the virtual object's abilities, needs, preferences or other attributes) or other game-related attributes, to the virtual object, for example based on detected visual characteristics of the real-world object, for example by The mechanism disclosed in International Patent Application PCT/EP2015/062381 is used.

与虚拟对象相关的属性可以包括指示整个虚拟对象属性的一个或多个全局属性。全局属性的示例可以包括以下中的一个或多个:指示能力或技能的属性、指示能量水平的属性、指示对象的全局行为的属性等。全局属性的其他示例包括移动的能力,例如飞行或在表面上移动的能力、移动的速度和/或模式等。属性的其他示例包括与虚拟对象的各个部分相关的局部属性,而不是与整个虚拟对象相关。例如,局部属性可以指示对象的一部分的功能能力,例如指示虚拟对象的一部分相对于虚拟对象的其余部分或相对于虚拟对象的另一部分移动的能力的属性。局部属性的其他示例可以指示虚拟对象的一部分排出一个或多个虚拟排出元件的能力,比如虚拟射弹、虚拟光束、虚拟流体和/或其他虚拟效果。局部属性的其他示例可以包括虚拟对象的一部分与其他虚拟对象交互的能力,例如建立连接、交换虚拟元件等。通常,局部属性包括功能/行为属性,其表示与不改变的静态属性(如颜色、纹理等)不同的功能/行为。Virtual object-related properties may include one or more global properties that indicate properties of the entire virtual object. Examples of global attributes may include one or more of the following: attributes indicative of abilities or skills, attributes indicative of energy levels, attributes indicative of global behavior of an object, and the like. Other examples of global attributes include the ability to move, such as the ability to fly or move on a surface, speed and/or pattern of movement, and the like. Other examples of properties include local properties that relate to parts of a virtual object rather than the entire virtual object. For example, a local attribute may indicate a functional capability of a portion of an object, such as an attribute indicating the ability of a portion of a virtual object to move relative to the rest of the virtual object or relative to another portion of the virtual object. Other examples of local attributes may indicate the ability of a portion of the virtual object to eject one or more virtual ejection elements, such as virtual projectiles, virtual beams, virtual fluids, and/or other virtual effects. Other examples of local properties may include the ability of a portion of a virtual object to interact with other virtual objects, such as establishing connections, exchanging virtual elements, and the like. Typically, local properties include functional/behavioral properties that represent different functionality/behavior than static properties that do not change (eg, color, texture, etc.).

该过程可以创建计算机生成的虚拟环境并且模拟虚拟环境随时间的演变,包括一个或多个虚拟角色的行为和/或虚拟环境内的一个或多个虚拟对象的属性。出于本说明书的目的,计算机生成的虚拟环境可以是持久的,即,即使没有用户与其交互,它也可以继续演变和存在,例如在用户会话之间。在替代实施例中,虚拟环境可以仅在用户与其交互时才演变,例如仅在活动用户会话期间。虚拟对象可以至少部分地由用户控制,即处理器可以至少部分地基于所接收的用户输入来控制虚拟对象的行为。计算机生成的虚拟环境可以是单用户环境或多用户环境。在多用户环境中,多于一个用户可以同时与虚拟环境交互,例如通过控制虚拟环境中的各个虚拟角色或其他虚拟对象。计算机生成的虚拟环境特别是持久的多用户环境有时也称为虚拟世界。计算机生成的虚拟环境经常用在游戏系统中,其中用户可以控制虚拟环境中的一个或多个虚拟角色。由用户控制的虚拟角色有时也被称为“玩家”。应当理解,本文描述的各方面的至少一些实施例也可以用于除游戏之外的上下文中。计算机生成的虚拟环境的示例可以包括但不限于视频游戏,例如技能游戏、冒险游戏、动作游戏、即时战略游戏、角色扮演游戏、模拟游戏等或其组合。The process may create a computer-generated virtual environment and simulate the evolution of the virtual environment over time, including the behavior of one or more virtual characters and/or the properties of one or more virtual objects within the virtual environment. For the purposes of this specification, a computer-generated virtual environment may be persistent, that is, it may continue to evolve and exist even without a user interacting with it, such as between user sessions. In alternative embodiments, the virtual environment may evolve only when the user interacts with it, eg, only during an active user session. The virtual object may be controlled, at least in part, by a user, ie, the processor may control the behavior of the virtual object based at least in part on received user input. A computer-generated virtual environment can be a single-user environment or a multi-user environment. In a multi-user environment, more than one user may interact with the virtual environment at the same time, eg, by controlling various virtual characters or other virtual objects in the virtual environment. Computer-generated virtual environments, especially persistent multi-user environments, are also sometimes referred to as virtual worlds. Computer-generated virtual environments are often used in gaming systems, where a user can control one or more virtual characters in the virtual environment. The avatar controlled by the user is also sometimes referred to as a "player". It should be understood that at least some embodiments of the aspects described herein may also be used in contexts other than gaming. Examples of computer-generated virtual environments may include, but are not limited to, video games such as skill games, adventure games, action games, real-time strategy games, role-playing games, simulation games, etc., or combinations thereof.

分配了局部属性的虚拟对象的一部分可被识别为虚拟对象的视觉外观的3D数字表示的一部分。例如,在虚拟对象的视觉外观的3D数字表示包括多个几何元素的实施例中,例如表示虚拟对象的表面的网格的多个表面元素或虚拟对象的体积表示的多个体素,所选部分可以包括几何元素的所选子集。The portion of the virtual object to which the local attribute is assigned may be identified as part of the 3D digital representation of the virtual object's visual appearance. For example, in embodiments where the 3D digital representation of the visual appearance of the virtual object includes a plurality of geometric elements, such as a plurality of surface elements of a mesh representing the surface of the virtual object or a plurality of voxels of a volumetric representation of the virtual object, the selected portion A selected subset of geometric elements can be included.

选择虚拟对象的一部分可以自动执行,例如基于虚拟对象的一个或多个检测到的特征,或者用户辅助的,例如至少部分响应用户输入。Selecting a portion of the virtual object may be performed automatically, eg, based on one or more detected features of the virtual object, or user-assisted, eg, at least in part in response to user input.

在一些实施例中,选择虚拟对象的一部分包括基于虚拟对象的视觉外观的3D数字表示来检测虚拟对象的预定特征,比如几何特征。几何特征可以例如是预定的几何形状,比如圆形、椭圆形、多边形等。在一些实施例中,特征的检测可以包括识别一个或多个对象部件。例如,在真实世界对象是由各个玩具构造元件构建的真实世界玩具构造模型的实施例中,检测到的特征可以是作为真实世界玩具构造模型的一部分的一个或多个所识别的玩具构造元件。In some embodiments, selecting a portion of the virtual object includes detecting predetermined features, such as geometric features, of the virtual object based on a 3D digital representation of the virtual object's visual appearance. The geometrical features may be, for example, predetermined geometrical shapes, such as circles, ellipses, polygons, and the like. In some embodiments, the detection of features may include identifying one or more object components. For example, in embodiments where the real world object is a real world toy construction model constructed from individual toy construction elements, the detected feature may be one or more of the identified toy construction elements that are part of the real world toy construction model.

在一些实施例中,用户可以指示虚拟对象的一部分,然后该过程可以检测用户选择的部分内的预定特征。然后,该过程可以基于检测到的特征选择虚拟对象的一部分。例如,该过程可以选择检测到的特征作为所选部分,或者该过程可以选择在检测到的特征附近的虚拟对象的一部分作为所选部分。通常,用户可以以多种方式指示虚拟对象的一部分。例如,用户可以指示在显示器上的虚拟模型的表示内的区域的轮廓,例如使用指示设备或另一指向机构。可替代地,用户可以指向虚拟表面的表面上的位置,并且该过程可以将虚拟对象的一部分确定为具有与用户选择的位置共同的一个或多个特性的部分,例如相同的颜色、纹理等。可替代地或另外,该过程可以使用一个或多个对象分割技术来将虚拟模型分割成多个片段。然后,该过程可以允许用户选择一个或多个片段。In some embodiments, the user may indicate a portion of the virtual object, and the process may then detect predetermined features within the user-selected portion. The process can then select a portion of the virtual object based on the detected features. For example, the process may select a detected feature as the selected portion, or the process may select a portion of the virtual object in the vicinity of the detected feature as the selected portion. In general, a user can indicate a portion of a virtual object in a number of ways. For example, the user may indicate the outline of an area within the representation of the virtual model on the display, eg, using a pointing device or another pointing mechanism. Alternatively, the user may point to a location on the surface of the virtual surface, and the process may determine a portion of the virtual object as a portion having one or more properties in common with the user-selected location, such as the same color, texture, etc. Alternatively or additionally, the process may use one or more object segmentation techniques to segment the virtual model into segments. The process may then allow the user to select one or more segments.

在一些实施例中,该过程可以检测多个候选特征。然后,该过程可以指示检测到的候选特征,并允许用户选择一个或多个检测到的候选特征。然后,该过程可以基于用户选择的候选特征来确定所选部分。In some embodiments, the process may detect multiple candidate features. The process can then indicate detected candidate features and allow the user to select one or more detected candidate features. The process may then determine the selected portion based on the candidate features selected by the user.

所分配的属性可以自动地、由用户手动地或半自动地(例如以用户辅助的方式)选择。The assigned attributes may be selected automatically, manually by the user, or semi-automatically (eg, in a user-assisted manner).

属性的选择可以至少部分地基于分配了属性的虚拟对象的一部分的一个或多个特征和/或基于虚拟对象的另一部分的一个或多个特征。例如,可以基于虚拟对象的一部分和/或虚拟对象的另一部分的特征来选择属性的类型或属性的一个或多个特征。虚拟对象的一部分或虚拟对象的另一部分的特征可包括颜色、大小、形状或另一可检测特征。属性的特征可以包括属性的强度、级别或其他特性。The selection of the attribute may be based at least in part on one or more characteristics of a portion of the virtual object to which the attribute is assigned and/or based on one or more characteristics of another portion of the virtual object. For example, the type of attribute or one or more characteristics of the attribute may be selected based on characteristics of a portion of the virtual object and/or another portion of the virtual object. A feature of a portion of the virtual object or another portion of the virtual object may include color, size, shape, or another detectable feature. Characteristics of an attribute may include the strength, level, or other characteristics of the attribute.

因此,在一些实施例中,将一个或多个属性分配给虚拟对象的所选部分包括:Accordingly, in some embodiments, assigning one or more properties to selected portions of the virtual object includes:

-检测所选部分和/或与所选部分不同的虚拟对象的一个或多个其他部分的一个或多个特性;和- detecting one or more properties of the selected portion and/or one or more other portions of the virtual object that differ from the selected portion; and

-基于检测到的一个或多个特性来选择一个或多个属性。- Selecting one or more attributes based on the detected one or more characteristics.

检测到的一个或多个特性中的每一个可以是可通过视觉获得的玩具构造模型的视觉特性,例如可以从玩具构造模型的颜色和/或形状和/或尺寸导出的特性。Each of the detected property or properties may be a visually obtainable visual property of the toy construction model, such as properties that may be derived from the color and/or shape and/or size of the toy construction model.

例如,当�����为���选部分分配���排出排出元件的能力���,该过程可以基于虚拟对象的另一部分的特性从所选部分中选择要排出的排出元件,例如基于所选部分附近的虚拟对象的一部分的颜色。例如,红色可能导致排出元件为炮火,而蓝色可能导致排出元件为水。在其他实施例中,可以基于所选部分的属性和/或基于虚拟对象的另一部分的属性来选择一个或多个其他属性。其他属性的示例可以包括功能程度,例如待排出的排出元件的量、排出速度、重复率等。For example, when the selected portion has been assigned the ability to eject an ejection element, the process may select an ejection element from the selected portion to eject based on characteristics of another portion of the virtual object, such as based on the properties of the virtual object in the vicinity of the selected portion. part of the color. For example, red may cause the discharge element to be gunfire, while blue may cause the discharge element to be water. In other embodiments, one or more other properties may be selected based on properties of the selected portion and/or based on properties of another portion of the virtual object. Examples of other attributes may include the degree of functionality, such as the amount of ejection elements to be ejected, ejection speed, repetition rate, and the like.

在一些实施例中,所分配的属性具有相关的属性方向,并且该方法还包括:In some embodiments, the assigned attributes have associated attribute directions, and the method further includes:

-确定与虚拟对象的所选部分相关的方向;和- determine the orientation relative to the selected portion of the virtual object; and

-将确定的方向作为属性方向分配给所分配的属性。- Assign the determined direction as the attribute direction to the assigned attribute.

例如,属性可以是移动,属性方向可以是移动的方向。可替代地,属性可以是虚拟对象的一部分的旋转,属性方向可以是旋转轴的方向。可替代地,属性可以是从虚拟对象的一部分排出一个或多个排出元件的排出能力,并且属性方向可以是排出元件排出的方向。For example, the attribute can be movement and the attribute direction can be the direction of movement. Alternatively, the attribute may be the rotation of a portion of the virtual object, and the attribute direction may be the direction of the axis of rotation. Alternatively, the attribute may be an ejection capability to eject one or more ejection elements from a portion of the virtual object, and the attribute direction may be the direction in which the ejection elements are ejected.

与所选部分相关的方向可以例如确定为预定部分的表面位置的表面法线,例如在所选部分的表面的中心(例如几何中心)的表面法线。可替代地,可以使用另一种机制来确定一部分的方向,例如通过检测所选部分的一个或多个边缘并检测一个或多个边缘的方向。在又一替代实施例中,可以从一个或多个检测到的特征检测方向。例如,该过程可以检测虚拟对象的视图中的椭圆,并检测从椭圆的长轴和短轴的方向,例如使得该方向是从圆盘的中心开始的法线方向,当从所述视点观察时,该方向导致椭圆形。The direction relative to the selected portion may eg be determined as the surface normal of the surface position of the predetermined portion, eg the surface normal at the center (eg geometric center) of the surface of the selected portion. Alternatively, another mechanism may be used to determine the orientation of a portion, such as by detecting one or more edges of the selected portion and detecting the orientation of the one or more edges. In yet another alternative embodiment, the direction may be detected from one or more detected features. For example, the process may detect an ellipse in the view of the virtual object, and detect the direction from the major and minor axes of the ellipse, such as such that the direction is the normal direction from the center of the disk, when viewed from the viewpoint , which leads to an ellipse.

在一些实施例中,虚拟对象是可由虚拟角色或虚拟角色可在其上骑行的生物操作的车辆;所分配的属性是虚拟角色相对于虚拟对象的骑行位置;并且该方法包括:In some embodiments, the virtual object is a vehicle operable by the virtual character or a creature on which the virtual character can ride; the assigned attribute is a riding position of the virtual character relative to the virtual object; and the method includes:

-确定所选择的骑行位置处的虚拟对象的表面的表面法线;和- determining the surface normal of the surface of the virtual object at the selected riding position; and

-基于所确定的表面法线,确定虚拟角色的骑行姿势。- Based on the determined surface normal, the riding posture of the virtual character is determined.

在一些实施例中,该过程允许用户指示骑行位置。在选择过程期间,该过程可以使虚拟角色动画以在虚拟对象的顶部朝向指示的骑行位置爬升。为此,该过程可以使用虚拟对象的数字表示的表面法线来确定虚拟角色在朝向骑行位置爬升的同时的方向。In some embodiments, the process allows the user to indicate the riding position. During the selection process, the process may animate the avatar to climb on top of the virtual object towards the indicated riding position. To this end, the process can use the surface normals of the digital representation of the virtual object to determine the direction of the virtual character while climbing toward the riding position.

在一些实施例中,选择虚拟对象的一部分包括:In some embodiments, selecting a portion of the virtual object includes:

-识别虚拟对象的一部分作为多个预定部分中的所识别的一个的表示,所识别的部分对应于所述多个几何元素的子集;其中,多个预定部分的数字表示存储在预定部分的库中;其中,预定部分的一个或多个数字表示使一个或多个预定属性与它们相关;以及- identifying a portion of the virtual object as a representation of an identified one of a plurality of predetermined portions, the identified portion corresponding to a subset of the plurality of geometric elements; wherein the numerical representation of the plurality of predetermined portions is stored in the in a library; wherein the one or more numerical representations of the predetermined portions have one or more predetermined attributes associated with them; and

-用所识别的预定部分的所存储的数字表示替换几何元素的子集���- Replacing the subset of geometric elements with the stored digital representation of the identified predetermined portion.

例如,真实世界对象可以是由多个构造元件构建的玩具构造模型,并且该过程可以访问对应于各个真实世界构造元件的虚拟构造元件的库。玩具构造元件可包括用于将玩具构造元件���此可拆卸地互连的联接构件。该过程可以将一个或多个构造元件识别为真实世界对象的一部分。然后,该过程可以通过从存储库获得的数字表示来替换对应于所识别的玩具构造元件的虚拟对象的一个或多个相应部分。因此,虚拟对象可以基于各个构造元件的更精确的数字表示来表示,而不是可以从传统的3D重建流水线实现。此外,一些虚拟构造元件可以具有与它们相关的预定功能。例如,可以使车轮动画以旋转,可以使门动画以被打开,可以使消防水管动画以喷射水,可以使炮弹动画以排出射弹等。For example, the real-world object may be a toy construction model constructed from multiple construction elements, and the process may access a library of virtual construction elements corresponding to each real-world construction element. The toy construction elements may include coupling members for removably interconnecting the toy construction elements to each other. The process may identify one or more construction elements as part of a real-world object. The process may then replace one or more corresponding portions of the virtual object corresponding to the identified toy construction element with the digital representation obtained from the repository. Thus, virtual objects can be represented based on more precise digital representations of individual construction elements than can be achieved from a traditional 3D reconstruction pipeline. Furthermore, some virtual construction elements may have predetermined functions associated with them. For example, a wheel can be animated to spin, a door can be animated to be opened, a fire hose can be animated to spray water, a cannonball can be animated to discharge projectiles, etc.

因此,用户可以创建类似于在计算机生成的虚拟环境中用作虚拟对象的对象的真实世界玩具构造模型。由于用户可以从玩具构造元件构建这些对象,因此用户对于如何构建对象具有很大的自由度。此外,该系统为用户提供灵活易于理解且易于使用的机制,用于影响虚拟环境中虚拟对象的期望行为或其他属性,例如行为属性(比如虚拟对象的能力、需求、偏好或其他属性)或者虚拟对象的其他游戏相关属性。Thus, users can create real-world toy construction models that resemble objects used as virtual objects in a computer-generated virtual environment. Since the user can build these objects from toy construction elements, the user has a great deal of freedom in how the objects are constructed. Furthermore, the system provides users with flexible, well-understood and easy-to-use mechanisms for influencing desired behaviors or other properties of virtual objects in virtual environments, such as behavioral properties (such as capabilities, needs, preferences, or other properties of virtual objects) or virtual Other game-related properties of the object.

联接构件可以利用任何合适的机构将构造元件与其他构造元件可释放地连接。在一些实施例中,联接构件包括一个或多个突起和一个或多个腔,每个腔适于以摩擦接合的方式接收至少一个突起。The coupling member may releasably connect the construction elements to other construction elements using any suitable mechanism. In some embodiments, the coupling member includes one or more protrusions and one or more cavities, each cavity being adapted to receive at least one protrusion in frictional engagement.

在一些实施例中,玩具构造元件可以遵守一组约束,例如关于它们��形状和尺寸和/或关于联接构件的位置和取向以及关于联接构件所采用的联接机构。在一些实施例中,至少一些联接构件适于限定连接方向并且允许每个构造元件与另一构造元件以相对于构造元件的离散数量的预定相对取向互连。因此,可以提供多种可能的构建选择,同时确保构建元件的互连性。联接构件可以定位在规则网格的网格点上,并且玩具构造元件的尺寸可以定义为���规则网格限定的单位长度的整数倍。可以理解,三维网格可以由单个单位长度、由两个单位长度定义,例如一个单位长度适用于两个空间维度,而另一个单位长度适用于第三个空间维度。可替代地,三维网格可以定义三个单位长度,每个空间维度一个。因此,与玩具构造系统一致的联接构件遵守由玩具构造系统施加的连接规则,例如包括联接构件的类型、位置和/或取向,并且它们配置成接合玩具构造系统的一个或多个玩具构造元件的配合联接元件。In some embodiments, the toy construction elements may adhere to a set of constraints, eg, with respect to their shape and size and/or with respect to the position and orientation of the coupling members and with regard to the coupling mechanism employed by the coupling members. In some embodiments, at least some of the coupling members are adapted to define a connection direction and allow each construction element to interconnect with another construction element in a discrete number of predetermined relative orientations with respect to the construction elements. Thus, a variety of possible build options can be provided while ensuring the interconnectivity of the build elements. The coupling members may be positioned at grid points of a regular grid, and the dimensions of the toy construction elements may be defined as integer multiples of a unit length defined by the regular grid. It will be appreciated that a three-dimensional grid may be defined by a single unit length, by two unit lengths, eg one unit length for two spatial dimensions and another unit length for a third spatial dimension. Alternatively, the three-dimensional grid may define three unit lengths, one for each spatial dimension. Accordingly, coupling members conforming to the toy construction system obey the connection rules imposed by the toy construction system, including, for example, the type, location and/or orientation of the coupling members, and they are configured to engage one or more of the toy construction elements of the toy construction system. Mating coupling elements.

本公开涉及包括上面和下面描述的方法的不同方面、相应的装置、系统、方法和/或产品,每个都产生结合第一提到的方面描述的一个或多个益处和优点,并且每个具有一个或多个实施例,其对应于结合第一提到的方面描述的和/或在所附权利要求中公开的实施例。The present disclosure is directed to various aspects including the methods described above and below, corresponding apparatus, systems, methods and/or articles of manufacture, each yielding one or more of the benefits and advantages described in connection with the first-mentioned aspect, and each There is one or more embodiments which correspond to the embodiments described in connection with the first mentioned aspect and/or disclosed in the appended claims.

特别地,本公开还涉及用于创建虚拟对象的计算机实现的方法;该方法包括:In particular, the present disclosure also relates to a computer-implemented method for creating a virtual object; the method includes:

-接收真实世界对象的数字表示,该数字表示表示真实世界对象的形状的视觉外观;- receiving a digital representation of the real-world object representing the visual appearance of the shape of the real-world object;

-从接收的数字表示中检测真实世界对象的一个或多个几何特征;- detect one or more geometric features of real-world objects from the received digital representation;

-创建表示真实世界对象的虚拟对象;以及- create virtual objects that represent real-world objects; and

-基于检测到的一个或多个几何特征,将行进方向分配给所创建的虚拟对象。- Assigning a direction of travel to the created virtual object based on the detected one or more geometric features.

本公开还涉及一种数据处理系统,其配置为执行本文公开的一种或多种方法的实施例的步骤。为此,数据处理系统可以包括或可连接到计算机可读介质,计算机程序可以从该计算机可读介质加载到诸如CPU的处理器中以供执行。因此,计算机可读介质可以在其上存储程序代码装置,当在数据处理系统上执行时,该程序代码装置适于使数据处理系统执行本文所述的方法的步骤。数据处理系统可以包括适当编程的计算机,比如便携式计算机、平板计算机、智能电话、PDA或具有图形用户界面的另一可编程计算设备。在一些实施例中,数据处理系统可以包括客户端系统,例如包括相机和用户界面,以及可以创建和控制虚拟环境的主机系统。客户端和主机系统可以通过合适的通信网络(比如互联网)连接。The present disclosure also relates to a data processing system configured to perform the steps of an embodiment of one or more of the methods disclosed herein. To this end, a data processing system may include or be connected to a computer-readable medium from which a computer program may be loaded for execution into a processor, such as a CPU. Accordingly, a computer-readable medium may store thereon program code means, which when executed on a data processing system are adapted to cause the data processing system to perform the steps of the methods described herein. The data processing system may include a suitably programmed computer, such as a laptop computer, tablet computer, smartphone, PDA, or another programmable computing device with a graphical user interface. In some embodiments, a data processing system may include a client system, eg, including a camera and a user interface, and a host system that may create and control a virtual environment. The client and host systems may be connected through a suitable communication network, such as the Internet.

通常,此处和下文中术语处理器旨在包括适于执行本文所述的功能的任何电路和/或设备和/或系统。特别地,上述术语包括通用或专用可编程微处理器,比如计算机或其他数据处理系统的中央处理单元(CPU)、数字信号处理器(DSP)、专用集成电路(ASIC)、可编程逻辑阵列(PLA)、现场可编程门阵列(FPGA)、专用电子电路等或其组合。处理器可以实现为多个处理单元。Generally, the term processor here and hereinafter is intended to include any circuit and/or device and/or system adapted to perform the functions described herein. In particular, the above term includes general-purpose or special-purpose programmable microprocessors, such as central processing units (CPUs), digital signal processors (DSPs), application-specific integrated circuits (ASICs), programmable logic arrays ( PLA), Field Programmable Gate Array (FPGA), dedicated electronic circuits, etc., or a combination thereof. A processor may be implemented as multiple processing units.

数据处理系统的一些实施例包括传感器设备,比如图像捕获设备,例如相机(例如摄像机),或用于获得玩具构造模型或其他真实世界对象的一个或多个图像的任何其他合适的设备。其他实施例可以配置为生成真实世界对象的数字表示和/或检索先前生成的数字表示。Some embodiments of data processing systems include sensor devices, such as image capture devices, such as cameras (eg, video cameras), or any other suitable device for obtaining one or more images of toy construction models or other real-world objects. Other embodiments may be configured to generate digital representations of real-world objects and/or retrieve previously generated digital representations.

传感器可包括辐射源,其可操作以将辐射引向玩具构造模型。例如,图像捕获设备可以包括闪光灯、一个或多个LED、激光器等。可替代地,图像传感器设备可操作以检测由对象反射的环境辐射。这里,术语反射旨在表示响应于所接收的辐射或波的任何类型的被动发射,包括漫反射、折射等。数据处理系统的实施例可包括用于向用户呈现虚拟环境的显示器或其他输出设备。数据处理系统的实施例还可以包括扫描站,例如包括对象支撑件,比如转盘。The sensor may include a radiation source operable to direct radiation towards the toy construction model. For example, the image capture device may include a flash, one or more LEDs, lasers, and the like. Alternatively, the image sensor device is operable to detect ambient radiation reflected by the object. Here, the term reflection is intended to mean any type of passive emission, including diffuse reflection, refraction, etc., in response to received radiation or waves. Embodiments of the data processing system may include a display or other output device for presenting a virtual environment to a user. Embodiments of the data processing system may also include a scanning station, eg, including an object support, such as a turntable.

本公开还涉及一种计算机程序产品,包括程序代码装置,当在数据处理系统上执行时,该程序代码装置适于使所述数据处理系统执行本文所述的一种或多种方法的步骤。The present disclosure also relates to a computer program product comprising program code means adapted to cause the data processing system to perform the steps of one or more of the methods described herein when executed on a data processing system.

计算机程序产品可以作为计算机可读介质提供,比如CD-ROM、DVD、光盘、存储卡、闪存、磁存储设备、软盘、硬盘等。在其他实施例中,计算机程序产品可以作为可下载的软件包提供,例���在Web服务器上通过因特网或其他计算机或通信网络下载,或者作为应用程序用于从App商店下载到移动设备。The computer program product may be provided as a computer-readable medium, such as a CD-ROM, DVD, optical disk, memory card, flash memory, magnetic storage device, floppy disk, hard disk, and the like. In other embodiments, the computer program product may be provided as a downloadable software package, eg, on a web server over the Internet or other computer or communication network, or as an application program for download from an App store to a mobile device.

本公开还涉及一种玩具构造系统,其包括如上所述的数据处理系统和如本文所述的多个玩具构造元件。数据处理系统可以包括处理器;数据处理系统还可以包括图像捕获设备和显示器或其他输出设备。The present disclosure also relates to a toy construction system comprising a data processing system as described above and a plurality of toy construction elements as described herein. A data processing system may include a processor; a data processing system may also include an image capture device and a display or other output device.

本公开还涉及一种玩具构造组,其包括多个玩具构造元件,以及用于获得计算机程序代码的指令,当数据处理系统执行计算机程序代码时,该计算机程序代码使得数据处理系统执行本文所述的一种或多种方法的实施例的步骤。例如,可以以因特网地址、对App商店的引用等形式提供指令。玩具构造组甚至可以包括其上存储有诸如计算机程序代码的计算机可读介质。这种玩具构造组甚至可以包括可连接到数据处理系统的相机或其他图像捕获设备。可选地,玩具构造组还可包括扫描站、传感器设备或这两者。The present disclosure also relates to a toy construction set comprising a plurality of toy construction elements, and instructions for obtaining computer program code that, when executed by a data processing system, causes the data processing system to perform the performance described herein The steps of one or more embodiments of a method. For example, instructions may be provided in the form of an Internet address, a reference to an App store, and the like. The toy building set may even include a computer-readable medium, such as computer program code, stored thereon. Such a toy building set may even include a camera or other image capture device connectable to a data processing system. Optionally, the toy construction set may also include a scanning station, a sensor device, or both.

玩具构造系统的实施例允许用户以均匀且结构良好的方式且采用有限组的不同玩具构造元件构造多种玩具构造模型。例如,玩具构造系统可被提供为包括多个玩具构造元件的玩具构造组。用户还可以创建多种虚拟对象,其在虚拟环境中展现出多种行为属性。Embodiments of the toy construction system allow a user to construct a variety of toy construction models in a uniform and well-structured manner and with a limited set of different toy construction elements. For example, a toy construction system may be provided as a toy construction set including a plurality of toy construction elements. Users can also create various virtual objects that exhibit various behavioral properties in the virtual environment.

附图说明Description of drawings

图1示意性地示出了本文公开的系统的实施例。Figure 1 schematically illustrates an embodiment of the system disclosed herein.

图2示出了本文描述的过程的实施例的流程图。Figure 2 shows a flow diagram of an embodiment of the process described herein.

图3-5示出了用户辅助选择虚拟对象的一部分的示例。3-5 illustrate examples of user-assisted selection of a portion of a virtual object.

图6示出了用户辅助识别��分配给虚拟对象的所选部分的属性的示例。6 illustrates an example of a user-assisted identification of attributes to assign to a selected portion of a virtual object.

图7-8示出了用户辅助选择虚拟对象的一部分的进一步示例。7-8 illustrate further examples of user-assisted selection of a portion of a virtual object.

图9示出了用于确定主要方向的过程的流程图,例如基于图像或其他形式的真实世界对象的扫描创建的虚拟对象的移动方向。9 shows a flowchart of a process for determining a principal direction, such as the direction of movement of a virtual object created based on a scan of an image or other form of real-world object.

图10示出了在计算机的显示区域中显示的虚拟对象的示例,其中检测到的边缘由箭头指示。Figure 10 shows an example of a virtual object displayed in a display area of a computer, with detected edges indicated by arrows.

图11示出了定向局部属性的示例。Figure 11 shows an example of orientation local attributes.

图12示出了用户辅助选择虚拟模型的一部分的过程的另一示例。FIG. 12 shows another example of a process for user-assisted selection of a portion of a virtual model.

图13示出了用于创建虚拟对象的过程的另一示例。FIG. 13 shows another example of a process for creating a virtual object.

具体实施方式Detailed ways

现在将参考砖块形式的玩具构造元件来描述本文公开的方法、装置及玩具构造系统的各个方面和实施例,例如以乐高(LEGO)的名义提供的玩具构造元件的形式。然而,本发明可以应用于玩具构造组中使用的其他形式的玩具构造元件。Various aspects and embodiments of the methods, apparatus, and toy construction systems disclosed herein will now be described with reference to toy construction elements in the form of bricks, such as in the form of toy construction elements provided under the LEGO name. However, the present invention may be applied to other forms of toy construction elements used in toy construction sets.

图1示出了玩具构造系统的实施例。该系统包括计算机101、输入设备102、显示器103、包括相机104的传感器设备、包括转盘105的对象支撑件以及由一个或多个玩具构造元件构建的玩具构造模型106。Figure 1 shows an embodiment of a toy construction system. The system includes a computer 101, an input device 102, a display 103, a sensor device including a camera 104, an object support including a turntable 105, and a toy construction model 106 constructed from one or more toy construction elements.

计算机101可以是个人计算机、台式计算机、膝上型计算机,手持计算机比如平板电脑、智能手机等、游戏控制台、手持娱乐设备或任何其他适当可编程的计算机。计算机101包括处理器109比如中央处理单元(CPU)和一个或多个存储设备比如存储器、硬盘等。The computer 101 may be a personal computer, a desktop computer, a laptop computer, a handheld computer such as a tablet computer, a smartphone, etc., a game console, a handheld entertainment device, or any other suitably programmable computer. Computer 101 includes a processor 109 such as a central processing unit (CPU) and one or more storage devices such as memory, hard disk, and the like.

显示器103可操作地联接到计算机101,并且计算机101配置为在显示器103上呈现虚拟环境111的图形表示。尽管在图1中示出为单独的功能块,但要理解的是,显示器可以集成在计算机的外壳中。Display 103 is operably coupled to computer 101 , and computer 101 is configured to present a graphical representation of virtual environment 111 on display 103 . Although shown as a separate functional block in FIG. 1, it is to be understood that the display may be integrated into the housing of the computer.

输入设备102可操作地联接到计算机101并且配置为接收用户输入。例如,输入设备可以包括键盘、游戏控制器、鼠标或其他指示设备等。在一些实施例中,该系统包括一个以上的输入设备。在一些实施例中,输入设备可以集成在计算机和/或显示器中,例如以触摸屏的形式。应当理解,该系统可以包括可操作地联接到计算机比如集成到计算机中的其他外围设备。Input device 102 is operably coupled to computer 101 and is configured to receive user input. For example, input devices may include keyboards, game controllers, mice or other pointing devices, and the like. In some embodiments, the system includes more than one input device. In some embodiments, the input device may be integrated into the computer and/or display, for example in the form of a touch screen. It should be understood that the system may include other peripheral devices operably coupled to, such as integrated into, the computer.

相机104可操作以捕获玩具构造模型106的图像并将捕获的图像转发到计算机101。为此,用户可将玩具构造模型106定位在转盘105上。在一些实施例中,用户可以在基板的顶部上构建玩具结构模型。相机可以是数码相机,其可操作以拍摄数字图像,例如以二维像素阵列的形式。特别地,相机可以配置为捕获每个像素的光强度和附加信息,比如每个像素或像素组的偏振信息和/或表面法线方向。可替代地,可以使用其他类型的传感器设备,例如其他类型的图像捕获设备。而且,在替代实施例中,系统不使用转盘。Camera 104 is operable to capture images of toy construction model 106 and forward the captured images to computer 101 . To do this, the user may position the toy construction model 106 on the turntable 105 . In some embodiments, a user may build a toy structure model on top of the base plate. The camera may be a digital camera operable to take digital images, eg in the form of a two-dimensional array of pixels. In particular, the camera may be configured to capture the light intensity of each pixel and additional information, such as polarization information and/or surface normal direction for each pixel or group of pixels. Alternatively, other types of sensor devices may be used, such as other types of image capture devices. Also, in an alternate embodiment, the system does not use a carousel.

显示器103、相机104和输入设备102可以以各种方式可操作地联接到计算机。例如,上述设备中的一个或多个可以通过计算机101的合适的有线或无线输入接口联接到计算机101,例如通过计算机的串行或并行端口,比如USB端口,通过蓝牙、Wifi或其他合适的无线通信接口。可替代地,一个或所有设备可以集成到计算机中。例如,计算机可以包括集成显示器和/或输入设备和/或集成相机。特别地,许多平板电脑和智能电话包括集成相机、可用作显示和输入设备的集成触摸屏。Display 103, camera 104, and input device 102 may be operably coupled to the computer in various ways. For example, one or more of the above-described devices may be coupled to computer 101 through a suitable wired or wireless input interface of computer 101, such as through a serial or parallel port of the computer, such as a USB port, through Bluetooth, Wifi, or other suitable wireless Communication Interface. Alternatively, one or all of the devices may be integrated into the computer. For example, a computer may include an integrated display and/or input device and/or an integrated camera. In particular, many tablets and smartphones include integrated cameras, integrated touch screens that can be used as display and input devices.

计算机101上存储有适于模拟虚拟环境的程序,例如App或其他软件应用程序,以处理捕获的图像并创建如本文所述的虚拟对象。例如,虚拟环境可以是计算机游戏的一部分。A program, such as an App or other software application, suitable for simulating a virtual environment is stored on the computer 101 to process the captured images and create virtual objects as described herein. For example, the virtual environment may be part of a computer game.

应当理解,在一些实施例中,计算机101可以通信地连接到主机系统,例如通过互联网或其他合适的计算机网络。然后,主机系统可以执行本文描述的处理的至少一部分。例如,在一些实施例中,主机系统可以生成并模拟虚拟环境,比如可以由来自相应客户端计算机的多个用户访问的虚拟世界。用户可以使用执行合适程序的客户端计算机来捕获图像。捕获的图像可以由客户端计算机处理或上载到主机系统以处理和创建相应的虚拟对象。然后,主机系统可以将虚拟对象添加到虚拟世界并控制虚拟世界内的虚拟对象,如本文所述。It should be appreciated that in some embodiments, computer 101 may be communicatively connected to a host system, such as through the Internet or other suitable computer network. The host system can then perform at least a portion of the processing described herein. For example, in some embodiments, a host system may generate and simulate a virtual environment, such as a virtual world that may be accessed by multiple users from respective client computers. The user can use a client computer executing an appropriate program to capture the image. The captured images can be processed by the client computer or uploaded to the host system to process and create corresponding virtual objects. The host system can then add virtual objects to the virtual world and control virtual objects within the virtual world, as described herein.

在图1的示例中,虚拟环境111是水下环境比如虚拟水族馆或其他水下环境。虚拟对象107、108类似于鱼或其他水下动物或者生物。然而,应当理解,可以实现其他类型的虚拟环境,其中虚拟对象表示其他类型的虚拟对象,比如其他类型的虚拟角色、动物、生物、车辆、附件、工具等。In the example of FIG. 1, the virtual environment 111 is an underwater environment such as a virtual aquarium or other underwater environment. The virtual objects 107, 108 resemble fish or other underwater animals or creatures. It should be understood, however, that other types of virtual environments may be implemented in which virtual objects represent other types of virtual objects, such as other types of virtual characters, animals, creatures, vehicles, accessories, tools, and the like.

在图1的示例中,计算机已经基于所捕获的玩具构造模型106的图像创建了一个虚拟对象107。计算机已经创建了虚拟对象107,以便类似于玩具构造模型,例如通过创建3D网格或其他合适的表示形式。在图1的示例中,虚拟对象107类似于玩具构造模型106的形状和颜色。在本示例中,虚拟对象甚至类似于构建玩具构造模型106的各个玩具构造元件。然而,应该理解,可以实现不同级别的相似性。例如,在一些实施例中,可以创建虚拟对象以便仅类似于构造模型的整体形状而不模拟其各个玩具构造元件的内部结构。还可以创建虚拟对象以具有与虚拟构造元件的尺寸相对应的尺寸,例如通过在转盘105上提供参考长度标尺,以便允许计算机确定玩具构造模型的实际尺寸。可替代地,计算机可以使用玩具构造元件的尺寸作为参考长度标尺。在另一些实施例中,用户可以手动缩放虚拟对象的尺寸。In the example of FIG. 1 , the computer has created a virtual object 107 based on the captured image of the toy construction model 106 . The computer has created the virtual object 107 to construct a model like a toy, for example by creating a 3D mesh or other suitable representation. In the example of FIG. 1 , virtual object 107 is similar in shape and color to toy construction model 106 . In this example, the virtual objects are even similar to the individual toy construction elements that build the toy construction model 106 . However, it should be understood that different levels of similarity can be achieved. For example, in some embodiments, virtual objects may be created to resemble only the overall shape of the construction model without simulating the internal structure of its individual toy construction elements. Virtual objects may also be created to have dimensions that correspond to the dimensions of the virtual construction elements, for example by providing a reference length scale on the turntable 105, to allow the computer to determine the actual dimensions of the toy construction model. Alternatively, the computer may use the dimensions of the toy construction elements as a reference length scale. In other embodiments, the user can manually scale the size of the virtual object.

图1所示的系统可以配置为创建真实世界对象的3D表示,然后可以将其用于创建虚拟对象或角色,例如如下面更详细描述。The system shown in Figure 1 can be configured to create 3D representations of real-world objects, which can then be used to create virtual objects or characters, such as described in more detail below.

图2示出了本文描述的过程的实施例的流程图。例如,该过程可以由图1中描述的系统执行或者由另一合适的编程数据处理系统执行。Figure 2 shows a flow diagram of an embodiment of the process described herein. For example, the process may be performed by the system described in FIG. 1 or by another suitable programmed data processing system.

在初始步骤S1中,该过程获得指示玩具构造模型或另一真实世界对象的视觉外观的数据。例如,该过程可以在玩具构造模型所在的转盘的相应角度位置或者从各个视点捕获玩具构造模型的多个数字图像。数据可以包括数字图像和/或深度图和/或表示对象的视觉外观的另一种形式的数据,例如表面纹理、颜色、形状等。In an initial step S1, the process obtains data indicative of the visual appearance of a toy construction model or another real world object. For example, the process may capture multiple digital images of the toy construction model at respective angular positions of the turntable on which the toy construction model is located or from various viewpoints. The data may include digital images and/or depth maps and/or another form of data representing the visual appearance of the object, such as surface texture, color, shape, and the like.

在随后的步骤S2中,该过程根据所获得的数据(例如来自数字图像)构建玩具构造模型的3D数字表示。为此,该过程可以执行数字图像处理领域中本身已知的一个或多个图像处理步骤。例如,处理可以包括以下步骤中的一个或多个:背景检测、边缘检测、颜色校准、颜色检测。In a subsequent step S2, the process builds a 3D digital representation of the toy construction model from the data obtained (eg from digital images). To this end, the process may perform one or more image processing steps known per se in the field of digital image processing. For example, processing may include one or more of the following steps: background detection, edge detection, color calibration, color detection.

用于从多个捕获的图像生成真实世界对象的3D数字表示的过程可以采用在对象重建领域中已知的任何合适的技术。例如,在一个实施例中,处理捕获的图像以便提取:The process for generating 3D digital representations of real-world objects from multiple captured images may employ any suitable technique known in the art of object reconstruction. For example, in one embodiment, the captured image is processed to extract:

-通过相机看到的有关真实世界场景的信息,- information about the real world scene seen through the camera,

-相对于对象的转盘位置或相机视点,以及- the turntable position or camera viewpoint relative to the object, and

-对象轮廓。- Object outline.

在随后的步骤中,可以将所获得的轮廓投������相���������的体素化体积上。随后,将行进立方体算法应用于从雕刻获得的3D对象。然后获得最终网格,并且从相机框架切出的纹理被应用在其顶部上。该过程可以导致对象表面的网格表示,例如使用其他多边形的三角形。可替代地,该过程可以导致对象的体素表示。In a subsequent step, the obtained contours can be projected onto the corresponding sculpted voxelized volumes. Subsequently, the marching cube algorithm is applied to the 3D objects obtained from the sculpting. The final mesh is then obtained and the texture cut out from the camera frame is applied on top of it. This process can result in a mesh representation of the object's surface, such as triangles using other polygons. Alternatively, the process may result in a voxel representation of the object.

在随后的步骤S3中,该过程创建虚拟对象。虚拟对象具有由在先前步骤中创建的3D表示或由其导出的3D表示定义的视觉外观。另外,虚拟对象可以包括附加的全局属性,比如定义虚拟对象的行为特征的属性。这些特征可以定义对象如何移动、其能力及功能等。In a subsequent step S3, the process creates a virtual object. The virtual object has a visual appearance defined by the 3D representation created in the previous step or the 3D representation derived therefrom. Additionally, virtual objects may include additional global properties, such as properties that define behavioral characteristics of the virtual object. These characteristics can define how the object moves, its capabilities and functions, etc.

在随后的步骤S4中,该过程选择虚拟对象的3D表示的一部分,例如对象的3D形状的一部分。该步骤可以完全自动地执行,或其可以由用户辅助执行。例如,用户可以操纵虚拟对象的表示以识别要选择的部分。可替代地,该过程可以使用对象分割技术和/或特征检测技术和/或其他合适的机制来识别虚拟对象的一部分。下面将更详细地描述用于选择虚拟对象的一部分的方法的示例。在一些实施例中,该过程可以识别用户可以从中选择一个或多个部分的多个候选部分。所选部分可以因此在表示虚拟对象的合适数据结构中被识别,例如通过识别表示对象的所选部分的多个网格元素或体素。In a subsequent step S4, the process selects a part of the 3D representation of the virtual object, eg a part of the 3D shape of the object. This step can be performed completely automatically, or it can be performed assisted by a user. For example, a user can manipulate a representation of a virtual object to identify a portion to select. Alternatively, the process may use object segmentation techniques and/or feature detection techniques and/or other suitable mechanisms to identify a portion of the virtual object. An example of a method for selecting a portion of a virtual object will be described in more detail below. In some embodiments, the process may identify multiple candidate portions from which the user may select one or more portions. The selected portion may thus be identified in a suitable data structure representing the virtual object, eg by identifying a plurality of grid elements or voxels representing the selected portion of the object.

在随后的步骤S5中,该过程确定要分配给虚拟对象的所选部分的局部属性。为此,用户可以选择属性,例如从可用属性列表中。可替代地或另外,该过程可以自动确定要分配给所选部分的属性—或者属性的至少一个或多个特征。例如,该过程可以基于所选部分的特性和/或基于虚拟对象的其他部分的特性来选择属性。可替代地,该过程可以确定用户可以从中选择属性的多个候选属性。In a subsequent step S5, the process determines the local attributes to be assigned to the selected portion of the virtual object. To do this, the user can select an attribute, eg from a list of available attributes. Alternatively or additionally, the process may automatically determine the attribute—or at least one or more characteristics of the attribute—to assign to the selected portion. For example, the process may select attributes based on properties of the selected portion and/or based on properties of other portions of the virtual object. Alternatively, the process may determine a number of candidate attributes from which the user may select attributes.

在随后的步骤S6中,该过程将所确定的属性分配给虚拟对象的所选部分。为此,该过程可以在表示虚拟对象的数据结构中设置与对象的所选部分相关的相应属性值。应当理解,某些类型的属性可以由单个值表示,而其他类型的属性可以具有更复杂的表示。In a subsequent step S6, the process assigns the determined attributes to selected parts of the virtual object. To this end, the process may set corresponding property values associated with the selected portion of the object in the data structure representing the virtual object. It should be understood that some types of properties may be represented by a single value, while other types of properties may have more complex representations.

应当理解,可以将多于一个属性分配给对象的所选部分,并且可以选择对象的多于一个部分并分配虚拟属性。为此,步骤S4-S6可以重复适当的次数。It should be understood that more than one property may be assigned to a selected portion of an object, and that more than one portion of an object may be selected and assigned a virtual property. To this end, steps S4-S6 may be repeated an appropriate number of times.

图3-5和7-8示出了用户辅助选择虚拟对象的一部分的示例。3-5 and 7-8 illustrate examples of user-assisted selection of a portion of a virtual object.

特别地,图3示出了基于预定特征的检测来选择对象的一部分。更具体地,在本示例中,该过程检测虚拟对象的表示中的椭圆,例如在虚拟对象的2D视图中。图3示出了在(例如图1的系统或其他适当编程的处理设备或系统的)计算机显示器的显示区域内创建的虚拟对象301的表示。在该示例中,虚拟对象表示可以由计算机游戏中的虚拟角色使用的车辆。已经基于从由玩具构造元件构造的真实世界车辆的不同视点拍摄的多个图像来创建虚拟对象,例如如上所述。In particular, Figure 3 illustrates the selection of a portion of an object based on the detection of predetermined features. More specifically, in this example, the process detects ellipses in a representation of a virtual object, eg, in a 2D view of the virtual object. Figure 3 shows a representation of a virtual object 301 created within the display area of a computer display (eg, of the system of Figure 1 or other suitably programmed processing device or system). In this example, the virtual object represents a vehicle that can be used by a virtual character in a computer game. Virtual objects have been created based on multiple images taken from different viewpoints of a real-world vehicle constructed from toy construction elements, eg, as described above.

数据处理系统可以提供允许用户操纵所创建的虚拟对象301的视图的功能,例如通过旋转对象,通过变焦等。该过程可以配置为在当前视图中检测预定形状,例如椭圆、多边形等,并突出显示检测到的形状。为此,该过程可以使用任何合适的方法来检测本领域中已知的图像或3D表示中的预定特征。在图3的示例中,该过程在管状构造元件302的末端检测到椭圆。该过程通过以预定颜色(例如以红色)绘制强调的椭圆303来突出显示检测到的椭圆。应当理解,该过程可以最初识别多个特征,例如其他椭圆304。然后,该过程可以选择检测到的特征之一,例如基于其他标准,比如颜色、大小、方向、用户输入等。The data processing system may provide functionality that allows the user to manipulate the view of the created virtual object 301, eg, by rotating the object, by zooming, and the like. The process can be configured to detect predetermined shapes in the current view, such as ellipses, polygons, etc., and highlight the detected shapes. To this end, the process may use any suitable method to detect predetermined features in the image or 3D representation known in the art. In the example of FIG. 3 , the process detects an ellipse at the end of the tubular construction element 302 . The process highlights the detected ellipse by drawing an emphasized ellipse 303 in a predetermined color (eg, in red). It should be understood that the process may initially identify multiple features, such as other ellipses 304 . The process can then select one of the detected features, for example based on other criteria such as color, size, orientation, user input, etc.

然后,该过程可以将属性分配给虚拟对象的所选特征303,例如自动地或通过允许用户选择特征。在图3的示例中,该过程选择了水枪功能作为要分配给所选特征302的属性。水枪功能模拟从检测到的椭圆排出水。该过程可以允许用户选择一个或多个附加特征,例如要排出的水量、排出水的速度或范围、排出方向等。在图3中,这由符号305和306示出,符号305和306示出了两种可用的水枪选择并允许用户选择一种类型的水枪。可替代地或另外,该过程可以自动确定所分配属性的一个或多个属性特征。特别地,该过程可以基于所检测的所选部分的属性和/或基于虚拟对象的其他部分(例如相邻部分)的属性来确定这样的属性特征。The process may then assign attributes to the selected features 303 of the virtual object, eg, automatically or by allowing the user to select the features. In the example of FIG. 3 , the process has selected the water gun function as the attribute to assign to the selected feature 302 . The water gun function simulates the discharge of water from the detected ellipse. This process may allow the user to select one or more additional characteristics, such as the amount of water to be drained, the speed or extent of the water to be drained, the direction of drain, and the like. In Figure 3, this is illustrated by symbols 305 and 306, which show the two available pistol selections and allow the user to select one type of pistol. Alternatively or additionally, the process may automatically determine one or more attribute characteristics of the assigned attribute. In particular, the process may determine such property features based on the detected properties of the selected portion and/or based on properties of other portions of the virtual object (eg, adjacent portions).

例如,在水枪的本示例中,所选部分的颜色可以确定水炮属性的水的颜色或排出水的另一属性,例如排出水的虚拟温度,其反过来可能影响排出水对游戏方面的影响。所选部分的尺寸或形状可以确定当分配排水属性时将排出元素排出的方式,例如如果应用水炮属性时水喷洒的方式。作为又一示例,如果应用水炮属性,则真实世界对象的且被检测为所获得的数字表示的一部分的图形标记可以确定水是热的。For example, in this example of a water gun, the color of the selected portion may determine the color of the water for the water cannon attribute or another attribute of the discharged water, such as the virtual temperature of the discharged water, which in turn may affect how the discharged water affects aspects of the game . The size or shape of the selected portion can determine how the drain element will be drained when the drain property is assigned, such as how water is sprayed if the water cannon property is applied. As yet another example, if a water cannon attribute is applied, a graphical indicia of a real-world object and detected as part of the obtained digital representation may determine that the water is hot.

水枪功能是具有与其相关的方向(即在这种情况下水被排出的方向)的属性的示例。在图3中,该方向由箭头307表示。该方向可以是用户可选择的,或者其可以由该过程自动确定,例如基于椭圆的取向并且基于椭圆的长轴和短轴的方向和尺寸。The water pistol function is an example of a property that has a direction associated with it, ie the direction in which the water is expelled in this case. In FIG. 3 , this direction is represented by arrow 307 . The orientation may be user-selectable, or it may be determined automatically by the process, eg, based on the orientation of the ellipse and based on the orientation and dimensions of the major and minor axes of the ellipse.

通常,图3示出了用户辅助选择模型特征的示例,其中该过程自动检测一个或多个模型特征,并且用户手动选择要为其分配数字属性的一个或多个特定特征。下面将更详细地描述用于实现用户选择的方法。��检测特征的示例包括颜色、形状(例如圆形、多边形、椭圆形等)、3D几何特征(例如玩具构造元件)、边缘、面、多边形、材料(例如橡胶)、图形资产/标记等。In general, Figure 3 shows an example of a user-assisted selection of model features, where the process automatically detects one or more model features, and the user manually selects one or more specific features to assign numerical attributes to. The method for implementing user selection will be described in more detail below. Examples of detectable features include colors, shapes (eg, circles, polygons, ovals, etc.), 3D geometric features (eg, toy construction elements), edges, faces, polygons, materials (eg, rubber), graphic assets/markers, and the like.

图4示出了用于基于预定特征的检测来选择对象的一部分的用户辅助选择过程的另一示例。在图4的示例中,该过程最初执行对象分割过程,例如使用网格分割算法或通过检测玩具构造元件或对象的其他预定部件。然后,用户可以识别一个或多个片段,例如通过指向片段或通过选择要选择的片段的颜色或其他特征等。可选特征的示例包括颜色、形状(例如圆形、多边形、椭圆形等)、3D几何特征(例如玩具构造元件)、边缘、面、多边形、材料(例如橡胶)、图形资产/标记等。然后,该过程将属性分配给虚拟对象的所选片段,例如自动地或通过允许用户选择特征,例如如上所述。FIG. 4 illustrates another example of a user-assisted selection process for selecting a portion of an object based on detection of predetermined features. In the example of Figure 4, the process initially performs an object segmentation process, for example using a mesh segmentation algorithm or by detecting toy construction elements or other predetermined parts of the object. The user can then identify one or more segments, such as by pointing to the segment or by selecting a color or other characteristic of the segment to be selected, or the like. Examples of optional features include colors, shapes (eg, circles, polygons, ovals, etc.), 3D geometric features (eg, toy construction elements), edges, faces, polygons, materials (eg, rubber), graphic assets/markers, and the like. The process then assigns attributes to selected segments of the virtual object, eg, automatically or by allowing the user to select features, eg, as described above.

更具体地,图4示出了在(例如图1的系统或其他适当编程的处理设备或系统的)计算机显示器的显示区域内创建的虚拟对象301的表示。在该示例中,虚拟对象表示为位于扫描站的转盘408上。该过程示出了虚拟角色409,其可以由用户控制以绕虚拟对象301走动并且利用目标标线410(例如指针、十字线或其他瞄准设备)来瞄准虚拟对象的相应部分。在图4的示例中,该过程突出显示虚拟对象的被虚拟角色409当前瞄准的片段部分411。用户现在可以分配用户选择的或自动选择的属性,例如如可以分配给片段411的功能特征412所示。More specifically, Figure 4 shows a representation of a virtual object 301 created within the display area of a computer display (eg, of the system of Figure 1 or other suitably programmed processing device or system). In this example, the virtual object is represented as being located on the carousel 408 of the scanning station. The process shows a virtual character 409 that can be controlled by the user to walk around the virtual object 301 and use a target reticle 410 (eg, a pointer, crosshair, or other aiming device) to target corresponding portions of the virtual object. In the example of FIG. 4 , the process highlights the segment portion 411 of the virtual object that is currently targeted by the virtual character 409 . The user can now assign user-selected or automatically-selected attributes, eg, as shown in functional feature 412 that can be assigned to segment 411 .

如上所述,自动分割可以基于对真实世界对象的表示中的各个玩具构造元件或其他部件的检测。为此,该过程可以访问多个已知玩具构造元件或其他已知部件的表示库。已知部件可以存储为CAD文件或表示,例如如在WO2004/034333中所述或以其他合适的形式。然后,可以通过本领域中已知的合适的对象识别过程来检测和识别虚拟对象的相应部件。然后,所识别的部件可以是用户可选择的,使得属性可被分配给各个部件或部件组,例如两个或更多个玩具构造元件的子组件,例如包括动物、已知的人物、角色等或其部分,例如躯干部分、腿部、发动机部分、车轮等。在其他实施例中,可以基于已知的图形资产/标记等来检测和识别虚拟对象的一个或多个部分。As described above, automatic segmentation may be based on detection of individual toy construction elements or other components in the representation of the real-world object. To this end, the process may access a library of representations of a number of known toy construction elements or other known parts. Known components may be stored as CAD files or representations, eg as described in WO2004/034333 or in other suitable form. The corresponding components of the virtual object may then be detected and identified by suitable object identification processes known in the art. The identified parts may then be user-selectable such that attributes may be assigned to individual parts or groups of parts, such as subassemblies of two or more toy construction elements, including, for example, animals, known characters, characters, etc. or parts thereof, such as torso parts, legs, engine parts, wheels, etc. In other embodiments, one or more portions of the virtual object may be detected and identified based on known graphical assets/markers, etc.

图5示出了用于基于预定特征的检测来选择对象的一部分的用户辅助选择过程的另一示例。图4的示例类似于图4的示例,虚拟对象501的表示(其基于捕获的位于扫描站的转盘上的真实世界对象的图像而获得)示出在(例如图1系统的)计算机的显示器的显示区域内。在本示例中,真实世界对象是由玩具构造元件构建的玩具构造模型,并且该过程已将各个玩具构造元件识别为如上所述的虚拟对象的一部分。该过程提供允许用户控制虚拟角色409以瞄准虚拟对象的各个部分的功能。当瞄准部分对应于识别的玩具构造元件时,该过程可以自动地将预定属性分配给所选部分,例如与已知玩具构造元件库中存储的已知玩具构造元件相关的预定属性。可替代地,识别的对象可以具有与其相关的多个可用属性,用户可以从中选择要分配给所选部分的一个或多个属性。在图5的示例中,虚拟角色409瞄准已被识别为玩具构造元件的部分511,该玩具构造元件具有与其相关的多个可用属性。因此,响应于用户对部分511的选择,该过程可以显示允许用户选择可用属性之一的选择菜单。5 illustrates another example of a user-assisted selection process for selecting a portion of an object based on detection of predetermined features. The example of FIG. 4 is similar to the example of FIG. 4 with a representation of virtual object 501 (which is obtained based on a captured image of a real-world object located on a turntable of a scanning station) shown on the display of a computer (eg, of the system of FIG. 1 ). in the display area. In this example, the real world object is a toy construction model constructed from toy construction elements, and the process has identified each toy construction element as part of the virtual object as described above. This process provides functionality that allows the user to control the virtual character 409 to target various parts of the virtual object. When the targeting portion corresponds to an identified toy construction element, the process may automatically assign a predetermined attribute to the selected portion, such as a predetermined attribute associated with known toy construction elements stored in a library of known toy construction elements. Alternatively, the identified object may have a number of properties available associated therewith, from which the user may select one or more properties to assign to the selected portion. In the example of FIG. 5, the virtual character 409 is targeting a portion 511 that has been identified as a toy construction element that has a number of attributes available associated therewith. Thus, in response to the user's selection of section 511, the process may display a selection menu that allows the user to select one of the available attributes.

图6中示出了选择过程的示例,该图示出了在用户选择了部分511之后并且在用户通过点击多个可选图标612中的一个图标613选择了助推器功能之后显示的场景,每个图标表示所选部分510的可用属性之一。相应地突出显示所选图标613。An example of the selection process is shown in Figure 6, which shows the scene displayed after the user has selected the portion 511 and after the user has selected the booster function by clicking on one of the multiple selectable icons 613, 613, Each icon represents one of the available properties of the selected portion 510. The selected icon 613 is highlighted accordingly.

图7示出了用于选择虚拟对象的一部分的另一机制。在图7的示例中,该过程接收捕获的数据,该捕获的数据指示用户指向相应真实世界对象701的一部分,虚拟对象基于其而被创建,例如通过上述过程。Figure 7 shows another mechanism for selecting a portion of a virtual object. In the example of FIG. 7, the process receives captured data indicating that the user is pointing to a portion of the corresponding real-world object 701 based on which the virtual object is created, eg, by the process described above.

特别地,图7示出了扫描站,其包括转盘705和图像捕获设备704,用于捕获位于转盘上的真实世界对象701的图像。当用户指向真实世界对象的部分711时,图像捕获设备捕获一个或多个图像。然后,该过程检测用户指向哪个部分,并识别虚拟对象的相应部分,例如基于如上所述的虚拟对象的预分割。用户可以例如用手指714指向所选部分,如图7所示,或者采用特定指示设备,例如可能具有可容易由系统检测到的尖端的棍棒。例如,指示设备的尖端可以包括标记特征。因此,可以通过本领域中已知的合适图像处理技术并基于指向真实世界对象的一部分的用户的一个或多个图像来执行对对象的所选部分的检测。In particular, Figure 7 shows a scanning station comprising a turntable 705 and an image capture device 704 for capturing images of real world objects 701 located on the turntable. When the user points to the portion 711 of the real world object, the image capture device captures one or more images. The process then detects which part the user is pointing at and identifies the corresponding part of the virtual object, eg based on a pre-segmentation of the virtual object as described above. The user may, for example, point to the selected portion with a finger 714, as shown in Figure 7, or employ a specific pointing device, such as a wand that may have a tip that is easily detectable by the system. For example, the tip of the pointing device may include marking features. Accordingly, detection of the selected portion of the object may be performed by suitable image processing techniques known in the art and based on one or more images of the user pointing to a portion of the real-world object.

图8示出了允许用户选择虚拟对象的一部分的另一机制。特别地,图8示出了在计算机显示器的显示区域内创建的虚拟对象301的表示,例如如结合图3所述。然而,在图8的示例中,用户可以使用十字线815或其他指向机构来指向虚拟对象的显示表示的目标部分811。用户还可以旋转和/或调整显示表示的大小,以进一步便于识别用户选择的部分。然后,用户可以选择要分配给所选部分的属性,或者可以如上所述自动地选择属性。Figure 8 shows another mechanism that allows a user to select a portion of a virtual object. In particular, FIG. 8 shows a representation of a virtual object 301 created within the display area of a computer display, eg, as described in connection with FIG. 3 . However, in the example of FIG. 8, the user may use a crosshair 815 or other pointing mechanism to point to the target portion 811 of the displayed representation of the virtual object. The user may also rotate and/or resize the display representation to further facilitate identification of the user-selected portion. The user can then select the attribute to assign to the selected portion, or the attribute can be selected automatically as described above.

通常,该过程可以提供一个或多个机制用于用户控制地瞄准/选择虚拟对象的各个部分,例如包括:Typically, the process may provide one or more mechanisms for user-controlled targeting/selection of various parts of the virtual object, including, for example:

-当用户指向真实世界对象的一部分时,用户的手指和/或指示设备比如“魔杖”由捕获相应真实世界对象的图像的相机跟踪。- When the user points to a part of a real-world object, the user's finger and/or pointing device such as a "wand" is tracked by a camera that captures an image of the corresponding real-world object.

-用户使用滚动光标选择特征/部分。- User selects feature/section using scroll cursor.

-用户控制的虚拟角色围绕虚拟对象的3D表示移动,并且用目标标线瞄准虚拟对象的一部分。- The user-controlled virtual character moves around the 3D representation of the virtual object and targets a portion of the virtual object with the target reticle.

-使用虚拟现实界面,其允许用户旋转并与虚拟对象的3D表示交互。- Use a virtual reality interface that allows the user to rotate and interact with 3D representations of virtual objects.

图9示出了用于确定主要方向的过程的流程图,例如基于图像或基于真实世界对象的扫描的另一种形式创建的虚拟对象的移动方向。例如,该过程可以由图1中描述的系统执行或者由其他合适的编程数据处理系统执行。Figure 9 shows a flowchart of a process for determining a principal direction, such as the direction of movement of a virtual object created based on an image or another form of scanning of a real-world object. For example, the process may be performed by the system described in FIG. 1 or by other suitable programmed data processing systems.

在初始步骤S1-S3中,该过程获得指示玩具构造模型或另一真实世界对象的视觉外观的数据(步骤S1),从所获得的数据构建玩具构造模型的3D数字表示(步骤S2)并且创建虚拟对象(步骤S3)���所有这些都如结合图2的过程所述。In initial steps S1-S3, the process obtains data indicative of the visual appearance of the toy construction model or another real-world object (step S1), constructs a 3D digital representation of the toy construction model from the obtained data (step S2) and creates Virtual objects (step S3 ), all as described in connection with the process of FIG. 2 .

在随后的步骤S904中,该过程检测虚拟对象的边缘,例如使用本领域本身已知的合适的边缘检测方法。图10示出了在计算机的显示区域中显示的虚拟对象1001的示例,其中检测到的边缘由箭头指示。In a subsequent step S904, the process detects the edges of the virtual object, eg using suitable edge detection methods known per se in the art. Figure 10 shows an example of a virtual object 1001 displayed in a display area of a computer, with detected edges indicated by arrows.

仍然参照图9,在随后的步骤S905中,该过程基于检测到的边缘确定所创建的虚拟对象的主要运动方向。为此,该过程可以检测检测到的边缘的一个或多个属性,例如以下属性中的一个或多个:Still referring to FIG. 9, in the subsequent step S905, the process determines the main direction of movement of the created virtual object based on the detected edges. To do this, the process can detect one or more properties of the detected edges, such as one or more of the following properties:

-3D空间中的检测到的边缘相对于虚拟对象的位置,- the position of the detected edge in 3D space relative to the virtual object,

-3D空间中的检测到的边缘相对于虚拟对象的取向,- the orientation of the detected edge in 3D space relative to the virtual object,

-相应边缘的长度。- The length of the corresponding edge.

可替代地或另外,该过程可以检测可从其导出主要方向的其他特征。这些特征的示例包括:玩具构造元件的边缘矢量,(例如车轮的)平面、椭圆的平面度、由玩具构造元件的联接构件的位置限定的网格等。基于一个或多个上述特性,该过程可以确定一个或多个可能的主要方向。例如,该过程可以将最可能的主要方向确定为大多数检测到的边缘所指向的方向。在另一实施例中,该过程可以不仅基于边缘的数量而且还基于指向给定方向的边缘的长度的总和来确定最可能的主要方向。在又一实施例中,该过程还可以考虑边缘的位置,例如通过加权高于彼此间隔开的边缘的彼此接近的边缘簇。Alternatively or additionally, the process may detect other features from which the principal direction can be derived. Examples of such features include: edge vectors of toy construction elements, planes (eg, of wheels), flatness of ellipses, grids defined by the positions of coupling members of toy construction elements, and the like. Based on one or more of the aforementioned characteristics, the process may determine one or more possible principal directions. For example, the process can determine the most likely dominant direction as the direction in which the majority of detected edges point. In another embodiment, the process may determine the most likely dominant direction based not only on the number of edges but also on the sum of the lengths of edges pointing in a given direction. In yet another embodiment, the process may also take into account the location of edges, eg by weighting clusters of edges that are close to each other above edges that are spaced apart from each other.

然后,该过程可以选择所确定的最可能的主要方向作为与虚拟对象相关的主要方向。可替代地,该过程可以向用户呈现多个候选方向,以便允许用户在所识别的候选方向中选择主要方向。图10还示出了允许用户选择多个候选方向之一的图形用户界面元件1016。The process may then select the determined most probable principal direction as the principal direction associated with the virtual object. Alternatively, the process may present a plurality of candidate directions to the user in order to allow the user to select the primary direction among the identified candidate directions. Figure 10 also shows a graphical user interface element 1016 that allows the user to select one of a plurality of candidate directions.

在替代实施例中,边缘检测还可以充当“手动覆盖”选择器。例如,系统可以在虚拟对象的显示表示中显示检测到的边缘,并允许用户选择最佳地表示全局行进方向或与虚拟对象相关的另一主要方向的边缘。In an alternate embodiment, edge detection can also act as a "manual overlay" selector. For example, the system may display detected edges in a displayed representation of the virtual object and allow the user to select the edge that best represents the global direction of travel or another principal direction relative to the virtual object.

一旦将全局主要方向(例如全局行进方向)分配给虚拟对象,全局主要方向可用于定义与一个或多个局部属性相关的方向,例如排出元件要被排出的方向。Once a global principal direction (eg, a global travel direction) is assigned to a virtual object, the global principal direction may be used to define a direction associated with one or more local attributes, such as the direction in which an ejected element is to be ejected.

应当理解,全局方向轴也可以以其他方式与虚拟对象相关,例如在扫描过程中。例如,可以在转盘上指示方向,并且可以通过当位于转盘上时真实世界对象相对于转盘的取向来定义真实世界对象的相应方向。然后可以在扫描过程期间检测该方向,并将其分配给基于扫描的真实世界对象创建的相应虚拟对象。It should be understood that the global orientation axis may also be related to the virtual object in other ways, such as during scanning. For example, directions may be indicated on the turntable, and the corresponding orientation of the real-world object may be defined by the orientation of the real-world object relative to the turntable when positioned on the turntable. This orientation can then be detected during the scanning process and assigned to a corresponding virtual object created based on the scanned real-world object.

如上所述,分配给虚拟对象的所选部分的一些局部属性可以具有与其相关的方向。图11示出了定向局部属性的示例。特别地,图11示出了虚拟车辆1101,其具有已经分配了激光功能的第一部分1111a、已经分配了火箭发射器功能的一对第二部分1111b以及已经分配了排气管功能的一对第三部分1111c。此外,保持工具1117的虚拟角色放置在车辆的驾驶员座位上,其中工具还具有与其相关的交互方向。激光功能、火箭发射器功能和排气管功能可各自具有与它们相关的排出方向,其指示各个排出元件(即分别为激光束、火箭、废气)排出的方向。这些方向由图11中的箭头表示。As described above, some local attributes assigned to selected portions of virtual objects may have orientations associated with them. Figure 11 shows an example of orientation local attributes. In particular, Figure 11 shows a virtual vehicle 1101 having a first part 1111a to which the laser function has been assigned, a pair of second parts 1111b to which the rocket launcher function has been assigned, and a pair of first parts 1111b to which the exhaust pipe function has been assigned Three parts 1111c. In addition, a virtual character holding a tool 1117 is placed on the driver's seat of the vehicle, where the tool also has an interaction direction associated with it. The laser function, rocket launcher function, and exhaust pipe function may each have an exit direction associated with them, which indicates the direction in which the respective exhaust element (ie, laser beam, rocket, exhaust gas, respectively) exits. These directions are indicated by arrows in FIG. 11 .

可以通过本文描述的任何技术将上述功能属性分配给各个部分,例如基于用户选择虚拟对象的一部分,例如通过选择颜色、形状、3D几何形状、面、多边形、点等。可以基于所选部分的特性来确定与各个功能属性相关的方向,即基于所选部分的检测到的边缘和/或基于所选部分的主表面法线或平均表面法线。然后,所确定的方向可以与属性一起存储,并且与分配了方向属性的相应部分相关。The aforementioned functional attributes may be assigned to various parts by any of the techniques described herein, eg, based on user selection of a portion of a virtual object, eg, by selecting colors, shapes, 3D geometric shapes, faces, polygons, points, and the like. The directions associated with the respective functional attributes may be determined based on characteristics of the selected portion, ie based on the detected edges of the selected portion and/or based on the major surface normal or average surface normal of the selected portion. The determined direction can then be stored with the attribute and associated with the corresponding portion to which the direction attribute is assigned.

在一些实施例中,该过程可以将所有局部属性映射到与虚拟对象相关的全局主要方向,例如使得所有排出元件(例如火箭)总是相对于虚拟对象的主要运动方向向前发射。In some embodiments, the process may map all local attributes to a global principal direction associated with the virtual object, eg, such that all ejection elements (eg, rockets) always fire forward relative to the principal direction of motion of the virtual object.

图12示出了用户辅助选择虚拟模型的一部分的过程的另一示例。根据该示例,该过程选择虚拟对象的一部分,在该部分处可以发生虚拟对象与另一虚拟对象或与虚拟环境的交互。更具体地,在图12的示例中,用户选择虚拟对象的骑行位置,在这种情况下是虚拟车辆。一旦选择了虚拟对象的一部分,该过程就为所选部分分配“骑行位置”属性。该属性还可以具有与其相关的方向,例如虚拟角色坐在骑行位置时的姿势方向。与交互属性相关的方向可以由与所选部分相关的主要或平均表面法线确定。用户可以通过在模型的表示上移动指针或光标来选择可以发生交互的虚拟对象的部分。该过程可以示出在由用户指示的部分处与虚拟模型交互的另一虚拟对象,并且示出当用户将光标或指针移过虚拟对象的表示时交互的变化。例如,在图12中所示的骑行位置示例的上下文中,该过程可以使用虚拟对象的表面上的相应位置处的表面法线来在定义虚拟对象的骑行位置时使虚拟对象1201上的虚拟角色1218“攀爬”动画。为此,当用户将光标或指针移动到虚拟对象上时,例如采用游戏控制器,相应的局部法线值被传递给角色动画例程。FIG. 12 shows another example of a process for user-assisted selection of a portion of a virtual model. According to this example, the process selects a portion of the virtual object at which interaction of the virtual object with another virtual object or with the virtual environment may occur. More specifically, in the example of FIG. 12 , the user selects a riding position of a virtual object, in this case a virtual vehicle. Once a portion of the dummy object is selected, the process assigns the selected portion a "riding position" attribute. The attribute can also have an orientation associated with it, such as the avatar's pose orientation when sitting in a riding position. The direction associated with the interaction property can be determined by the principal or average surface normal associated with the selected part. The user can select parts of the virtual object that can interact with by moving the pointer or cursor over the representation of the model. The process may show another virtual object interacting with the virtual model at the portion indicated by the user, and show the change in interaction as the user moves a cursor or pointer over the representation of the virtual object. For example, in the context of the riding position example shown in Figure 12, the process may use surface normals at corresponding locations on the virtual object's surface to make The avatar 1218 "climbs" animation. To this end, when the user moves the cursor or pointer over a virtual object, such as with a game controller, the corresponding local normal value is passed to the character animation routine.

图13示出了用于创建虚拟对象的过程的另一示例。在初始步骤S1和S2中,该过程获得指示玩具构造模型或另一真实世界对象的视觉外观的数据,并从所获得的数据(例如从结合图2实施例的步骤S1和S2描述的数字图像)构建玩具构造模型的3D数字表示。3D表示可以是表面网格表示或另一种合适的3D表示。在图13所示的示例中,真实世界对象是以由多个玩具构造元件组装而成的小雕像1301的形式的玩���结构模型,例如元件类似���人物的腿部1319、小雕像的躯干部分1320、小雕像的头部1321、小雕像佩戴的装甲头盔1322以及由小雕像携带的多个附件1323和1324。应当理解,该过程还可以基于从其他类型的玩具构造元件构建���另一种类型的玩具构造模型来执行。FIG. 13 shows another example of a process for creating a virtual object. In initial steps S1 and S2, the process obtains data indicative of the visual appearance of a toy construction model or another real-world object, and from the obtained data (eg, from the digital images described in connection with steps S1 and S2 of the FIG. 2 embodiment) ) to construct a 3D digital representation of a toy construction model. The 3D representation may be a surface mesh representation or another suitable 3D representation. In the example shown in Figure 13, the real world object is a toy construction model in the form of a figurine 1301 assembled from a number of toy construction elements, eg elements similar to the legs 1319 of the character, the torso portion 1320 of the figurine , the figurine's head 1321, the armored helmet 1322 worn by the figurine, and a number of accessories 1323 and 1324 carried by the figurine. It should be understood that this process may also be performed based on another type of toy construction model constructed from other types of toy construction elements.

在步骤S1303中,该过程检测玩具构造模型的一个或多个玩具构造元件,例如基于已知玩具构造元件的库1325。特别地,已经认识到,出于创建虚拟对象的目的,可能不必识别模型的所有玩具构造元件,但是可能足以识别某些类型的玩具构造元件。特别是,虚拟对象的某些部分对于虚拟对象的特征的真实动画比其他部分更重要。例如,小雕像的躯干和/或腿部对于虚拟小雕像的运动的合适动画可能比例如头盔或附件更重要。类似地,汽车的车轮对于汽车的动画可能比例如底盘部分更重要。In step S1303, the process detects one or more toy construction elements of the toy construction model, eg, based on the library 1325 of known toy construction elements. In particular, it has been recognized that for the purpose of creating a virtual object, it may not be necessary to identify all toy construction elements of a model, but it may be sufficient to identify certain types of toy construction elements. In particular, some parts of the virtual object are more important for the realistic animation of the features of the virtual object than others. For example, proper animation of the figurine's torso and/or legs may be more important to the movement of the virtual figurine than, for example, the helmet or accessories. Similarly, the wheels of the car may be more important to the animation of the car than, for example, the chassis part.

因此,通过提供所选的已知玩具构造元件的库以及它们的特征,例如移动特征,允许创建在虚拟环境中表现出丰富行为的虚拟对象,同时减少与识别玩具构造模型的多个玩具构造元件相关的计算任务。已知玩具构造元件的库1325可以在其中存储已知玩具构造元件的3D表示,例如以表面网格表示、体素表示、CAD表示等形式,例如如WO2004/034333中所述。已知的玩具构造元件可以进一步存储有与它们相关的一个或多个属性,例如颜色、用于促进运动动画的骨架、一个或多个动画例程、一个或多个其他功能特征。Thus, by providing a library of selected known toy construction elements and their characteristics, such as movement features, allows the creation of virtual objects that exhibit rich behavior in a virtual environment, while reducing and identifying multiple toy construction elements of a toy construction model related computing tasks. The library 1325 of known toy construction elements may store therein 3D representations of known toy construction elements, eg in the form of surface mesh representations, voxel representations, CAD representations, etc., eg as described in WO2004/034333. Known toy construction elements may further have one or more properties associated with them stored, such as a color, a skeleton for facilitating motion animation, one or more animation routines, one or more other functional features.

应当理解,玩具构造模型的玩具构造元件的子集的识别可以使用本领域已知的识别过程来执行,例如通过将已知玩具构造元件的3D模型与所获得的玩具构造模型的3D模型的部分匹配和/或通过使用神经网络或其他自适应的数据驱动技术,例如如WO2016/075081中所述。It should be understood that the identification of the subset of toy construction elements of the toy construction model may be performed using identification processes known in the art, for example by comparing the 3D model of the known toy construction elements with portions of the obtained 3D model of the toy construction model Matching and/or by using neural networks or other adaptive data-driven techniques, eg as described in WO2016/075081.

在图13的示例中,该过程已经将小雕像的躯干部分1320检测为存储在已知躯干部分库中的已知躯干部分。可以理解的是,可替代地或另外,该过程可以识别其他已知部分,例如腿部1319。In the example of Figure 13, the process has detected the figurine's torso part 1320 as a known torso part stored in a known torso part library. It will be appreciated that, alternatively or additionally, the process may identify other known portions, such as legs 1319.

在随后的步骤S1304中,该过程将已被识别为对应于已知玩具构造元件的玩具构造模型的3D表示的一部分替换为从库1325检索的已知玩具构造元件的相应3D表示。该替换在图13的右下方示意性地示出。In a subsequent step S1304 , the process replaces a portion of the 3D representation of the toy construction model that has been identified as corresponding to a known toy construction element with the corresponding 3D representation of the known toy construction element retrieved from the library 1325 . This replacement is shown schematically in the lower right of FIG. 13 .

然后,可以将在步骤S1304中生成的如此修改的3D表示用作虚拟环境中的虚拟对象的3D表示。为此,已经替换3D表示的一部分的已知玩具构造元件的预定义属性可被自动分配给3D虚拟对象的相应部分。The thus modified 3D representation generated in step S1304 can then be used as the 3D representation of the virtual object in the virtual environment. To this end, predefined properties of known toy construction elements that have replaced part of the 3D representation can be automatically assigned to corresponding parts of the 3D virtual object.

然而,应当理解,该过程可以进一步允许通过本文描述的机制之一进行用户辅助分配属性。这些属性可以分配给由替换步骤1304产生的虚拟对象的一部分,因为这部分现在可以由用户容易地选择,例如如上面参考图5和6所述。可替代地或另外,可以将属性分配给用户选择的虚拟对象的其他部分。It should be appreciated, however, that this process may further allow for user-assisted assignment of attributes through one of the mechanisms described herein. These attributes may be assigned to a portion of the virtual object produced by the replacement step 1304, since this portion can now be easily selected by the user, eg, as described above with reference to FIGS. 5 and 6 . Alternatively or additionally, attributes may be assigned to other parts of the virtual object selected by the user.

通过已知元件替换3D表示的部分的示例包括:Examples of replacing parts of a 3D representation by known elements include:

-识别并替换小雕像的躯干。使已知部分动画的基础骨骼结构也与已添加以替换原始网格的部分相关。然后,用户可以手动选择躯干以分配其他属性,例如,“Ninja”或“强人(Strongman)”属性,定义躯干如何动画移动。腿部、头部等也可以这样做。- Identify and replace the torso of the figurine. The underlying bone structure that animates known parts is also relative to the parts that have been added to replace the original mesh. The user can then manually select the torso to assign other properties, for example, the "Ninja" or "Strongman" properties, to define how the torso animate moves. The same can be done for the legs, head, etc.

-识别并替换汽车或其他车辆上的车轮。车轮的旋转轴作为属性与已知车轮相关;用户可以定义其他属性,例如汽车的全局行为,用于定义汽车如何行驶以及轮胎被分配多少抓地力属性。- Identify and replace wheels on cars or other vehicles. The wheel's axis of rotation is associated with a known wheel as a property; the user can define other properties, such as the car's global behavior, which defines how the car drives and how much grip property the tires are assigned.

-识别并由已知元件替换具有图形标记的玩具构造元件。如上所述,识别部分的表面的方向信息也是已知的。然后,用户可以手动分配属性。例如,将水炮属性分配给具有图形火焰标记的元件可能导致喷洒的热水可在计算机游戏中融化冰。- Identify and replace toy construction elements with graphic markings by known elements. As mentioned above, the orientation information of the surface of the identification part is also known. The user can then manually assign properties. For example, assigning a water cannon attribute to a component with a graphical flame marking could result in a spray of hot water that could melt ice in a computer game.

在一些实施例中,该过程自动检测并替换颜色和/或图形标记,并允许用户通过属性手动控制与颜色或标记相关的特征的动画和显示。可以独立于玩具构造元件的任何识别来执行这种类型的识别和替换。与上述实施例不同,其中颜色或标记用���������区域以应用属性,该实施例使用识别的标记作为动画的自动目标和/或识别的颜色作为视觉效果的自动目标。响应于用户选择(全局或局部),仍然可以应用效果或动画的选择。这些实施例的示例包括:In some embodiments, the process automatically detects and replaces color and/or graphic markers, and allows the user to manually control the animation and display of features associated with colors or markers through properties. This type of identification and replacement can be performed independently of any identification of toy construction elements. Unlike the above-described embodiments, where colors or markers are used as selectable areas to apply attributes, this embodiment uses identified markers as automatic targets for animation and/or identified colors as automatic targets for visual effects. Selection of effects or animations can still be applied in response to user selections (global or local). Examples of these embodiments include:

-识别生物眼睛上的图形标记,并将相应的动画目标覆盖在虚拟对象上。如果用户选择全局属性“愤怒的怪物”,则显示愤怒的眼睛动画。可替代地,用户可以在局部定义左眼将是“愤怒的怪物”而右边是“可爱的少女怪物”。- Recognize graphic markers on creature's eyes and overlay corresponding animation targets on virtual objects. If the user selects the global property "Angry Monster", the angry eye animation is displayed. Alternatively, the user may locally define that the left eye will be an "angry monster" and the right a "cute girly monster".

-识别生物上的颜色,并在区域上覆盖相应的动画目标。例如,用户可以在局部将“毛发”显示属性分配给所有绿色区域,并且绿色毛发看起来在绿色区域之外生长。全局地,用户可以将“蜜蜂”分配给整个对象,并且该过程将黄色和黑色“模糊”显示属性分配给不同颜色的区域。- Recognize colors on creatures and overlay corresponding animation targets on areas. For example, the user can locally assign the "hair" display attribute to all green areas, and green hair appears to grow outside the green areas. Globally, the user can assign a "bee" to the entire object, and the process assigns the yellow and black "blur" display properties to areas of different colors.

这里描述的方法的实施例可以借助于包括若干不同元件的硬件来实现,和/或至少部分地借助于适当编程的微处理器来实现。Embodiments of the methods described herein may be implemented by means of hardware comprising several distinct elements, and/or at least in part by means of a suitably programmed microprocessor.

在���举了若干装置的权利要求中,这些装置中的几个可以由同一个元件、部件或硬件项来体现。仅在相互不同的从属权利要求中陈述或在不同实施例中描述的某些措施的事实并不表示这些措施的组合不能用于获益。In the claims enumerating several means, several of these means may be embodied by one and the same element, means or item of hardware. The mere fact that certain measures are recited in mutually different dependent claims or described in different embodiments does not indicate that a combination of these measures cannot be used to advantage.

应该强调的是,当在本说明书中使用时,术语“包括”用于指定所述特征、元件、步骤或部件的存在,但不排除一个或多个其他特征、元件、步骤、部件或其组的存在或添加。It should be emphasized that, when used in this specification, the term "comprising" is used to designate the presence of stated features, elements, steps or components, but does not exclude one or more other features, elements, steps, components or groups thereof presence or addition.

Claims (16)

1. A computer-implemented method for creating a virtual object; the method comprises the following steps:
-obtaining a digital representation of the visual appearance of the real world object, the digital representation being created from data received from one or more sensor devices operable to capture radiation from the real world object;
-creating a virtual object having a visual appearance based on the received digital representation;
-selecting a portion of the virtual object; and
-assigning one or more local properties to the selected portion of the virtual object, the local properties indicating a functional capability of a portion of the virtual object;
the assigned local attribute is a riding position of the virtual character relative to the virtual object; and wherein the method comprises:
-determining a surface normal of a surface of the virtual object at the selected riding position; and
-determining a ride posture of the virtual character based on the determined surface normal.
2. The method of claim 1; wherein the obtained digital representation represents at least a surface geometry of the real world object.
3. The method according to claim 1 or 2; wherein selecting a portion of the virtual object comprises:
-detecting a predetermined feature of the virtual object based on the obtained digital representation; and
-selecting a portion of the virtual object that is related to the detected feature.
4. The method of claim 3; wherein selecting a portion of the virtual object comprises:
-receiving a user input indicating a user selected portion of the virtual object;
-detecting a predetermined feature of the virtual object based on the user selected portion.
5. The method of claim 4; wherein selecting a portion of the virtual object comprises:
-detecting one or more features of the virtual object based on the obtained digital representation;
-receiving a user input indicative of a user selection of one of the detected one or more features; and
-selecting a portion of the virtual object in response to a user selection.
6. The method according to claim 1 or 2; wherein selecting a portion of the virtual object comprises receiving a user input indicating a user selected portion of the virtual object.
7. The method of claim 6; wherein the user input indicates a user selected location on a surface of the virtual object; wherein, the method comprises the following steps:
-determining visible characteristics of a virtual object associated with the user selected position;
-determining a portion of the virtual object as a portion of the virtual object having a common visual characteristic with the determined visual characteristic associated with the user selected position.
8. The method according to claim 1 or 2; wherein the assigned local attribute has an associated attribute direction, and wherein the method further comprises:
-determining a direction associated with the selected portion of the virtual object; and
-assigning the determined direction as the attribute direction to the assigned local attribute.
9. The method according to claim 1 or 2; wherein the digital representation comprises a plurality of geometric elements, such as surface elements or volume elements, representing a surface model or a volume model of the real world object.
10. The method of claim 9, wherein selecting a portion of a virtual object comprises:
-identifying a portion of the virtual object as a representation of the identified one of the plurality of predetermined portions, the identified portion corresponding to a subset of the plurality of geometric elements;
-retrieving the stored digital representation of the identified predetermined part from a library of stored digital representations of a plurality of predetermined parts; wherein the one or more stored digital representations of the predetermined portion have associated therewith one or more predetermined local attributes; and
-replacing the subset of geometric elements with the retrieved digital representation of the identified predetermined portion.
11. The method according to claim 1 or 2; wherein assigning the one or more local attributes to the selected portion of the virtual object comprises:
-detecting one or more characteristics of the selected portion and/or one or more other portions of the virtual object different from the selected portion; and
-selecting one or more local attributes based on the detected one or more characteristics.
12. The method of claim 11; wherein the one or more other portions are portions having a predetermined spatial relationship with the selected portion.
13. The method according to claim 1 or 2, wherein the local attribute indicates a functional capability selected from:
-the ability of a part of the virtual object to move relative to the rest of the virtual object or relative to another part of the virtual object;
-the ability of a portion of the virtual object to eject one or more virtual ejection elements;
-the ability of a part of a virtual object to interact with other virtual objects.
14. A data processing system configured to perform the steps of the method according to any one of claims 1 to 13.
15. A computer program product comprising program code means adapted to cause a data processing system to perform the steps of the method according to any one of claims 1 to 13 when said program code means are executed on said data processing system.
16. A toy construction system comprising:
-a data processing system according to claim 14; and
-a plurality of toy construction elements, each toy construction element comprising one or more coupling members configured for detachably interconnecting the toy construction elements to each other in order to form a real world object.
CN201780050088.XA 2016-07-05 2017-07-04 Method for creating virtual objects Active CN109641150B (en)

Applications Claiming Priority (3)

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

Publications (2)

Publication Number Publication Date
CN109641150A CN109641150A (en) 2019-04-16
CN109641150B true CN109641150B (en) 2022-06-07

Family

ID=60912379

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780050088.XA Active CN109641150B (en) 2016-07-05 2017-07-04 Method for creating virtual objects

Country Status (4)

Country Link
US (1) US11083968B2 (en)
EP (1) EP3481519A1 (en)
CN (1) CN109641150B (en)
WO (1) WO2018007351A1 (en)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11010986B2 (en) 2018-08-30 2021-05-18 Apple Inc. Virtual object kit
US11107293B2 (en) 2019-04-23 2021-08-31 XRSpace CO., LTD. Head mounted display system capable of assigning at least one predetermined interactive characteristic to a virtual object in a virtual environment created according to a real object in a real environment, a related method and a related non-transitory computer readable storage medium
CN110064200B (en) 2019-04-25 2022-02-22 腾讯科技(深圳)有限公司 Object construction method and device based on virtual environment and readable storage medium
EP4051549A4 (en) * 2019-11-15 2024-04-24 Waymo Llc Generating environmental data
JP7502881B2 (en) * 2020-03-30 2024-06-19 株式会社バンダイナムコエンターテインメント Program and virtual model generation control device
JP7312737B2 (en) * 2020-11-19 2023-07-21 株式会社コーエーテクモゲームス Program, information processing method and information processing apparatus
US12390735B2 (en) * 2021-04-13 2025-08-19 Lego A/S System and method for the construction of interactive virtual objects
US12106360B2 (en) * 2021-04-29 2024-10-01 Snap Inc. Generating virtual digital objects using blockchain technology
CN116688501A (en) * 2022-02-28 2023-09-05 腾讯科技(成都)有限公司 Virtual object control method, device, equipment, medium and program product
JP7397237B1 (en) * 2022-03-03 2023-12-12 任天堂株式会社 Information processing system, information processing program, information processing method, and information processing device
US12151166B2 (en) 2022-08-09 2024-11-26 Reuven Bakalash Integrated reality gamified applications
US12220643B2 (en) * 2022-08-09 2025-02-11 Reuven Bakalash Build and design-an integrated-reality educational gaming application
JP7507906B2 (en) * 2023-02-01 2024-06-28 任天堂株式会社 GAME PROGRAM, INFORMATION PROCESSING SYSTEM, INFORMATION PROCESSING DEVICE, AND INFORMATION PROCESSING METHOD
CN116430990A (en) * 2023-02-23 2023-07-14 北京字跳网络技术有限公司 Interaction method, device, equipment and storage medium in virtual environment

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110086702A1 (en) * 2009-10-13 2011-04-14 Ganz Method and system for providing a virtual presentation including a virtual companion and virtual photography
CN103201731A (en) * 2010-12-02 2013-07-10 英派尔科技开发有限公司 Augmented reality system
CN103582902A (en) * 2011-06-06 2014-02-12 微软公司 Add properties to virtual representations of real-world objects
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
GB2532075A (en) * 2014-11-10 2016-05-11 Lego As System and method for toy recognition and detection based on convolutional neural networks

Family Cites Families (34)

* 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
US6290565B1 (en) * 1999-07-21 2001-09-18 Nearlife, Inc. Interactive game apparatus with game play controlled by user-modifiable toy
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
US20020196250A1 (en) 2001-06-20 2002-12-26 Gateway, Inc. Parts assembly for virtual representation and content creation
JP4509789B2 (en) 2002-10-11 2010-07-21 レゴ エー/エス 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
US8353767B1 (en) 2007-07-13 2013-01-15 Ganz System and method for a virtual character in a virtual world to interact with a user
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
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
JP5721634B2 (en) * 2008-12-05 2015-05-20 ソーシャル・コミュニケーションズ・カンパニー Real-time kernel
US9595108B2 (en) 2009-08-04 2017-03-14 Eyecue Vision Technologies Ltd. System and method for object extraction
EP2462537A1 (en) 2009-08-04 2012-06-13 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
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
WO2014010004A1 (en) 2012-07-13 2014-01-16 株式会社ソニー・コンピュータエンタテインメント Input device, information processing system, information processing device and information processing method
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
US9971492B2 (en) * 2014-06-04 2018-05-15 Quantum Interface, Llc Dynamic environment for object and attribute display and interaction
CA2960816A1 (en) * 2014-09-10 2016-03-17 Hasbro, Inc. Toy system with manually operated scanner
KR102435699B1 (en) 2014-10-02 2022-08-25 레고 에이/에스 Game system
US9478109B2 (en) 2014-12-29 2016-10-25 Immersion Corporation Virtual sensor in a virtual environment
CA2983046A1 (en) * 2015-04-23 2016-10-27 Hasbro, Inc. Context-aware digital play

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110086702A1 (en) * 2009-10-13 2011-04-14 Ganz Method and system for providing a virtual presentation including a virtual companion and virtual photography
CN103201731A (en) * 2010-12-02 2013-07-10 英派尔科技开发有限公司 Augmented reality system
CN103582902A (en) * 2011-06-06 2014-02-12 微软公司 Add properties to virtual representations of real-world objects
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
GB2532075A (en) * 2014-11-10 2016-05-11 Lego As System and method for toy recognition and detection based on convolutional neural networks

Also Published As

Publication number Publication date
US20190240580A1 (en) 2019-08-08
US11083968B2 (en) 2021-08-10
WO2018007351A1 (en) 2018-01-11
EP3481519A1 (en) 2019-05-15
CN109641150A (en) 2019-04-16

Similar Documents

Publication Publication Date Title
US11779846B2 (en) Method for creating a virtual object
CN109641150B (en) Method for creating virtual objects
US10583354B2 (en) Interactive game apparatus and toy construction system
US11938404B2 (en) Method of creating a virtual game environment and interactive game system employing the method
CN109069929B (en) System and method for toy identification
KR102667210B1 (en) interactive video game system
US8648864B2 (en) System and method for blended animation enabling an animated character to aim at any arbitrary point in a virtual space
EP3545497B1 (en) System for acquiring a 3d digital representation of a physical object
Held et al. 3d puppetry: a kinect-based interface for 3d animation.
CN101715581B (en) Volume recognition method and system
WO2017029279A2 (en) Method of creating a virtual game environment and interactive game system employing the method
US20230065252A1 (en) Toy system and a method of operating the toy system
Huang et al. Unreal interactive puppet game development using leap motion
US7999812B2 (en) Locality based morphing between less and more deformed models in a computer graphics system
US20180370154A1 (en) System and method for creating physical objects used with videogames
Vieira Keepers of intheris: story and aesthetics
Xia 3D Game Development with Unity: A Case Study: A First-Person Shooter (FPS) Game
Konsén 3D model of a real world model: Creating import-ready asset.
SLAMKA 3D VIDEO GAME CREATION IN C
Bianca-Cerasela-Zelia Blaga et al. DAR: Implementation of a Drone Augmented Reality Video Game.
Håkansson et al. Developing a Workflow for Cross-platform 3D Apps using Game Engines
DK201670933A1 (en) System for acquiring a 3D digital representation of a physical object

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
GR01 Patent grant
GR01 Patent grant