CN109564708B - 分析用于3d打印的对象的设备和方法 - Google Patents
分析用于3d打印的对象的设备和方法 Download PDFInfo
- Publication number
- CN109564708B CN109564708B CN201780049018.2A CN201780049018A CN109564708B CN 109564708 B CN109564708 B CN 109564708B CN 201780049018 A CN201780049018 A CN 201780049018A CN 109564708 B CN109564708 B CN 109564708B
- Authority
- CN
- China
- Prior art keywords
- game
- score
- video game
- time
- printing
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 104
- 238000010146 3D printing Methods 0.000 title claims abstract description 78
- 230000008569 process Effects 0.000 claims description 36
- 238000007639 printing Methods 0.000 claims description 28
- 238000009877 rendering Methods 0.000 claims description 19
- 230000000007 visual effect Effects 0.000 claims description 19
- 238000004458 analytical method Methods 0.000 claims description 18
- 239000000463 material Substances 0.000 claims description 18
- 238000004364 calculation method Methods 0.000 claims description 13
- 230000004044 response Effects 0.000 claims description 13
- 238000012360 testing method Methods 0.000 claims description 6
- 230000001419 dependent effect Effects 0.000 claims 1
- 230000000153 supplemental effect Effects 0.000 description 26
- 230000007613 environmental effect Effects 0.000 description 18
- 239000000843 powder Substances 0.000 description 16
- 239000004033 plastic Substances 0.000 description 14
- 229920003023 plastic Polymers 0.000 description 14
- 230000000694 effects Effects 0.000 description 13
- 230000005484 gravity Effects 0.000 description 11
- 230000004048 modification Effects 0.000 description 11
- 238000012986 modification Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000000670 limiting effect Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 10
- 230000008859 change Effects 0.000 description 9
- 230000000295 complement effect Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 9
- 230000007547 defect Effects 0.000 description 8
- 230000033001 locomotion Effects 0.000 description 7
- 230000002093 peripheral effect Effects 0.000 description 7
- 238000003860 storage Methods 0.000 description 7
- 210000003128 head Anatomy 0.000 description 6
- 239000002994 raw material Substances 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000007726 management method Methods 0.000 description 5
- 238000000110 selective laser sintering Methods 0.000 description 5
- 238000007906 compression Methods 0.000 description 4
- 230000006835 compression Effects 0.000 description 4
- 230000001186 cumulative effect Effects 0.000 description 4
- 230000008021 deposition Effects 0.000 description 4
- 238000010438 heat treatment Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005286 illumination Methods 0.000 description 3
- 239000007788 liquid Substances 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 238000003825 pressing Methods 0.000 description 3
- 230000002829 reductive effect Effects 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 230000001502 supplementing effect Effects 0.000 description 3
- 239000002699 waste material Substances 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000004888 barrier function Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000002844 melting Methods 0.000 description 2
- 230000008018 melting Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 230000035484 reaction time Effects 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 230000008719 thickening Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 241000533950 Leucojum Species 0.000 description 1
- 241000282372 Panthera onca Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 239000011324 bead Substances 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004040 coloring Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000011960 computer-aided design Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000010219 correlation analysis Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 238000013213 extrapolation Methods 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 230000008921 facial expression Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000007654 immersion Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 210000003041 ligament Anatomy 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000155 melt Substances 0.000 description 1
- 206010027175 memory impairment Diseases 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000005293 physical law Methods 0.000 description 1
- 239000002244 precipitate Substances 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000003319 supportive effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 238000011179 visual inspection Methods 0.000 description 1
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B29—WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
- B29C—SHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
- B29C64/00—Additive manufacturing, i.e. manufacturing of three-dimensional [3D] objects by additive deposition, additive agglomeration or additive layering, e.g. by 3D printing, stereolithography or selective laser sintering
- B29C64/30—Auxiliary operations or equipment
- B29C64/386—Data acquisition or data processing for additive manufacturing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/25—Output arrangements for video game devices
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/33—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
- A63F13/335—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using Internet
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/85—Providing additional services to players
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B33—ADDITIVE MANUFACTURING TECHNOLOGY
- B33Y—ADDITIVE MANUFACTURING, i.e. MANUFACTURING OF THREE-DIMENSIONAL [3-D] OBJECTS BY ADDITIVE DEPOSITION, ADDITIVE AGGLOMERATION OR ADDITIVE LAYERING, e.g. BY 3-D PRINTING, STEREOLITHOGRAPHY OR SELECTIVE LASER SINTERING
- B33Y50/00—Data acquisition or data processing for additive manufacturing
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B33—ADDITIVE MANUFACTURING TECHNOLOGY
- B33Y—ADDITIVE MANUFACTURING, i.e. MANUFACTURING OF THREE-DIMENSIONAL [3-D] OBJECTS BY ADDITIVE DEPOSITION, ADDITIVE AGGLOMERATION OR ADDITIVE LAYERING, e.g. BY 3-D PRINTING, STEREOLITHOGRAPHY OR SELECTIVE LASER SINTERING
- B33Y50/00—Data acquisition or data processing for additive manufacturing
- B33Y50/02—Data acquisition or data processing for additive manufacturing for controlling or regulating additive manufacturing processes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Materials Engineering (AREA)
- Chemical & Material Sciences (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Manufacturing & Machinery (AREA)
- Computer Graphics (AREA)
- Mechanical Engineering (AREA)
- Optics & Photonics (AREA)
- Architecture (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Processing Or Creating Images (AREA)
- Image Processing (AREA)
Abstract
一种计算来自用于3D打印的视频游戏的对象的适合性的方法,所述方法包括以下步骤:获得表示如在视频游戏内的时间点发现的对象的数据;计算指示如由获得的数据所表示的对象的适合度的多个不同得分,用于生成对象的3D打印,其中,多个不同得分分别响应于从由以下各项组成的列表中选择的一个或多个:如在视频游戏内的时间点发现的对象的布置;对象的一个或多个元素对另一个元素的依赖性;用于将3D打印对象的元素连接在一起的任何连接结构的属性;获得的数据的质量;以及用于生成用于对象的3D打印版本的打印数据的方法;计算在视频游戏内的时间点发现的对象的多个不同得分的组合得分;以及将组合得分与表示如在视频游戏内的时间点发现的对象的数据相关联。
Description
技术领域
本发明涉及分析用于3D打印的对象的设备和方法。
背景技术
3D打印是体积打印的一种手段,其中打印机不是在平面上沉积二维像素,而是在体积内沉积三维体素。有许多技术可以实现这一目标,包括使用激光来熔化和融合诸如增量层中的金属粉末的材料来构建结构,或使用高温打印头来沉积冷却并硬化来建立3D模型的塑料小滴。
通常在计算机辅助设计程序中生成这种3D模型的设计,其中用户限定虚拟模型的表面和体积。然后由指定其中使用3D打印机融合或沉淀材料以呈现虚拟模型的顺序的程序生成绘图列表。
这种手段导致生成许多美学和功能上独特的对象,其中一些对象难以使用传统工艺制造。然而,3D打印机的实用性仍未得到充分研究。
特别地,可能期望在游戏期间的特别难忘或重要的时间点捕获动态生成的或动画的3D模型,诸如在视频游戏期间发现的3D模型。
然而,这带来了模型可能在所选时刻处于任意姿势的问题,使得模型的成功3D打印变得困难。
本发明旨在解决或缓解该问题。
发明内容
在第一方面,根据权利要求1提供了一种分析来自用于3D打印的视频游戏的对象的方法。
在另一方面,根据权利要求13提供了一种3D打印分析器。
在所附权利要求中限定了本发明的其他各个方面和特征。
附图说明
现在将参考附图以示例的方式描述本发明的实施例,其中:
图1是根据本发明实施例的娱乐设备的示意图。
图2A是根据本发明实施例的3D打印机的侧视图的示意图。
图2B是根据本发明实施例的3D打印机的平视图的示意图。
图3A是根据本发明实施例的视频游戏虚拟环境的示意图。
图3B是根据本发明实施例的用于3D打印的视频游戏角色模型的示意图。
图4是根据本发明实施例的3D模型空间投影的示意图。
图5A-E是示出根据本发明实施例的生成用于3D打印的几何的过程的示意图。
图6是根据本发明实施例的3D可打印视频游戏角色的示意图。
图7是根据本发明实施例的3D可打印视频游戏角色的示意图。
图8是根据本发明实施例的3D打印虚拟环境的方法的流程图。
图9A-9C是示出根据本发明实施例的游戏中对象元素的不同布置和依赖性的示意图。
图10是根据本发明实施例的从用于3D打印的视频游戏中分析对象的方法的流程图。
具体实施方式
公开了一种从用于3D打印的视频游戏中分析对象的设备和方法。在以下描述中,呈现了许多具体细节以便提供对本发明实施例的透彻理解。然而,对于本领域技术人员显而易见的是,不需要采用这些具体细节来实施本发明。相反,为了清楚起见,在适当的地方省略了本领域技术人员已知的具体细节。
在本发明的实施例中,娱乐设备可操作地耦合到3D打印机。如下文所述,娱乐设备被布置在操作中以捕获视频游戏的快照以供3D打印机复制。
娱乐设备
适合的娱乐设备的示例是
图1示意性地示出了娱乐设备的整体系统架构。提供系统单元10,其中各种外围设备可连接到系统单元。
系统单元10包括作为单个芯片的加速处理单元(APU)20,其又包括中央处理单元(CPU)20A和图形处理单元(GPU)20B。APU 20可以访问随机存取存储器(RAM)单元22。
APU 20可选地经由I/O桥24与总线40通信,I/O桥24可以是APU 20的离散组件或部分。
连接到总线40的是诸如硬盘驱动器37的数据存储组件,以及可操作以访问兼容光盘36A上的数据的蓝光驱动器36。另外,RAM单元22可以与总线40通信。
可选地,还连接到总线40的是辅助处理器38。可以提供辅助处理器38以运行或支撑操作系统。
系统单元10经由音频/视频输入端口31、端口32、/>无线链路33、/>无线链路34或一个或多个通用串行总线(USB)端口35适当地与外围设备通信。音频和视频可以经由诸如HDMI端口的AV输出39输出。
外围设备可以包括单视场或立体摄像机41,诸如PlayStation或PS诸如PlayStation/>的棒式视频游戏控制器42和诸如DualShock/>的传统的手持式视频游戏控制器43;便携式娱乐设备44,诸如PlayStation/>和PlayStation/>键盘45和/或鼠标46;媒体控制器47(例如以远程控制的形式);和头戴耳机48。可以类似地考虑其他外围设备,诸如电话或平板电脑、打印机或3D打印机(未示出)。
GPU 20B(可选地结合CPU 20A)生成视频图像和音频以经由AV输出39输出。可选地,音频可以与音频处理器(未示出)结合或由音频处理器替代地生成。
视频和可选的音频可以呈现给电视51。在电视支撑的情况下,视频可以是立体的。音频可以以诸如立体、5.1环绕声或7.1环绕声的多种格式中的一个呈现给家庭影院系统52。视频和音频同样可以呈现给用户60穿戴的头戴式显示单元53。头戴式显示单元可以具有整体式耳机、可附接的耳机/耳塞,或者依赖于提供给用户的单独音频。
更详细地,关于处理,CPU 20A可以包括两个64位四核模块,例如基于的“Jaguar”CPU架构总共八个核。每个核可以使用1.6GHz的基本时钟速度。GPU 20B可以包括18个计算单元,每个计算单元包括64个核,总共1152个核。GPU可以基于例如/>的GCN架构。GPU核可以用于图形、物理计算和/或通用处理。
关于存储,系统RAM 22可以包括8GB RAM,例如在16块512MB GDDR5统一的系统存储器中,并且由CPU和GPU共享。同时硬盘可能是500GB的硬盘。可选地,安装硬盘驱动器以便可由系统单元的用户替换。驱动器可以以标准读取速度的倍数读取蓝光光盘中的数据。蓝光驱动器可以可操作地耦合到硬件实现的所谓的“zlib”解压缩模块。辅助处理器可以提供有其本身的本地存储器,诸如256MB的DDR3 SDRAM。
关于通信,系统单元10可以包括802.11b/g/n34;10Base-T、100BASE-TX和1000BASE-T/>32;Bluetooth/>33和一个或多个USB 3.0端口35。系统单元可以经由AV输入31接收视频和可选的音频。类似地,系统单元可以经由AV输出39或经由或USB输出视频和可选的音频。
关于外围设备,系统单元通常提供有至少一个手持控制器43,诸如DualShock 4。该控制器可以用于与由系统单元呈现的用户界面交互,该系统单元与操作系统和/或由系统单元运行的特定游戏或应用相关联。
用户还可以使用诸如PlayStation的摄像机41与系统单元交互。这可以经由例如AV输入31向系统单元10提供单视场或立体视频图像。在这些图像捕获一些或全部用户的情况下,用户可以适当地制定手势、面部表情或语音,以与当前呈现的用户界面交互。
替代地或另外地,可以提供设计用于辅助基于相机的用户交互的控制器,诸如PlayStation42。该控制器具有棒形状因子和照明区域,便于在捕获的视频图像内的控制器的检测。照明区域可以类似地提供在其他控制器43上,诸如在DualShock/>上。两种控制器包括运动传感器,用于检测沿三个轴的横向运动和围绕三个轴的旋转运动,以及无线通信部件(诸如/> ),以将运动数据传送到系统单元。可选地,这种控件还可以从系统单元接收控制数据以制定诸如隆隆声效应的功能,或者改变照明区域的颜色或亮度,其中由控制器支撑这些控制。
系统单元还可以与便携式娱乐设备44通信。便携式娱乐设备44将包括其本身的一组控制输入和音频/视频输出。因此,在“远程游戏”模式中,便携式娱乐设备的一些或全部输入可以作为输入被中继到系统单元10,而来自系统单元10的视频和/或音频输出可以被中继到便携式娱乐设备以用于使用其本身的音频/视频输出。通信可以是无线的(例如,经由或/> )或经由USB电缆。
可以经由有线或无线部件与系统单元10交互的其他外围设备包括键盘45、鼠标46、媒体控制器47和头戴耳机48。头戴耳机可包括一个或两个扬声器,并且可选地包括麦克风。
关于输出,GPU通常生成到AV输出39的1080p高清图像。这些图像的帧速率可能会有所不同。该图像通常经由标准HDMI连接传送到电视51,可选地经由AV接收器(未示出)传送到电视51。在电视支撑立体显示的情况下,并且可选地响应于来自用户的命令,1080p高清可以例如使用左右并排格式被格式化为立体图像。然后,电视将图像分成两部分,并将每半部分插值到全宽,以便通过使用特殊调整的眼镜或通过使用来自自动立体显示器的定向光路分别向用户的左眼和右眼呈现。
可选地,结合辅助音频处理器(未示出),APU 20生成音频以经由AV输出39输出。音频信号通常是立体格式或几种环绕声格式中的一个。同样,这通常经由HDMI标准连接传送到电视51。替代地或另外地,可以将其传送到AV接收器(未示出),AV接收器对音频信号格式进行解码并呈现给家庭影院系统52。还可以经由到头戴耳机48或手持控制器43的无线链路提供音频。然后,手持控制器可以提供音频插孔以使耳机或头戴耳机能够连接到它。
最后,视频和可选的音频可以被传送到头戴式显示器53,诸如Sony显示器。头戴式显示器通常包括分别安装在用户眼睛前方的两个小显示单元,可选地与合适的光学器件结合以使用户能够聚焦在显示单元上。或者,一个或多个显示源可以安装到用户头部的侧面并且可操作地耦合到光导以分别将所显示的图像或每个所显示的图像呈现给用户的眼睛。或者,一个或多个显示源可以安装在用户眼睛上方并经由镜子或半镜呈现给用户。在后一种情况下,显示源可以是移动电话或便携式娱乐设备44,可选地显示分屏输出,其中屏幕的左右部分显示用户左眼和右眼的相应图像。它们的头戴式显示器可以包括集成耳机,或者提供到耳机的连接。类似地,安装的显示器可以包括集成的麦克风或提供到麦克风的连接。
在操作中,娱乐设备默认使用诸如FreeBSD 9.0的变型的操作系统。操作系统可以在CPU 20A、辅助处理器38或两者的混合上运行。操作系统为用户提供诸如PlayStation动态菜单的图形用户界面。该菜单允许用户访问操作系统功能并选择游戏和可选的其他内容。
在启动时,要求各个用户使用他们各自的控制器选择他们各自的账户,使得可选地随后将游戏中的成就认证给正确的用户。新用户可以设置新帐户。具有主要与不同娱乐设备相关联的帐户的用户可以在当前娱乐设备上以访客模式使用该帐户。
一旦选择了至少第一用户帐户,OS就可以提供显示关于新游戏或其他媒体的信息、以及最近由与第一用户帐户相关联的朋友发布的活动的欢迎屏幕。
然后,OS提供一系列图标供用户在其中进行选择,例如以两个平行等级行的形式。在该示例中,顶行的内容可以是固定的并且与操作系统功能相关,而底行可以至少部分地动态组装以与最近的活动相关,诸如为最近玩的或下载的游戏提供启动图标。
顶行图标可以提供对与在线商店相关的屏幕的访问;通知;朋友;文字聊天;语音聊天;用户帐户简档;奖杯;系统设置;和/或电源管理。
当被选择时,在线商店可以提供对游戏和媒体的访问以便下载到娱乐设备。欢迎屏幕可以突出显示特色内容。在提供在线订阅服务(诸如所谓的“PS Plus”)的情况下,除了标准内容或价格之外,还可以提供该服务专有的内容或价格。商店还可以提供向在线帐户支付用于购买内容的钱的部件,并且可以提供购买记录,使得用户能够在以后或多次(例如在选择交换到更大的硬盘之后)下载所购买的内容项。
通知屏幕提供有关新奖杯的信息;游戏提醒(例如与特殊在线事件有关);来自朋友的游戏邀请;内容的下载和/或更新状态,并上传正在共享的内容的状态。
朋友屏幕允许用户查看他们的所有朋友或根据当前在线的人过滤他们;另外,用户可以查看他们在娱乐设备的游戏或其他多用户应用中遇到的其他用户的列表,并且可选地向这种用户发送朋友请求或相反地阻止用户以避免再次遇到他们。此外,可选地,用户可以请求朋友允许他们看到他们的真实姓名;随后他们也可以经由其他社交媒体(诸如)、可选地经由内置界面与该朋友联系。
文本聊天提供了向娱乐设备的网络的其他用户和朋友发送消息的手段。同时,语音聊天提供了邀请一群朋友通过娱乐设备的网络共享音频频道的手段,使得他们例如在玩游戏时可以彼此聊天。
帐户用户简档屏幕允许用户查看与他们与娱乐设备的活动有关的统计数据。屏幕还提供了配置用户在网络上的外观的部件,诸如选择与其用户名相关联的化身。
奖杯屏幕允许用户查看他们的奖杯和游戏中进度;奖杯可以在逐个游戏的基础上组织。可以将用户的奖杯或其他表现统计数据与他们的朋友的那些进行比较,以识别在游戏中具有最接近的更好的表现统计的朋友,以便鼓励用户进一步玩耍或改善他们的游戏。
系统设置屏幕提供对更多菜单的访问,使用户能够配置操作系统的方面。这些包括设置娱乐设备网络帐户,以及用于与因特网的有线或无线通信的网络设置;选择用户将在用户界面内的其他地方接收的通知类型的能力;登录偏好,诸如指定主帐户以在启动时自动登录,或者使用面部识别来选择摄像机41连接到娱乐设备的用户帐户;家长控件,例如为特定用户帐户设置最长游戏时间和/或年龄评级;保存数据管理以确定存储诸如保存的游戏的数据的位置,使得可以将游戏保存在设备本地或存储在云存储器或USB上,以使游戏进度能够在娱乐设备之间转移;系统存储管理,使用户能够确定游戏如何使用他们的硬盘,从而决定是否应该删除游戏;软件更新管理,以选择是否应自动更新;音频和视频设置,在无法自动检测到的地方提供关于屏幕分辨率或音频格式的手动输入;在其他设备(诸如手机)上运行的任何配套应用的连接设置;用于任何便携式娱乐设备44的连接设置,例如将这种设备与娱乐设备配对,使得它可以被视为用于所谓的“远程游戏”功能的输出显示器和输入控制器。
娱乐设备网络帐户可以被设置为包括用户的真实姓名和可选的其他个人详细信息、用于在线支付的银行详细信息、当前娱乐设备是否是与用户帐户相关联的主要娱乐设备的指示,以及选择地在与用户帐户相关联的娱乐设备之间转移许可的能力。另外,用户可以提供用于其可以将访问集成到操作系统(诸如和/>)中的其他服务的用户帐户信息;这使得能够与可能不在娱乐设备网络上但在其他社交网络上的朋友容易地共享用户的活动。
电源管理图标允许用户关闭设备。可选地,除非用户介入,否则它可以提供用于娱乐设备在预定时间之后关闭的计时器。
菜单的底行可以显示最近玩过的游戏、能够快速访问的图标。可选地,游戏图标的选择提供游戏进度和任何相关统计数据的摘要,以及诸如来自也玩过或正在玩游戏的朋友的进度和评论的适当的信息。还可以提供关于游戏的其他信息,诸如最近应用的更新的详细信息、或者与在线商店中可用的游戏相关联的可下载内容的链接。
底行还可以提供对其他媒体源的访问(诸如网络浏览器、电视和音乐媒体应用),以及由娱乐设备网络提供的任何直播流服务。另外,可以提供图标以访问设备上的完整内容库,诸如最近未玩的游戏。
操作系统的用户界面还可以从在外围设备(诸如手持控制器43)上提供的特定控件接收输入。特别地,可以提供在当前玩的游戏和操作系统界面之间切换的按钮。另外,可以提供按钮以使得能够与其他人共享玩家的活动;这可能包括拍摄当前显示器的屏幕截图或记录视频,可选地还有来自用户头戴耳机的音频。这些记录可以上传到社交媒体中心,诸如娱乐设备网络、和/>
3D打印机
如先前所述,娱乐设备可操作地耦合到3D打印机。
应当理解,存在许多用于3D打印的技术,这些技术通常通过如何构建层来创建模型来区分。一种技术被称为选择性激光烧结(SLS),其中粉末层通过激光选择性地熔合在一起以形成固体区域;然后将新的粉末层置于顶部,并重复该过程以构建模型。另一种技术被称为立体光刻,并且使用光反应液体与一个或多个激光器结合在限定的点处硬化液体,从而再次通常在层中构建模型。虽然这两种技术都设想在本发明的实施例的范围内,但它们的缺点是需要强大的激光器和模型周围的大量的粉末或液体形式的基质材料,这使得它们对于家用不太实用。因此,优选的(但非限制性的)技术是熔融沉积建模(FDM)。该手段使在模型的连续层上移动的打印头中的塑料熔化,以类似于通过喷墨打印机在纸张上沉积墨滴的方式在每层中的选择位置处沉积塑滴。这避免了对激光器或模型使用的原材料的周围基质的需要。因此,出于理解的目的,本文中参考图2A和2B简要描述了FDM 3D打印机。
图2A示出了简单FDM 3D打印机100的侧视图,而图2B示出了相同FDM 3D打印机的平面图。打印机100包括基础结构110,基础结构110提供用于组装打印的模型的工作表面和打印机框架120可以在其上升高和降低的支撑支柱102。
在示例机构中,马达112Y耦合到包括螺纹的驱动杆104;然后,打印机框架120包括具有螺纹孔和光滑孔的耦合部分,螺纹孔与驱动杆接合,并且光滑孔与支撑支柱中的一个接合。当在打印机驱动器的指令下,马达112Y沿顺时针或逆时针方向转动驱动杆时,打印机框架在驱动杆和支撑支柱上向上或向下移动(即沿y轴),从而升高或降低附接到其上的打印机托架130。
从图2B中可以看出,打印机框架120通常安装在四个支撑支柱102上。可选地,第二马达、驱动杆和耦合部分可以提供在框架的相对角部处,以降低框架和马达上的劳损。
打印机框架120支撑打印机托架130。马达112X耦合到驱动带122,驱动带122通过固定部件124固定到打印机托架130。当在打印机驱动器的指令下,马达112X顺时针或逆时针旋转驱动带时,打印机托架130沿打印机框架120向右或向左移动(即沿x轴),从而横向地移动附接的打印机机构140。
打印机托架130支撑打印机机构140。马达112Z耦合到驱动带132,驱动带132通过固定部件134固定到打印机机构140。当在打印机驱动器的指令下,马达112Z顺时针或逆时针旋转驱动带时,打印机机构140移入或移出深度方向(即沿z轴)。
打印机机构140本身包括加热部件,加热部件用于加热进给到机构(未示出)中的一个或多个塑料线的端部,或用于加热从机构(未示出)上的料斗获得的塑料粉末的颗粒。通过打印机驱动器的指令来控制塑料的加热或者加热塑料的释放。然后如果适用,通过打印机头或喷嘴142将所得到的熔融塑料珠或滴沉积在打印机的工作表面110或部分构建的模型(未示出)上。
以这种方式,在打印机驱动器的合适指令下,打印机头可以使用马达112X、Y、Z定位在3D打印机的工作体积内的任何位置,并且可以在该位置处沉积塑料滴,然后冷却并硬化塑料滴以形成3D模型的体素。通过打印头的连续移动和塑料滴的选择性熔化或释放,因此可以从多个这种体素构建完整的3D模型。
通常,打印机驱动器本身是计算机辅助设计系统中的软件模块,计算机辅助设计系统接收描述3D模型的模型几何。然后,打印机驱动器为y方向上的每个层生成一个体素厚度的3D模型的薄切片,并确定该层中每个体素的x、z坐标。打印机驱动器然后向打印机100输出一系列指令,以将打印机头142移动到层y中的每个体素的相应x、z坐标,其中指示打印机机构加热和/或释放塑料滴以在那个位置形成体素。通过这种方式,3D打印机将数字3D模型重建为物理模型。
在本发明的实施例中,打印机驱动器并入到视频游戏或娱乐设备的操作系统中,或者由视频游戏或操作系统使用的支撑功能的中间件库中。
虚拟环境
现在参考图3,在娱乐设备上运行的视频游戏包括虚拟环境,其中当用户改变视点的位置并且作为游戏的实体或元素制定脚本活动、遵守游戏中的物理定律,对用户的行为作出反应,或者这些的任何混合时,通常动态地观看多个实体或环境元素。
在图3中,示出了简单的环境200,其包括具有门212的房间210;在一个墙壁上,在烛台214中安装蜡烛。在房间里是玩家的角色220(这里例如由虚构的游戏角色Blobman说明)。
虚拟环境通常以限定对象表面的多边形的形式、由几何数据在3D中构建。这些多边形可以例如在静态对象和背景场景的情况下被预定义,或者可以在环境内的移动实体(诸如玩家的角色)的情况下被扭曲/重新定位或程序地生成。应当理解,本文对“多边形”的引用包括从中构建多边形的、诸如顶点的初始几何特征,其中这些用于图形管线中。类似地,体素渲染使用等效的几何特征来描述对象。因此,描述为应用于多边形的过程可以适当地全部或部分地应用于这种其他几何特征。
然后准备虚拟环境以从所选视点呈现给用户。对用户具有视线的环境元素用与其所表示的对象相适应的纹理信息进行图案化,并且进一步处理纹理几何以用于照明效果(诸如来自虚拟光源的亮度变化),以及凹凸映射(或类似的技术,诸如位移映射或使用等值面)来模拟纹理应该如何与这种虚拟光源相互作用。另外,可以包括诸如体积雾和粒子效应的其他效果。
然后,最终渲染的图像通常经由2D或3D电视或经由头戴式显示器呈现给用户。
通常在这种游戏中,用户具有他们期望与朋友和/或更广泛的世界共享的体验。为此,如先前所述,诸如PlayStation的娱乐设备可以在其控制器上具有“共享”按钮,以便于捕获呈现给用户的图像,然后可以将其上传到诸如社交媒体网站的共享站点。
使用补充几何打印环境的3D模型
在本发明的实施例中,向用户提供选择游戏内的时刻的选项,从该时刻创建3D打印模型。以这种方式,用户可以创建他们的游戏中体验的有形纪念品。
应当理解,游戏中几何(顶点、多边形等)可适合于驱动3D打印过程。例如,中基于块的简单环境可能适合由3D打印机渲染。
但是,这是例外而不是规则。视频游戏的特殊吸引力在于它们能够呈现不受正常物理规则约束的环境和角色。特别地,对象可以彼此之间以预定的关系存在而没有物理连接(如图3A中的名义角色“Blobman”所示,其手和脚在该图中没有物理地附接到他的躯干上),而其他对象(诸如窗帘、披肩,以及在许多情况下诸如墙壁的环境分量)可以仅在三维环境内的两个维度中限定。这是因为物理强度不是环境的要求,其中程序规则阻止移动超出某些边界,并且墙壁仅仅是用于划分这些边界的纹理的装饰性表面。
因此,虚拟环境可以包括几个具有零厚度的边界表面,在其上放置物理对象,其中一些在现实世界中可能另外是不稳定的。这种边界表面的示例可以是图3的虚拟环境200中的房间210的墙壁。
使用3D打印机打印这种虚拟环境是不可行的。
补充几何
因此,在本发明的实施例中,提供了补充打印机几何,其用于修改不适合3D打印的环境的元素。
现在参考图3B,在一个实施例中,补充打印机几何由游戏开发者以与传统游戏几何类似的方式限定。例如,用于角色“Blobman”的补充打印机几何可以包括杆222A、B、C、D,以将腿和臂连接到角色的躯干,使得修改的3D角色220’是适合于3D打印的连续体。
除了支撑3D打印的元素之外,补充打印机几何可以复制一些或所有现有的游戏中几何,或者可以仅包括支撑3D打印的元素,其中组合的补充和游戏中几何用于3D打印。替代地或另外地,在一些情况下,可以使用游戏中几何的部分替换,例如,为了安全原因或者为了给对象在3D打印时可选支撑表面提供更好的纽带,用圆形或宽的表面替换剑或细高跟的尖点。
因此,更一般地,游戏中几何由用于考虑在重力作用下的打印过程和完成模型的物理要求的3D打印的补充打印机几何补充,并且可选地至少部分地由其替换。
因此,当用户暂停游戏(或游戏记录-参见本文其他地方)并选择3D快照进行打印时,在打印机所需的绘图列表直接输出到打印机或输出到供打印机驱动器随后使用的文件之前,使用兼容3D打印的补充打印机几何修改环境。
类似地,可以限定用于环境的2D元素的补充打印机几何,其具有在3D打印时为环境特征提供足够结构支撑所需的厚度。
应当理解,在构建期间3D模型也可以通过应用墨水或通过选择不同颜色的塑料来着色,那么用于视频游戏几何的纹理也可以用于驱动该模型的着色过程。
还应当理解,纹理也可以用于补充打印机几何,达到游戏中和补充几何匹配的程度。但是,对于在渲染的游戏中找不到的补充打印机几何的元素(诸如上面“Blobman”示例中的杆),可以提供补充纹理,或者可以从现有纹理外推纹理,或者可以不使用纹理。在纹理被外推的情况下,可选地,纹理可以从支撑元素抵抗重力(例如,地面,或者在Blobman的情况下,从脚到躯干,和从躯干分别到手和头)的环境的部分外推,因为这可能会在模型内创造出最不显眼的支撑结构。或者,在不使用纹理的情况下,裸塑料(或其他3D打印机材料)保持暴露,使得观察者清楚这是不是原始图像的一部分的功能支撑。优选哪种手段可以是用户或开发者的艺术决策。
为了限制开发者的负担,可以仅在游戏的关键区域中提供该补充打印机几何,例如在解决特定谜题或者老板被击败的情况下。因此,仅在所支撑的区域内启用创建3D快照的选项。可选地,在这种区域中,可以提供附加的“奖励”几何,例如用户可以选择用于其角色在环境的3D打印版本内使用的独占胜利姿势。
然而,应当理解,补充打印机几何给开发者带来了开发负担,并且在打印游戏中体验的纪念品的灵活性和需要限定以支撑该能力的附加几何的数量之间进行折中。最好增加可能的环境数量,同时减轻开发者的负担。
从图像的集合中打印环境的3D模型
在本发明的实施例中,再次向用户提供选择游戏内时刻的选项,从该时刻创建3D打印模型。以这种方式,用户可以创建他们的游戏中体验的有形纪念品。
在本发明的实施例中,当娱乐设备接收到指示用户期望创建当前场景的3D打印的输入时,游戏状态被冻结(例如,暂停),使得其可以被分析用于3D打印。
应当理解,可能被认为是用于3D模型的可能信息源的游戏中几何可以是多边形、骨架模型、皮肤模型、凹凸映射和物理导出的程序模型或模型(通常仅在一个地方(在它们被渲染以在屏幕上显示时)、并且以一种格式(在它们被渲染以在屏幕上显示时)组合的)的变型等的混合。
因此,在本发明的实施例中,以优先于虚拟环境几何的潜在不同的游戏中表示、使用这些渲染的图像构建用于3D打印的3D模型。然而,单个渲染的图像通常将包括不足以完全建模用于3D打印的虚拟环境的信息。
如先前所述,在正常游戏期间,针对特定视点渲染虚拟环境。此外,为了实现高帧速率和高效处理,然后作为该渲染过程的一部分,在渲染过程的早期剔除从该特定视点不可见的环境元素。
因此,仅保留和渲染从所选视点可见的环境元素。如果要使用此渲染生成环境的3D打印机模型,那么从该特定视点不可见的模型的所有方面都将丢失或者必须使用某种形式的插值算法来填充。显然,当从任何其他角度观看真实的打印模型时,这将导致不令人满意的结果。
因此,在本发明的实施例中,当游戏状态被冻结时,娱乐设备从不同的视点生成虚拟环境的多个渲染图像。
优选地,渲染至少两个相对的视点,其中第一视点通常是最初向用户显示的视点。在两个图像之间,这导致在原始渲染视图中剔除的环境的大多数(如果不是全部)元素的渲染。
可选地,渲染三个视点,优选地均匀地分布在平面上,其中第一视点是最初向用户显示的视点,并且该平面在该第一视点的视图方向上等级居中。同样,这导致在原始渲染视图中剔除的环境的大多数(如果不是全部)元素的渲染,但可能会捕获更多可能被前面和后面的对象遮挡的环境元素,因此不会在上面提到的两个视点中的任何一个中渲染。
更一般地,随着更多视点分布在平面上,环境的更少元素保持未渲染。例如,娱乐设备可以在环境内进行“飞越”,捕获N个图像,其中N例如在2和360之间。捕获图像的数量是最终模型的保真度与分析捕获图像所需的娱乐设备的存储器和处理能力之间的折中(如本文后面所述)。
可选地,还可以渲染(作为单独的图像或作为飞越序列的一部分)从虚拟环境之上向下看的一个或多个视点,以提供与基本上平行于先前捕获的在单个平面(诸如某些环境特征的顶表面)上的视点的那些环境元素的附加细节。
在本发明的实施例中,还记录与表示每个图像的视点的虚拟相机的位置和观看方向有关的元数据,并将其与相应图像相关联。
应当理解,虚拟环境可以表示大区域,而3-D模型将包括由可以由特定3-D打印机生成的模型的尺寸确定的有限区域以及环境被打印的比例。优选地,如果特定3-D打印机与娱乐设备通信,则特定3-D打印机的特性是已知的(否则,可以假设默认模型尺寸或者用户可以规定尺寸);类似地,环境被打印的比例可以由用户选择,或者可以参考环境内的关键角色(诸如用户的化身)自动确定。可以将该化身选择为最终3-D打印机模型内的特定尺寸(作为非限制性示例,默认为5cm高),并且因此可以计算以相同比例打印的环境的程度。或者,在“角色打印”模式中,可以仅打印特定角色,诸如用户的化身,而不包括围绕游戏内环境特征。对于允许用户定制他们本身的游戏中角色并且在情感上附接到其上的情况,这可能是特别有价值的。
因此,两个或更多个视点的等距分布可以以该关键角色为中心,并且可以可选地使用任何游戏中相机控制逻辑来确定使关键角色在每个捕获图像内居中所需的必要视图方向。
在游戏呈现第一人称视图的情况下,然后基于模型尺寸和假设或用户设置的比例,可以计算模型的中心点并且可以围绕它分布视点。
结合上述手段,娱乐设备可以通过选择预定半径的球体上的采样点来捕获图像,并且该球体以该中心点为中心。可选地,可以跳过被环境屏障遮挡的那些采样点(诸如地面下方或山内的球体上的点),或者可以局部降低球体的半径直到表面不再被环境屏障遮挡。采样方案可以首先在上述平面上选择包括原始视点和中心点并且平行于原始视点的等级轴的视点,然后可选地在该平面上方的球体上选择一个或多个视点,并且可选地在该平面下方的球体上选择一个或多个视点。预定半径可以等于原始视点与模型的确定中心点之间的距离,以保持与原始捕获图像的一致性,或者原始图像和后续附加图像可以在不同的有效半径处重新渲染,例如在图像的视野包含将包括在3D打印模型中的地面区域处的最小半径。值得注意的是,通常游戏在较大的绘制距离处使用较低保真度的模型来简化渲染过程。因此,可选地,半径可以被约束到等于渲染距离的最大距离,在该渲染距离处游戏将选择图像的关键元素的较低保真度模型(诸如用户的化身)。进一步可选地,出于美学目的,或者因为他们期望确保特定环境特征或特征的组合被包括在最终模型中,这可以被用户覆盖。对于允许用户定制环境的情况,这可能是特别有价值的,例如通过创建所谓的“mods”。
在任何情况下,结果是针对给定游戏状态捕获虚拟环境的两个或更多个互补视点的一组图像。
应当理解,上述图像捕获过程可以由娱乐设备控制。然而,替代地或另外地,用户可以通过选择这些视点本身并使用传统的图像捕获过程从一个或多个不同的视点捕获相同场景的图像。这些观点可能不对应于此前讨论的优选分布。同样应当理解,不同用户可以在不同的时间、在不同的娱乐设备上捕获来自不同视点的相同场景的图像;提供用户可以访问汇总的图像组(例如,如果它们被发布到在线论坛,或者是从移动或改变视点的“飞越”视频中提取的静止图像,诸如可以包括在视频游戏的预告片视频中),然后可以获得虚拟环境的两个或更多个互补视点的等效组。
给定这些图像以及与视点位置和方向有关的可选相关联元数据,娱乐设备可以分析这些图像以生成3-D模型数据。
可选地,以互补的方式可以使用几种分析技术。
剪影分析使用捕获图像中对象的边缘来估计到该边缘的局部对象的轮廓。然后可以将对象轮廓垂直于每个视点的轮廓拉伸,直到它与另一个拉伸的轮廓(通常从另一个视点拉伸)相交,以创建对象形状的近似值。应当理解,随着视点的数量根据本文先前描述的方案而增加,每个拉伸将围绕对象对向更小的角度,从而导致对象的更精确的整体模型。
立体分析使用两个重叠视点内的相同对象的相对位移来计算它们与该视点或每个视点的距离。根据该信息,可以构建深度图,该深度图指示对两个视点可见的区域中的对象的3D形状。因此,在更多视点可用的情况下,可以使用连续的视点对来构建被观看对象的表面图。
在任何一种情况下,在没有视点信息的情况下,这可以通过相关联图像之间的环境特征,以及选择提供这些特征的相对位置的最佳相关性的视点位置和方向来估计。
应当理解,剪影分析和立体分析可以用于彼此互补。例如,这两种技术可用于检测彼此模型中的错误;在这两种技术生成对象表面的估计相差阈值量的情况下,可以使用与阈值协议内的两种技术的对象表面的附近估计之间的插值最接近匹配的估计,而丢弃其他估计。可选地,如本文稍后所讨论的,在打印之前,还可以突出显示模型的这些区域以供用户检查和/或编辑。
在从第三方(例如,从论坛上的屏幕截图)获得图像数据的情况下,上述技术特别有用,并且没有可用的附加元数据。
然而,在由娱乐设备生成和捕获图像的情况下,还可以捕获由娱乐设备本身生成的相关联深度信息。如先前所述,在传统的视点渲染期间,从渲染视图中剔除遮挡的环境元素。该遮挡至少部分地由环境中的对象与虚拟相机的相对距离来确定;例如,位于其他对象后面的对象被视为被遮挡并因此被剔除。这些距离由娱乐设备为此目的计算。这意味着每个捕获图像都有精确的每像素(或甚至子像素)分辨率距离或“深度”图。
在本发明的实施例中,还捕获该深度图并将其与由娱乐设备捕获的每个图像相关联,以用于生成3D模型。原则上,通过复制在生成图像时使用的所谓的z缓冲器,可以以对渲染器的操作透明的方式获得该信息。因此,在这方面,图像捕获过程不需要修改游戏渲染引擎。
现在参考图4,给定关于每个图像的位置A和视点方向B的信息以及相关联的距离信息z,可以将每个图像的像素投影到共享虚拟建模空间300内的相应点。实际上,每个像素在图像局部的坐标方案中从图像视点的位置A移位量x、y、z(但是可以使用已知技术将其旋转到共享虚拟建模空间共有的坐标方案)。这里,x和y是捕获图像中的像素坐标(由名义屏幕C表示),z是距离相机位置A的该像素的相关联深度或距离值。为清楚起见,已经在图4中投影了仅一列像素(即,对于单个值x),但是应当理解,可以以这种方式投影图像的所有像素。
结果是每个图像的像素将在位于场景中的虚拟对象的表面上的3D中的正确位置处、定位在共享虚拟建模空间内,如图4中使用Blobman的示例所示。当每个图像被投影到共享虚拟建模空间中时,场景中每个对象的更多表面将以这种方式“打印入”。在两个图像将相同像素投影到3D空间中的相同点上的情况下,可以丢弃第二投影像素或者可以替换第一像素,或者可以使用平均或多数规则方案来选择颜色信息。
应当理解,像素是二维对象。因此,在本发明的实施例中,当来自图像的像素被投影到共享虚拟建模空间中的位置xi、yj、zk时,实际上在该位置处创建体素(通常为立方体3维像素),并且,与投影像素相关联的颜色信息被用作体素的颜色信息。
效果是通过将每个图像中的图像像素的颜色数据投影到共享虚拟建模空间中的x、y、z位置来创建表示虚拟环境的可见表面的体素壳。
应当理解,不是使用来自娱乐设备的z缓冲深度信息将多个图像投影到共享建模空间中,而是可以使用先前讨论的立体深度估计和/或剪影分析和表面拉伸技术来估计该深度信息。因此,这些技术也可用于以上述方式驱动共享模型空间内的体素壳的组装。
在任何情况下,一旦使用了所有图像,就可以分析所得到的体素壳的完整性。可以通过从周围表面插值来填充表面中的任何间隙(可选地低于阈值尺寸)。
在以体素壳的形式生成环境的3D形状的估计之后,可以生成3D模型用于打印。
应当理解,当作为物理模型打印时,一个体素厚度的模型壳不太可能足够强。
因此,壳可以拉伸到预定的厚度。拉伸可以通过将相邻的体素添加到与它们被投射到共享虚拟建模空间的(一个或多个)侧相对的侧上的每个表面体素来执行(即,在壳的内侧或下侧)。添加的体素的数量可以是M体素中的较小者或者到达对象的相对的现有表面所需的数量。可以选择M以生成响应于用于打印模型的材料的重量和强度的厚度。
类似地,可以确定(现在拉伸的)模型中的最低点。通常在壳的下侧上的至少两个附加点可以进一步被拉伸以匹配最低点,从而为物理模型提供至少三个支撑点。优选地,这些支撑点围绕模型的计算质心分布。
为了帮助确定用于支撑的可行位置,可以进一步改变壳的厚度以改变质心,从而可以潜在地选择用于支撑的不同的位置。
以这种方式,虚拟环境的3D模型可以由多个游戏中图像构建,这些图像在物理打印时将保持向上并且可以从多个角度观看到。
然后将模型发送到3D打印机驱动器,该驱动器将模型从下向上切割成多个层。然后如先前所述由3D打印机连续打印这些层。
修改模型
如先前所述,视频游戏的共同特征是其中的对象不受物理定律的限制,这可能妨碍视频游戏元素的成功3D打印。上述一种解决方案是提供补充打印机几何,其修改视频游戏元素,使得它们在打印时可以存在(即支撑它们本身)。
类似地,在本发明的实施例中,修改先前描述的游戏中模型或基于图像的体素壳,以考虑3D打印模型的物理要求。
如先前所述,体素壳可以拉伸成M体素厚度,以提供一些物理强度。这也解决了环境中没有厚度的游戏中对象的问题,因为与这些对象相对应的几何以与体素壳的任何其他元素相同的方式被拉伸。
然而,对于环境的某些元素,这可能无法提供足够的物理支撑,或者在环境中的空中对象的情况下,可能完全缺少支撑。
程序性补充几何
因此,可以为3D打印的目的提供对游戏中几何/体素壳的程序性限定的修改。这些程序性修改为虚拟环境的某些元素提供结构强度和/或物理支撑,否则在3D打印模型中复制是不可行的。还应当理解,这些程序性限定修改可以应用于游戏中几何,而不是使用补充打印机几何或者使用补充打印机几何。
因此,在下文中,为了简化说明,对“打印机几何”的引用是指为限定用于打印的3D模型而创建的体素,并且程序性补充几何的示例基于体素壳的分析,应当理解,这些可以同样地指游戏中几何(无论是否通过补充几何部分增强)。
一旦生成了初始体素壳,娱乐设备就可以生成程序性生成或修改的打印机几何。
根据几个基本规则,分析体素壳以检测是否需要附加的几何。
一个分析步骤是检测环境内是否存在不受支撑的对象。
如果是这样,那么这些可以受到最小尺寸阈值的限制,使得低于阈值的对象(例如雪花、子弹等)被忽略并且随后不保留在3D模型内。可以删除体素壳中的相关联体素。可选地,该步骤可以在修改的渲染过程中实现,使得在收集用于模型的图像时,不首先渲染这些项目,使得图像的分析更简单。
同时,对于满足阈值的对象,可以在对象和附近的锚点之间程序性地生成用于诸如连接杆的支撑结构的打印机几何,锚点是最终连接到地面的环境的一部分。可以假设地面本身连接到体素壳的最低点。可选地,分析可以从体素壳的最低部分向上进行,以便可以顺序地支撑不受支撑的对象,使它们依次支撑后续对象。
因此,例如在视频游戏角色跳跃到空中的情况下,通过创建体素圆柱体(例如,默认为M体素厚度),将在其脚底与地面之间形成支撑杆。
然而,杆的厚度也可以根据基本规则程序地确定。对于给定类型的打印机,将知道普通3D打印机材料的体积重量和可选地它们的压缩和弯曲强度。此外,将知道打印模型的预期尺寸。因此,娱乐设备可以估计不受支撑的对象的重量,并计算在模型内充分支撑对象所需的支撑杆的厚度。特别是在连接杆部分或全部横向并且因此可以弯曲的情况下,不受支撑的对象的力矩是其重量乘以其沿着杆的当前位置的距离的函数。此外,当构建用于这种对象的连接杆时,连接杆本身的重量可以是重量的显着比例。因此,杆可以在更靠近锚定点更厚,并且朝向不受支撑的对象逐渐变细,因为杆的相应部分在锚定点处比在不受支撑的对象处支撑更大的重量。
在另一个分析步骤中,上述原理可以应用于体素壳的其他部分;例如,游戏内的虚拟模型桌可能具有太细的腿而不能支撑桌面的总质量和桌面上的任何对象。例如,如果桌子上有一个角色,但桌腿只有几个体素厚,它们的强度可能不足以支撑物理模型。因此,可以评估体素壳的特征以确定它们将在模型中支撑的总重量,并且当其超过支撑该重量的体素壳的横截面积的安全余量时,可以通过按比例放大其横截面并用体素填充它来增厚。该原理还可以例如应用于环境中的树木,其中树枝和树干的累积重量用于局部地修改树枝或树干的几何,以使它们的横截面更大以适应重量,在那些情况下当使用与3D打印机相关联的特定材料渲染为3D模型时,现有几何在局部不足以适应重量。
随后,可以计算调整后的模型的重心以检测它是否会翻倒。如果是这样,则可以移动支撑以恢复稳定性,或者可选地,可以在一个或多个所选位置加厚体素壳以将重心改回到稳定位置。
如先前所述,环境的二维分量与初始体素壳的其他部分一起被拉伸,以生成具有至少最小厚度的三维对象。然而,该拉伸过程可以如下所述进一步修改。
现在参考图5A-E,可以看出,图5A表示来自环境200的二维墙壁,在其上在游戏中放置蜡烛和烛台。然后图5B示出了在垂直于墙壁平面并且与投影图像的侧面相对的方向上延伸墙壁的拉伸过程,以程序地生成描述具有预定厚度(例如M个体素)的墙壁的几何。然而,如图5C中所示,物理打印墙壁的累积重量将根据墙壁上的位置而改变,并且还遇到另外支撑蜡烛和烛台的墙壁的部分的阶梯变化。因此,恒定厚度的墙壁可能是不合适的,因为靠近基部的墙壁的厚度可能不足以充分支撑模型的累积重量。
因此,参考图5D-E,然后从墙壁顶部的最小优选拉伸的厚度开始,拉伸的厚度随累积重量的增加而增加,导致在将烛台附接到墙壁上的点处的厚度的阶梯变化,以提供附加的支撑。应当理解,如图5D-E所示,程序规则可以使这些附接点周围的区域变厚,使得在将烛台的负载施加到墙壁之前墙壁稍微变厚。另外,当拉伸墙壁的下部时,程序规则可以适应支撑性增厚本身的附加质量。最后,如图5E所示,由烛台和支撑区域施加的负载可横向和垂直分布,使得加厚的支撑区域在其向墙壁下传播时向侧面展开。
程序规则还可以与游戏开发者提供的附加信息交互,以帮助自动生成期望的补充几何。
例如,先前所述的规则是在不受支撑的对象和最近锚点之间程序性地生成连接杆,其中锚点是最终连接到地面的环境的一部分,这可以导致如图6所示的Blobman 220’的3D模型。应当理解,当分析角色的手时,它们可能更接近角色的脚而不是角色的躯干,并且可能还有角色的躯干尚未连接到锚结构本身。因此,程序规则可以将角色的手附接到可用的唯一接地锚点,即脚;随后,躯干可以锚定到最近的单个锚点,即现在是其中一个手。结果是虽然稳定、但在解剖学上不符合用户的期望的结构。
因此,游戏开发者(或用户)可识别环境元素之间的优选连接点,以指导连接杆或其他连接/支撑结构的程序性生成。可以通过使用一个或多个颜色通道内的保留值来限定这些连接点,使得能够通过使用图像内的特定颜色的识别像素来识别连接点;例如,如果在蓝色通道上保留值128以表示连接点,则可以在图7的Blobman角色220”的示例中使用其来指定模型上存在优选连接点的位置。然后在体素壳内使用这些保留值,创建可识别的锚点以与程序规则一起使用。例如,识别像素的其他两个颜色通道中的匹配值可用于指示成对的连接点,使得识别像素中的红色和绿色值对于手和躯干可以是相同的,从而使得这些被识别作为要连接在一起的部分。以这种方式,开发者可以保持对连接结构的放置的艺术控制,而不需要单独的元数据。如图7所示,在Blobman的情况下,这可以用于确保解剖学上可接受的连接杆组。同时,连接/支撑结构的程序性生成规则仍将确定需要充分支撑打印结构所需的横截面。
替代地或另外地,开发者可以提供纹理或模型元数据,或者指示锚位置,或者相反地指示不应该附接支撑结构的“禁”区,诸如角色的面部。然后,系统可以计算未标记为“禁”区中的支撑结构的位置。可以使用这些手段的组合,使得例如使用所识别的锚,同时模型的重心在由旨在搁置在地面上的支撑所限定的区域内超过预定的阈值距离,但是如果重心在该预定阈值差内移动,则可以根据需要重新定位一个或多个支撑,只要它们不会移动到“禁止”区域。
还应当理解,对于在渲染游戏中没有发现的补充打印机几何的元素(诸如上面“Blobman”示例中的连接杆),可以从现有体素壳外推纹理(颜色),或者可以不指定颜色。在颜色被外推的情况下,可选地,颜色可以从支撑元素抵抗重力(例如,地面,或者在Blobman的情况下,从脚到躯干,和从躯干分别到手和头)的结构的部分外推,因为这可能会在模型内创造出最不显眼的支撑结构。或者,在不使用纹理的情况下,裸塑料(或其他3D打印机材料)保持暴露,使得观察者清楚这是不是原始图像的一部分的功能支撑。优选哪种手段可以是用户或开发者的艺术决策。
还应当理解,渲染图像的像素分辨率可以高于选择用于打印的比例的3D打印机的体素分辨率。因此,渲染环境的特征有时可能具有相对于3D打印机的体素分辨率的高空间频率。因此,可以在投影到共享虚拟模型空间之前将图像过滤到兼容分辨率,以移除这种高频细节,从而避免在所得模型中的混叠效应。在这种情况下,在程序规则要使用保留的颜色通道值的情况下,这些在过滤后被保留或重新插入到较低分辨率的图像中。可以类似地过滤深度信息。
应当理解,这种过滤也可以应用于用作生成3D可打印模型的基础的游戏中模型的纹理和/或几何。
对象选择
以上讨论假设向用户显示的虚拟环境的区域将被复制为3D模型。然而,可选地,用户可以仅在环境中指定一个或多个对象用于3D打印;例如,用户可以选择仅打印他们的化身,或他们的化身和对手。
该选择可以例如通过用于限定所需对象周围的边界框的用户界面来完成,或者通过用于使用光标或标线来指示游戏环境内的特定对象的用户界面来完成。
在以与支撑表面隔离的方式选择对象的情况下,可以生成具有响应于选择的对象的尺寸的区域的默认表面(诸如平板)。然后可以使用本文描述的技术将所选对象耦合到支撑表面。
编辑
一旦使用上述适用的技术获得了打印机几何,则可选地将它们转移到编辑应用以供用户在将其发送到打印机之前预览或修改模型。例如,可能需要查看模型以寻找可能的错误,和/或编辑某些关键角色的姿势和位置。编辑器同样可以允许添加贴花,或者纯粹用于绘制纹理,或者例如通过删除表面体素来用于对象的表面结构,使得用户可以有效地将消息雕刻到模型的表面中。编辑器还可以提供模型误差的自动和/或引导校正,诸如校正重叠多边形、插值间隙、连接结构锚点的重新定位、调整对象墙壁厚度等。
最终打印
一旦用户对他们的3D模型感到满意,就可以将其发送到打印机。如先前所述,打印机驱动器分析模型并将其划分为多个体素层以进行连续打印。
在打印机是物理附接到控制台或共享家庭网络的家用设备的情况下,可以在娱乐设备上实现打印机驱动器,并且由娱乐设备将得到的绘图列表发送到打印机。
然而,可选地,娱乐设备的网络可以提供打印服务(也就是说,例如由娱乐设备的制造商提供的网络)。这可以允许访问比普通消费者能够承受的更昂贵和复杂的3D打印机,并因此获得更好的质量模型。在这些情况下,打印机驱动器可能仍在控制台上,以在用户之间分配处理负载,或者可能在连接到3D打印机的中央服务器上。在第一种情况下,本地打印机驱动器将生成可以安全地发送到中央打印队列服务器的绘图列表,以及与例如与用户的邮政地址或联系细节有关的元数据。在第二种情况下,娱乐设备将3D模型打印机几何安全地发送到中央打印机驱动器,该中央打印机驱动器执行相关分析以在排队打印之前生成所需的绘图列表。在这些情况中的任何一种情况下,模型的打印可能取决于支付费用,例如经由使用娱乐设备的网络注册的支付卡,或者类似地可能取决于接收到的可能获得的凭证(例如作为奖杯或其他游戏中奖励,或作为游戏购买价格的一部分),使用户有权从该游戏创建预定数量的3D模型。
废旧材料
应当理解,诸如选择性激光烧结的3D打印技术可以在得到的模型内捕获大量原始打印机材料。这是因为这种技术在打印期间在模型的顶部施加连续的粉末层,仅熔化对应于模型周边的一小部分,而留下该周边内的剩余粉末不受影响。总体结果是一定体积的粉末,粉末中是熔化的壳,壳外部的粉末是可移除的,而壳内的粉末被捕获。
这在废旧的原材料方面生成了不必要的成本。它还可以影响得到的对象的平衡。因此,通常在专门为3D打印设计的模型中包括通风口或开口,以允许倾倒或洗掉废粉。
然而,这种通风口或开口不存在于视频游戏角色中并且是不期望的。
因此,在本发明的实施例中,如果要使用基于粉末的打印机,则实现程序规则以计算打印场景中的对象内的有效空间体积。在该体积超过阈值量的情况下,该对象被视为中空体,并且程序规则在中空体的体素壳中形成开口,该开口的尺寸允许打印机粉末流出。优选地,当其指示他们想要打印场景时,开口位于中空主体的下侧和/或背向屏幕上显示的原始视点的一侧。开口可以是体素壳中的孔,或者优选地是形成环或一些其他形状的闭环的环形间隙。在环形间隙的情况下,这导致打印体中的松散覆盖可以被移除以允许粉末流出,但是然后可以通过粘附回到模型上来最小化在成品上移除粉末的美学影响。
应当理解,3D打印场景可以包括多个这种中空体。例如,场景可以包括地面、诸如Blobman的角色和树。地面通常是一个开放的壳。同时树木依靠地面,地面形成了树的基部。在计算模型内的体积之后,树干可以被识别为中空对象。因此,可以在树下的地面中形成孔,其仅在从下侧观看模型时才可见。相比之下,Blobman角色由地面上方的连接杆支撑。因此,如果角色躯干被识别为中空对象,则可选地在距离任何连接杆的阈值距离的位置处,包括背离原始视点的环形间隙。这允许躯干排出粉末,但也可以通过将由环形间隙生成的躯干的可移除组件固定回原位来进行修复。
可选地,程序规则可以使用对象本身的特征来降低孔或环形间隙的美学影响,例如通过将孔或间隙的一个或多个边缘中的一些或全部设置为跟随邻近模型中的纹理颜色之间的边界,和/或跟随邻近模型表面中的脊或其他不连续点。
系统可以使用3D模型数据来估计所需的打印机原材料的体积,并且在用户承诺之前提供估计打印模型的成本的报价。类似地,系统可以估计打印模型所需的时间。
场景/对象选择
应当理解,上述技术是基于用户从视频游戏内选择要打印的场景或角色来预测的。虽然在一些游戏中,用户可能以他们喜欢的方式调整喜爱角色的姿势,而不受来自其他游戏中事件的干扰,但是游戏内的难忘时刻更可能与用户方面的狂热活动和/或游戏中的角色或环境特征的快速动作相关联。在这种时刻期间,用户可能无法预料何时为了选择而冻结游戏动作,或者可能没有在他们决定显示的场景是期望的时刻冻结游戏动作所需的反应时间,特别是当游戏通常以每秒30或60帧运行时。
因此,现在参考图8,在本发明的一个实施例中,从视频游戏中选择要被3D打印的对象的方法包括:
第一步s810,周期性地渲染视频游戏的虚拟环境,以在连续时间点显示。如上所述,通常该周期将是每三十秒或六十秒。
第二步s820,周期性地记录信息,该信息使得能够在连续时间点上对渲染的虚拟环境的至少一部分进行视觉重建。通常,该周期将与渲染周期相同,可以是每第N个渲染周期,其中N在2-60的范围内。
能够对渲染的虚拟环境的至少一部分进行视觉重建的信息通常将采用渲染图像的视频捕获的形式。反过来,这通常采取由托管游戏的设备(例如PlayStation 4)到硬盘的输出视频图像的硬件视频编码的形式。替代地或另外地,游戏本身可以执行软件视频编码或者仅将渲染的视频图像转储到硬盘。在后一种情况下,软件视频编码可能是处理器密集型的,因此可能仅限于备用处理器容量可用的情况,而没有编码或使用最少编码的原始视频帧的存储使用较少的处理器资源但使用相对较多的存储器,因此,在后一种情况下,可以记录的视频帧数可以小得多。
替代地或另外地,视频游戏可以存储允许由视频游戏本身重建渲染图像的信息,诸如绘图列表(对图形卡的指令)和相关联的资产信息以及游戏状态数据,以允许在先前的时间点重新呈现游戏状态。
第三步s830,响应于在连续时间点处的渲染的虚拟环境的至少一部分的状态,周期性地记录预定值集合。同样,该周期性通常与记录信息的周期性相同,以实现视觉重建。
如本文稍后将描述的,这些值集合包括与渲染场景的那些部分相关的值,渲染场景随后可以使用例如本文先前描述的任何技术作为3D打印的模型生成。例如,应当理解,单独渲染图像的视频捕获可能不足以在特定时刻生成视频游戏角色的模型,因此除了视频捕获之外,还需要能够重建该模型的信息。
然后可以假设在某个时刻用户决定他们期望从游戏中3D打印一个时刻。用户可以通过按下控制器上的按钮(诸如暂停按钮)来指示该愿望,以访问选项以从各个时间点查看一个或多个视觉重建并选择与特定时间点相关联的一个。
在一个实例中,游戏可以向用户提供访问其本身的视频记录或者在其记录的信息允许的程度内重新渲染场景。这种布置可能适用于用户的反应时间阻止他们在发生瞬间事件时选择瞬间事件的情况,促使他们仅在几秒钟内“回放”回到该事件。如上所述,由于存储和处理器限制,这种视频记录或详细的视觉重建数据可能是有时间限制的,因此在这种情况下,游戏可能仅记录达到0.1至60秒范围内的周期的预定数量的时间点的值集合。
在另一个实例中,托管设备的操作系统可以直接经由操作系统接口或嵌入在游戏的用户界面内为用户提供对编码视频记录的访问。因为编码视频比原始视频紧凑得多,所以托管设备可以在滚动循环中记录例如显示的视频的1、3、5、10或15分钟(取决于先前的用户设置)。如果存储容量允许,则可能进行更长的记录。应当理解,在提供这种视频记录的情况下,相关联地记录预定值集合的匹配循环。因此,在这种情况下,用户可以按下按钮以暂停游戏并访问上述回放设施以查看游戏中的早期时刻,可选地,用户可能期望等待游戏中的自然暂停,诸如在按下这种按钮以查看游戏中的早期时刻之前的等级或检查点的结束。因此,游戏用户界面还可以提供查看选项作为级别或检查点通知的这种结束的一部分。这允许用户仍然访问3D打印设施而不中断狂热的游戏动作并因此他们沉浸在游戏中。
已经指示以诸如上述的方式从游戏中查看早期时刻的需要,则第四步s840包括从各个时间点查看一个或多个视觉重建并选择与特定时间点相关联的一个。
因此,如上所述,这可以包括通过游戏的记录视频进行排队和查看,或者重新渲染游戏场景以识别包括用户特别感兴趣的场景或对象的特定时间点。
在第五步s850中,用户然后在特定时间点选择视觉上重建的虚拟环境的至少一部分作为要3D打印的对象。可以选择虚拟环境的哪些部分可以取决于先前记录的预定值集合的质量,如本文稍后所讨论的。用于选择的界面可以是任何合适的界面,诸如可以用于悬停并选择视觉上重建的虚拟环境的一个或多个元素的鼠标或控制器引导的指针,其中选择对于可以选择的那些元素是成功的。或者,本文描述的与相机视点和诸如用户的化身的指定角色周围的区域有关的选择技术可以用于例如选择更完整的场景,使用点击界面手动选择可能是艰巨的。
如本文稍后将描述的,在本发明的实施例中,基于诸如对象的姿势和/或取向、打印对象的成本和/或原材料(其中可以向系统报告)的当前可用性、可用于从中生成对象的3D模型的可用数据的质量,来显示3D打印在特定视频帧中看到的所选对象的效果或可行性有关的一个或多个指示符。这使得用户能够选择所选对象可以生成令人满意的模型的时刻。
因此,以这种方式,通常可以选择诸如用户的化身和/或非玩家角色的一个或多个游戏角色,和/或可以选择完整场景的给定体积或区域用于打印。
然后,第六步s860包括检索限定所选的渲染虚拟环境的至少一部分的状态的相应预定义值集合。如上所述并且如下面详细描述的,各个值的质量可以变化,因此检索过程可以根据该质量而变化。
应当理解,如果相应的值包括用于识别可以选择视觉上重建的虚拟环境的至少一部分的哪个或哪些元素的数据,则步骤s860检索特定时间点的相应预定义值集合可以在步骤s850之前,在特定时间点选择视觉上重建的虚拟环境的至少一部分作为要3D打印的对象。更一般地,应当理解,本文描述的方法的步骤可以以任何合适的顺序(其实现与本文描述的顺序基本相同的最终结果)重新排序或同时运行。
最后,第七步s870包括响应于所检索的相应值,生成所选的被配置用于3D打印的渲染的虚拟环境的至少一部分的模型。
应当理解,本文先前描述的任何技术可用于此目的,包括通过程序性规则提供补充几何或生成附加几何,以及网格的自动或手动编辑以改善网格完整性。还应当理解,生成的模型可以输出到托管设备本地的3D打印机,或者生成的模型(或用于模型(诸如用作本文所述技术的输入)的生成的合适的中间模型数据)可以输出到第三方打印服务。
如上所述,预定的值集合可以具有与在每个时间点通过那些值记录游戏状态的保真度相对应的不同质量等级。
为了便于解释,将参考“高质量”、“中等质量”和“低质量”值集合,但这些可以同样被认为是第一尺寸、第二尺寸、更小尺寸和第三尺寸但较小尺寸的各个值集合。因此,这些也可以分别称为第一、第二和第三质量值集合或数据集。
高质量的值集合可以例如包括从由以下各项组成的列表中选择的一个或多个的合适选择:
i.考虑到游戏对游戏引擎和游戏资产的访问(例如类似于游戏保存),足以允许特定游戏重建游戏内的该时间点的游戏特定值;
ii.在时间点被发送到图形卡的至少部分绘图列表;
iii.在该时间点由图形卡使用的一个或多个纹理或纹理的标识符;
iv.对应于该时间点的虚拟环境的至少一部分的状态的网格数据(例如,如在一些上述3D打印技术中使用的),可选地包括补充几何;
v.在该时间点提供深度数据(例如,如在一些上述3D打印技术中使用的)的Z缓冲器信息;和
vi.与网格、纹理或任何表面外观的扭曲或修改有关(例如与特定游戏中角色有关)的描述符。
高质量值集合可以使用任何合适的压缩方案来减少数据尺寸,取决于可用的处理器容量;例如,仅在每个第M个时间点保存完整的高质量值集合,并且依赖于在两者之间的保存增量或差值。
应当理解,高质量值集合可以潜在地在对应的时间点(例如,在上面的列表中的项目i)处向用户显示的可见场景进行高保真度重建,因此可能会加倍作为记录的视觉表示。
还应当理解,取决于所包括的值(例如,上面与视频数据结合的项目iii和iv,或项目v),高质量值集合可以包括足够的资产来构建所需3D模型,而无需随后访问游戏资产本身;或者,可以假设访问游戏本身(例如,在上面的项目i和ii的情况下),或者可以用于增强潜在独立的数据集。
中等质量值集合可以例如包括从由以下各项组成的列表中选择的一个或多个的合适选择:
i.识别在特定时间点显示的游戏的等级或区域(例如,等级5、区域6、坐标XYZ)的游戏特定值;
ii.足以允许特定游戏在时间点重建特定游戏中角色的姿势的游戏特定值;
iii.在该时间点由图形卡用于特定游戏角色的一个或多个纹理或纹理标识符;
iv.在该时间点对应于该特定游戏中角色的网格数据,可选地包括补充几何;
v.提供与该时间点的特定游戏中角色相对应的深度数据的Z-缓冲器信息;和
vi.与网格、纹理或任何表面外观的扭曲或修改有关(例如与特定游戏中角色有关)的描述符。
同样,中等质量值集合可以使用任何合适的压缩方案来降低数据尺寸;例如,仅在每个第M个时间点保存完整的中等质量值集合,并依赖于在两者之间的保存增量或差值。
应当理解,中等质量值集合通常能够在相应的时间点处对用户显示的特定角色进行高保真度重建。
还应当理解,取决于所包括的值(例如,上面与视频数据结合的项目iii和iv,或项目v),中等质量值集合可以包括足够的资产来构建特定角色的3D模型,而无需随后访问游戏资产本身;或者,可以假设访问游戏本身(例如,在上面的项目i和ii的情况下),或者可以用于增强潜在独立的数据集。
应当理解,中等质量值集合可以捕获与场景中的多于一个角色相关的信息;例如,虽然用户的化身可能是默认选择,但是用户在特定时间点与之交互的非玩家角色的信息,或者在该时间在用户的视点或用户的化身的预定半径内的人的信息可以被包括作为中等质量值集合的一部分。
还应当理解,高质量和中等质量的数据集可以交织;因此,例如,可以以低频率、秒或分钟的顺序记录高质量数据集,提供能够用于使用高质量数据集的低频记录之间发生的特定时间点选择的中等质量数据重建的角色的环境的表示性重建的信息。以这种方式,可以使用较少的数据存储来生成捕获主要角色所需的精确姿势的场景的模型。
低质量值集合可以例如包括从由以下各项组成的列表中选择的一个或多个的合适选择:
i.识别在特定时间点显示的游戏的级别或区域的值(例如,等级5、区域6、坐标XYZ)的值;
ii.识别特定游戏中角色的值;和
iii.识别该时间点的游戏角色的特定预定状态的值。
同样,低质量值集合可以使用任何合适的压缩方案来降低数据尺寸;例如,仅在每个第M个时间点保存完整的低质量值集合,并依赖于保存两者之间的保存增量或差值。
应当理解,如果该角色采用游戏已知的预定状态,诸如预设动画帧,则低质量值集合通常能够在相应的时间点处对用户显示的特定角色进行高保真度重建。
还应当理解,低质量值集合通常不包括足够的资产来构建特定角色的3D模型,而无需随后访问游戏资产本身。
还应当理解,低质量值集合可以捕获与场景中的多于一个角色相关的信息;例如,虽然用户的化身可以是默认选择,但是用户在特定时间点与之交互的非玩家角色的信息,或者在该时间在用户的视点或用户的化身的预定半径内的人的信息可以被包括作为中等质量值集合的一部分。
同样,还应当理解,高质量和中等质量的数据集可以与低质量数据集交织。例如,游戏中角色可以在大多数时间点使用预定动画帧,但是这些可以在特定和戏剧性环境(诸如爆炸、坠落或撞击)中使用所谓的“布娃娃物理学”来修改。因此,当游戏将角色从预定动画切换到布娃娃物理学时,所使用的预定值集合可以从低质量切换到中等质量,或者包括中等质量元素。
同样,可以以低频记录高质量数据集以提供场景的表示性背景;然而,如果假设对游戏资产的访问是对低质量值的要求,那么在该时间点识别游戏内显示的位置的值可能足以允许在需要时重建背景。相反,应当理解,如果认为对3D打印需要访问游戏资产,则也可以通过使用这种位置数据来简化中等质量数据集和高质量数据集。
任何上述值集合还可以包含识别游戏的信息,可选地包括游戏版本(诸如游戏编译的平台,和/或该平台上游戏的特定迭代)。
应当理解,上述高、中和低质量数据集是非限制性示例,并且可选地,可以从一个、两个或四个或多个不同的数据集中选择,并且对于给定质量数据集,例如“中”,如果设计者认为适当,则上述对应于“高”或“低”的元素可以用于该中数据集,对其他质量数据集反之亦然。
如先前所述,使用上述技术的3D打印的常见使用场景将是视频游戏的玩家在他们想要纪念的激动时刻之后不久暂停游戏,或者游戏在等级结束或检查点处自然暂停的地方。并且在该暂停期间,用户然后查看游戏的视觉表示以识别特定时刻。
在这些情况下,记录包括可用于在短时间段内(大约几秒)形成高质量、中等质量和/或低质量数据集的值的数据循环可能是直截了当的,例如,通过保存到RAM,其速度快但容量有限。每个预定值集合可以具有时间戳或计数器,使其能够与所记录的视频的特定帧或所显示的游戏图像的其他视觉表示相关联。
当要在此循环中覆盖旧的值集合时,可以从中提取高质量、中等质量和/或低质量的数据集,并使用其时间戳或计数器将其写入硬盘驱动器。通常,硬盘驱动器的写入速度较慢,但容量要大得多。应当理解,如果可以在不损害游戏的情况下实现这一点,则可以将数据循环直接写入硬盘驱动器而不是RAM。还应当理解,数据循环可以直接以所需的质量等级或散布的等级序列写入,而不是写入包括随后可以转换成所需质量等级的数据集的数据的循环。
在任一种情况下,数据可以由视频游戏本身或由托管平台的操作系统记录(例如,经由操作系统和支撑本文描述的3D打印设施的游戏之间的标准化数据接口)。
无论如何,在这些情况下,托管在视频游戏平台上的3D打印系统也可以访问预定值集合,并且可选地也可以访问视频游戏平台上的游戏中资产,无论该平台是手持式还是家用视频游戏控制台或PC,或基于云的视频游戏平台(诸如向最终用户提供视频游戏流服务的平台)。
此外,由于平台上RAM和/或硬盘驱动器的容量和写入速度,高质量或中等质量的数据集可能很容易以所需的时间点频率来记录(如上所述,通常等于视频游戏的帧速率)。
因此,基于所检索的预定值集合,3D打印系统整理生成如本文所述的至少预定角色以及可选地场景(对应于在用户的游戏期间的特定时间点)的高质量模型需要的所需信息。
相比之下,另一种使用场景使这更加困难。用户期望能够将他们的游戏的记录视频和相关联的预定值集合导出到诸如或/>的第三方托管服务,使得其他用户可以观看他们的游戏并且类似地在用于3D打印的游戏期间选择难忘的时刻。在这些情况下,例如,更一般地,步骤s810-s830可以由托管视频游戏的设备执行,而其余步骤s840-870可以由属于后续用户的第二计算设备执行(尽管在通过来自服务器的流视频游戏图像提供的游戏情况下,所有步骤仍然可以由同一服务器执行)。
假设3D打印系统本身很容易获得(例如作为操作系统的一部分或作为免费或可购买的下载),那么在这些情况下还有两个附加的考虑。
第一考虑是第三方系统透明地处理这些信息是优选的。因此,相关联的预定值集合可以直接或通过使用通用资源定位符(URL)并入到由给定视频格式提供的用户数据字段中,通用资源定位符(URL)允许3D打印系统指向已经上传相关联的预定值集合的服务器,例如由3D服务、游戏发布者、操作系统和/或平台提供者维护的服务器。完整URL可以作为非限制性示例采用标识符序列的形式,诸如
http://www.exportserver.com/username/gamename/recordingID7framenumber。
在这种情况下,例如在视频标题数据中,可以仅包括用户名、游戏名称和记录ID;服务器地址可以包括在3D打印系统软件中,并且可以计算与用户选择的时间点对应的帧编号以构建完整的正确URL。应当理解,潜在地,如果记录ID在每个用户的基础上足够唯一,则URL中可能不需要游戏名称,并且如果记录ID在整个用户群中足够唯一,则类似地可能在URL中不需要用户名。
在预定值集合直接合并到数据字段中的情况下,空间约束可以确定可以使用什么质量数据集。相比之下,在使用URL的情况下,此空间约束被解除。
因此,在游戏和/或操作系统提供“共享”功能的情况下,该功能可以以传统方式导出视频,或者在用户特定的情况下,它可以导出包括视频格式内的空间允许的情况下的预定值集合的视频,或者它可以导出包括URL数据的视频,并且它可以单独地将预定值集合导出到服务器,然后服务器使值在相应的URL处可用。
第二考虑是这种视频的随机观看者可能没有他们本身的游戏副本。因此,与视频相关联地存储的预定值集合是假设访问视频游戏资产的类型,这可能潜在地阻止这种观看者能够从视频内的所选时间点生成3D模型。
因此,3D打印系统可以使用包括在预定值集合中的信息来根据需要识别游戏,以及针对所选时间点,识别游戏内的位置、游戏内的角色和/或这种角色的动画框架。然后,该信息可以作为请求的一部分发送到由3D服务、游戏发布者、操作系统和/或平台提供者维护的服务器,该服务器可以与上述服务器或不同服务器相同。响应于该请求,服务器可以发送重建该时间点所需的那些游戏资产以进行3D打印;例如,用于特定游戏角色、可选地用于特定的姿势的可选地纹理数据和网格数据,或者替代地使用它们本身来实现本文所述的技术以准备3D可打印模型以供用户查看,如下所述。
显然,在这种视频的观看者确实具有他们本身的游戏副本的情况下,3D打印系统然后可以以与上述第一使用场景类似的方式操作。
在任一情况下,3D打印系统因此可以根据需要利用可用或提供的游戏中资产来生成至少预定角色的高质量模型,并且可选地,对应于在该视频游戏期间的特定时间点的场景。
应当理解,可以在本发明的范围内设想诸如PlayStation 4的视频游戏托管设备和包括相关游戏资产的服务器/云的其他组合。
例如,视频游戏托管设备可以托管在游戏期间使用的游戏资产,而服务器/云拥有用于3D打印的游戏的游戏资产。反过来,这可能意味着它拥有类似于视频游戏托管设备的传统游戏资产,和/或它可能意味着它拥有为3D打印的目的而特别增强或修改的游戏资产,例如使用本文先前描述的一种或多种技术。
使用这种布置,视频游戏托管设备不必将游戏资产发送到服务器/云,并且预定义值集合因此可以包括识别相关游戏,以及识别相关的场景或角色以及任何相关的姿势数据的信息,例如,以本文先前描述的方式。
例如,在本发明的实施例中,视频游戏托管设备上的游戏或操作系统将预定义值集合发送到服务器/云,并从指向由服务器/云生成的视频游戏场景或角色的3D可打印版本的服务器/云接收统一资源定位符(URL)。
通常,这种3D可打印版本使用诸如本文所述的那些技术构建;使用预定义值集合检索相关的游戏资产,并且如果需要,根据预定义值集合中的任何供应的姿势信息适当地提出;然后,服务器/云可以执行网格修复,将网格的元素替换为适合于3D打印的版本,或者使用过程规则来适应网格,生成对模型的元素的支撑,和/或调整模型以允许恢复如先前所述的废旧的打印机材料。
URL可以指向适合于3D打印的格式的数据文件,例如,当发送预定义值集合时由用户选择的格式,或者可以包括规定当URL用于访问服务器/云时用于创建数据文件的格式的参数数据。
在任一种情况下,视频游戏场景或角色的3D可打印版本和/或用于3D可打印版本的数据文件可以以任何合适的形式对其应用数字版权管理保护。
如果数据文件本地连接到3D打印机,或者具有将数据文件转发到第三方3-D打印服务的部件,或者数据文件可以被发送到与服务器/云相关联的3D打印服务,则数据文件可以返回到视频游戏托管设备。
打印适合度
应当理解,上述系统和技术能够提供从视频游戏中的所选时刻导出的3-D可打印模型,但是模型的处理、修改、材料和保真度可以变化。
导致这种变化的因素可以取决于例如游戏中对象本身的性质(例如,它是否是由一个或多个单独的元素组成,它们的相对厚度等)、其在所选时刻要被建模的姿势(例如,这是否提供了与支撑对象重心的地面接触的合适点)、在所选时刻记录的数据质量(例如,直接来自游戏内,或如本文先前所述的高、中或低质量值集合);如何生成模型(例如,使用开发者供应的补充模型数据,和/或程序性生成的模型数据,这些数据又可以从多个图像生成或直接从游戏中数据生成);以及最后潜在地,可用于创建模型本身的3-D类型的打印机(例如,其分辨率,或者其是否有足够的原材料来完成模型,或者用户是否在将打印作为服务实现的情况下对所需的材料有足够的信誉)。
因此,在本发明的实施例中,针对用户正在查看的游戏的候选时刻、或者如本文先前所述基于保存在本地游戏托管设备上或在视频上观看的记录,计算打印适合度的一个或多个指示符,无论这是否在游戏中(例如,当游戏暂停时,和/或当选择特定的3-D打印按钮或菜单选项时)。
可选地,可以针对每个时刻计算一个或多个指示符。然而,这可能在计算上是昂贵的。对于在服务器上具有相关联数据的上传视频,可选地,当计算资源可用时,服务器可以执行这些计算,使得当有人随后观看视频时,该指示符或每个指示符对每个帧都是可用的;同时,对于本地游戏托管设备或云流托管,可能期望仅在暂停的游戏状态上执行该计算,或者在浏览记录的数据时执行该计算,可选地,仅针对用户在预定时间段内保持的视频帧,或者指示兴趣所在(例如通过按下按钮)的视频帧执行该计算。这是因为在游戏的正常游戏期间,可能没有足够的备用计算资源来执行分析。然而,应当理解,如果资源可用,则可选地,可以与正常游戏同时执行分析。
该分析可以由游戏、托管系统的OS或单独的应用,或者这些中的两个或三个的组合来执行。例如,游戏、OS和/或单独的应用可以访问一个或多个例程的库,用于执行部分或全部分析过程。替代地或另外地,游戏、OS和/或单独的应用可以具有一个或多个内置的例程,用于执行部分或全部分析过程。
如先前所述,许多因素可能有助于在视频游戏中生成令人满意的3D打印对象的潜在成功或可行性。并非需要考虑所有这些因素,以提供3D打印选择的可打印性或控制/否决的指示,但是下面更详细地讨论这些因素的计算。
可选地,可以向用户呈现所计算的一些或所有因素,以通知他们关于该过程的哪些方面潜在地引起问题。例如,如果问题是不受支撑的质心、打印机材料不足或信用不足中的一个,则对于用户来说,识别这些不同的可能原因中哪一个可以补救是有用的。
类似地,可选地,计算的一些或所有因素可用于生成组合的可打印性得分。这可以使用户更容易地从视频游戏中同化特定帧的可打印性,特别是如果它们通过游戏提示或查看。例如,交通灯方案可以使用绿色指示来识别可以在没有进一步干预的情况下可以打印特定对象的帧,使用黄色指示来识别在进行一些用户可控制或用户可授权的改变之后可以打印的帧,以及使用红色指示来识别可能存在一些固有的不可打印方面的场景的情况下、或者因素的组合表明打印需要对场景进行重大修改的情况下(例如需要省略对象,或者可能由支撑服务进行评估和/或修改)的帧。
应当理解,本说明书中给出的所有交通灯和百分比得分纯粹是出于解释的目的而且是非约束性的。
因素
i.元素的布置/依赖
图9A-C示出了复合对象(诸如先前描述的blob-man)的对象或元素的不同姿势,其示出了不同场景,在不同情况下,对象在原始捕获的姿势/取向中是自支撑的,并且如果对象在捕获的姿势/取向上不是自支撑的,则进一步提供或不可能提供支撑。
在这些图中,“禁”区由对象圆周内部的虚线表示,而用于添加支撑结构的潜在可允许区域由内部实线表示。应当理解,如先前所述,“禁”区是可选的”。
图9A(a)示出了以所需姿势自支撑的对象;这可以例如通过确定是否可以使对象的重心高于由对象的现有支撑表面限定的区域来计算。这可以获得绿色指示或最大布置得分(作为非限制性示例,得分为100%),因此根本不需要修改。
图9A(b)和9A(c)示出了在所需姿势下不能自支撑的对象,但是可以使用由设计者指定的支撑、或者在“禁”区之外允许的支撑、或者简单地如计算启发式地在任何可行的位置(或这些的任何组合)的支撑来支撑。同样,这可以例如通过确定是否可以使对象的重心高于由对象的组合支撑限定的区域来计算。这可以得到绿色指示,或反映对支撑结构的需要的、得到高但非最大布置得分(作为非限制性示例,得分为90%)。
图9B示出了两个对象,其中一个对象依赖于另一个对象来获得支撑(先前给出的这个示例可以是blob-man的躯干或手)。在这种情况下,针对对象之间的支撑结构指示或允许的区域适合于对象的耦合,使得它们的组合重心可由下部对象的支撑结构(固有的或附加的)支撑。同样,这可以获得绿色指示,或者反映对比9A(a)或(b)的情况更多的支撑结构的需要的、得到高但非最大布置得分(作为非限制性示例,得分为80%)。
图9C示出了两个对象,其中一个对象再次依赖于另一个对象来获得支撑,但是在这种情况下,针对一个或两个对象的支撑结构指示或允许的区域不能提供对上层对象的支撑。在这种情况下,如果情况可以挽救,该布置可能会接收到黄灯和/或较低得分;例如,如果下部对象可以旋转到图9B所示的取向,则可以支撑上面的对象。在这种情况下,可以奖励例如50%的布置得分。但是,如果这是不可能的(例如因为下部对象无法旋转到可以支撑它的位置,或者因为对象的旋转因其他原因而被限制),那么该布置可能会接收到红灯和/或例如10%的布置得分。应当理解,技术人员可以考虑其他选项和得分;例如,违反“禁”区或用预定替代方案替换其中一个对象可能导致25%的得分。
还应当理解,不是以这种方式给出得分,而是总的“理想”得分可以针对不同问题扣除点数/百分比,诸如每个需要使用禁区,或者需要旋转身体等,以达到指示性得分。
然后可以限定绿色、黄色和红色阈值以指示对所得到的模型的用户可能的可接受性。
ii.连接结构
可以类似地对对象的支撑结构的厚度、长度和数量,和/或横截面积的改变程度(如先前所述)进行评分。例如,对于不需要支撑结构的模型,从理论连接得分100%开始,对于每个支撑结构或横截面的修改,可以扣除预定数量的百分点,并且对于其厚度超过预定绝对值或相对值的任何支撑结构和横截面积加宽,可以扣除其他点数。替代地或另外地,可以响应于由支撑结构构成的总模型的比例来扣除百分点,无论是通过计算的外部体积还是通过计算的重量。
然后可以限定绿色、黄色和红色阈值以指示用户对连接结构的数量和/或尺寸和/或模型的修改元素的可能的可接受性。
iii.数据质量
对于第一近似,高和中质量数据集可以提供“绿灯”范围内的质量得分,因为它们通常包括足够的材料以在给定时刻重建场景或角色。如果用户试图选择数据不可用的场景的元素,则质量得分可能较低。
同时,低质量数据集可以提供“黄灯”范围内的质量得分,因为它们通常仅记录角色的预定状态,其可能仅是该时刻在游戏中的角色的外观的近似值。然而,对于一些游戏(例如,低质量数据能够在给定时刻唯一地识别角色的预定义动画姿势的游戏),这可以被认为是准确的,因此质量得分可以在绿色范围。
iv.模型基础
在可以使用开发者提供的补充打印机几何生成场景或角色的情况下,可以给出高或最大模型基础得分(作为非限制性示例,得分为100%)。
在可以使用程序性补充几何生成场景或角色的情况下(例如,使用规则来生成和/或定位对象之间的连接结构、加厚对象墙壁或从场景中修剪小/薄对象),这也可以给出高或最大模型基础得分(作为非限制性示例,得分为100%)。如果程序性生成的模型不如使用开发者提供的补充打印机几何生成的模型那么优化,那么这将可能反映在先前讨论的布置或连接得分中。
可选地,可以生成模型作为测试,并且可以使用程序性生成过程报告的任何错误或失败来向下调整模型基础得分。
在可以从图像的集合导出场景或角色的情况下,可以给出中等模型基础得分(例如,在“黄色”范围内)。可以根据图像的集合中的最低图像分辨率进一步降低得分,这可以直接影响所得到的模型的保真度。类似地,可以根据对象的对应视图之间的颜色变化来降低得分,其可能由于所拍摄图像之间的游戏中照明的变化而发生,并且其可能导致颜色保真度的降低。
可选地,可以生成模型作为测试,并且可以检测模型的任何不连续或遮挡区域并且类似地用于降低模型基础得分。
打印机状态
打印机的类型会对可打印的内容和方式生成重大影响。例如,选择性激光烧结打印机可以打印模型的元素,这些元素最初未连接到模型的其他部分,但是由周围的功率矩阵支撑直到形成连接结构。相比之下,熔融沉积建模打印机可能需要连续的体素用于模型的连续层,使得它们可以在自由空间中被支撑。
这些考虑将反映在开发者提供的支撑不同打印方案的补充打印机几何的可用性、所采用的规则以及因此从程序模型生成中获得的结果,以及可选地模型上的“禁”区的限定。因此,由于使用了打印机技术,相同姿势中的相同角色的模型可能具有不同的连接结构和外观上的其他变化。
类似地,打印机使用的材料可能影响模型,通常根据坚固性所需的对象墙壁的厚度、以及作为厚度/强度比的函数的连接结构的厚度以及由于上面提到的墙壁厚度的差异引起的支撑质量的任何变化等。
通常,选择性激光烧结将接收到最大打印机得分,而熔融沉积建模将接收到较低的打印机得分。
可选地,可以生成使用由打印机设置的约束的模型作为测试。这些约束的影响将反映在本文提到的其他得分中(诸如在布置或连接得分中),以及兼容开发者源几何是否可用。
可以根据模型构建所需的时间量(例如,在预定的优选时间内每小时将得分降低N%),和/或根据需要使用多少原材料来修改得分。
最后,如果场景/角色太大而无法打印,则可能导致打印机得分在“红色”范围。
可以针对来自游戏的特定所选时刻,指示布置得分、连接得分、质量得分、模型基础得分和打印机得分中的每个。显然,在得分计算时不知道打印机类型的情况下,可以省略打印机得分(例如,当在服务器上预先计算得分时)。
更一般地,设计者选择可以省略任何上述得分,只要仍然表示至少一个得分。
组合得分
如先前所述,在游戏或游戏查看期间表示的一个得分可以是从布置、连接、质量、模型基础和打印机得分中的一些或全部中导出的组合得分。
可以根据贡献得分的相对重要性对该组合得分进行加权。例如,布置和连接得分可能比质量和模型基础得分更重要,因为具有良好定位的连接的忠实再现可被认为比模型的平均体素分辨率或打印所花费的时间更重要。加权可以由设计者或用户经由界面进行选择。
可以使用先前所述的交通灯方案或者以百分比或通过任何合适的方式(例如,5星或10星的评级)来呈现组合得分。可选地,如果默认呈现组合得分,则用户可以询问系统以获得用于在给定时刻生成组合得分的基础得分。
因此,可以提供组合得分或者单独得分或者每个单独得分以指示在给定时刻的游戏场景的可打印性。如将从本文先前的描述中理解的,“场景”可以是在虚拟相机的视图方向上捕获的环境的区域,或者它可以是特定的用户化身或非玩家角色或潜在地是由用户经由合适的用户界面识别的任何特定对象。潜在地,可以针对环境的不同元素确定不同的得分,诸如用户的化身和预定的非玩家角色,诸如所谓的“老板”。
用法
可以将组合得分或单独得分或每个单独得分作为覆盖、字幕、唱词字幕或其他伴随的图形或文本显示,提供在游戏的视觉表示上或附近,如游戏本身所呈现的(例如当游戏是暂停,和/或响应于在游戏期间选择显示此类信息的选项(如果处理资源允许的话)),或者如通过视频游戏控制台或诸如服务器的其他设备重建游戏状态所呈现的,或者如所记录的游戏的视频图像所呈现的。
组合得分或每个单独得分的功能是为用户提供给定时刻场景的可打印性的快速同化。因此,例如在查看游戏的记录或重建时,百分比、交通灯信号或其他指示符可能逐帧波动,指示何时打印条件良好、足够或差。在针对环境的不同元素计算不同得分的情况下,这些交通灯或其他指示符可以追踪单个对象或者具有一些其他视觉关联,诸如指针或线,使得当特定角色或其他游戏中元素可打印时,用户可以看到。
当选择特定时刻时,可选地,可以提供更多细节,例如在仅显示组合得分的情况下,现在可以代替组合得分或者除组合得分之外显示单独得分。
这允许用户容易地针对3-D打印同化视频游戏角色/游戏中元素/场景的适合度,这不能仅凭用户视觉检查来进行,仅仅因为角色/元素/场景在可以3-D打印之前,必须适应显示在屏幕上显示的内容。
替代地或另外地,当用户指示他们期望打印角色/游戏中元素/场景,或者使过程更进一步,例如通过请求生成用于查看、编辑或最终打印的高分辨率3D打印兼容模型时(这可能耗费用户的视频游戏控制台或服务提供商的服务器相当多的时间和计算资源来获得),组合得分或单独得分或每个单独得分可用于修改打印系统的行为。
在这种情况下,整体绿色范围得分可能使相关设备继续进行模型生成/打印过程中的后续步骤。
同时,黄色范围得分可能使相关设备警告用户尝试打印所需对象(视频游戏角色/游戏中元素/场景等)的潜在问题。特别地,可以突出显示具有黄色范围得分的任何单独得分,以帮助用户理解问题可能存在于何处。在这些情况下,可以向用户给出不管怎样覆盖并继续进行的选项,和/或可以向他们给出将对象转移到编辑工具的选项,在该编辑工具中,他们可以改变对象的特征并得到响应于他们的编辑所重新评估的组合得分和/或单独得分或每个单独得分。
相比之下,红色范围得分可能使相关设备通知用户他们当前不能打印所需对象。特别地,可以突出显示具有红色范围得分的任何单独得分,以帮助用户理解问题可能存在于何处。在这种情况下,不可以向用户给出不管怎样覆盖并继续进行的选项,和/或可以向他们给出将对象转移到编辑工具的选项,在该编辑工具中,他们可以改变对象的特征并得到响应于他们的编辑所重新评估的组合得分和/或单独得分或每个单独得分。
应当理解,对绿色范围、黄色范围和红色范围的引用表示给定得分的不同值范围的简写。应当理解,对于不同的得分和组合得分,不同的值范围可以对应于绿色、黄色和红色。
还应当理解,代替三个分类,可以为一个或多个不同得分和/或组合得分仅提供两个分类,例如对应于“推荐继续”与“推荐不继续”评估。相反,可以为一个或多个不同得分和/或组合得分提供多于三个分类,例如,如果需要更多用于查看、编辑和修复的选项。例如,红色范围可以包括两个范围,在一个范围中将对象转移到编辑工具,在另一个范围中得分太低以至于没有将对象转移到编辑工具,因为恢复可打印对象的机会是如此之低。替代地或另外地,预定得分范围可以提示用户提供将对象发送给能够为用户产生更好结果的专业编辑者。
概述实施例
鉴于以上公开,并且参考图10,在本发明的第一概述实施例中,计算来自用于3D打印的视频游戏的对象(诸如玩家化身、非玩家角色等,如先前所述)的适合性的方法包括:获得表示如在视频游戏内的时间点发现的对象的数据(诸如娱乐设备内的当前游戏状态、高中或低质量值集合、或图像序列等,以及先前所述)的第一步骤s1010;计算指示如由所获得的数据表示的对象的适合度的至少第一得分,用于生成对象的3D打印的第二步骤s1020(例如,关于所得到的质量、准确性、节约使用附加结构特征和它们的位置等,如本文先前所讨论的);其中,至少第一得分响应于从由以下各项组成的列表中选择的一个或多个:如在视频游戏内的时间点发现的对象的布置;对象的一个或多个元素对另一个元素的依赖性;用于将3D打印对象的元素连接在一起的任何连接结构的属性;获得的数据的质量;以及用于生成用于对象的3D打印版本的打印数据的方法(这些中的每一个已经在本文先前讨论过),以及将得分与表示如在视频游戏内的时间点发现的对象的数据相关联的第三步骤s1030(从而使其能够例如作为暂停游戏上的图形叠加或至少感兴趣对象的等效视觉重建,立即或随后使用)。
在该实施例的实例中,获得表示如在视频游戏内的时间点发现的对象的数据的步骤包括:周期性地渲染视频游戏的虚拟环境,以在连续时间点(诸如例如以视频游戏的帧率)显示;周期性地记录使得能够在连续时间点上对渲染的虚拟环境的至少一部分进行视觉重建的信息(诸如例如压缩或未压缩的视频图像,或者能够重建所显示的游戏的游戏特定数据(如果该特征在游戏内可用的话));以及响应于在连续时间点处的渲染的虚拟环境的至少一部分的状态,周期性地记录预定值集合,该预定值集合使所选的渲染的虚拟环境的至少一部分的模型被生成,该模型被配置用于3D打印。如本文所述,这种周期性记录的预定值集合可以具有不同的质量等级,这些质量等级可以在记录序列期间以任何合适的顺序交织,并且值集合可以要求访问视频游戏资产,或作为本地托管的游戏的一部分或经由远程服务器接入,以便能够生成用于3D打印的模型,例如基于本文先前所述的技术。
在本实施例的实例中,对于如在视频游戏内的时间点发现的对象的布置,至少第一得分响应于对象在该布置中是否自支撑的计算,如先前所述。在不是自支撑的情况下,第一得分可以响应于需要多少支撑结构来支撑该布置中的对象的计算。
在本实施例的实例中,对于对象的一个或多个元素对另一元素的依赖性,至少第一得分响应于支撑该从属元素或每个从属元素所需的连接结构是否可以锚定到排除该元素的元素外部区域的计算。
在本实施例的实例中,对于用于将3D打印对象的元素连接在一起的任何连接结构的属性,至少第一得分响应于从由以下各项组成的列表中选择的一个或多个的计算:连接结构的数量、连接结构的总质量和连接结构的平均长度或最大长度。
在本实施例的实例中,对于所获得的数据的质量,至少第一得分响应于所获得的数据集的类型(诸如娱乐设备内的当前游戏状态,高、中或低质量值集合,或图像序列)。
在本实施例的实例中,对于用于生成用于对象的3D打印版本的打印数据的方法,至少第一得分响应于对打印数据的测试生成的分析。应当理解,测试生成不需要是完整的(即,不需要产生3D可打印模型文件)。例如,它可以在生成过程中运行一个阶段,包括访问由开发者提供的补充打印机几何。在这种情况下,得分可以反映相比于诸如程序性生成的几何的其他几何源,使用这种补充打印机几何可以生成模型的程度。同时,对于从图像数据生成的模型,则如先前所述,得分可以响应于平均图像分辨率或从其导出模型数据的最低分辨率图像。
在本实施例的实例中,至少第一得分响应于从由以下各项组成的列表中选择的一个或多个:要使用的3D打印技术的类型;用于制作3D打印对象的材料类型;用于制作3D打印对象的材料量;和3D打印对象所需的时间,如本文先前所讨论的。
在本实施例的实例中,如本文先前所述,当对如在视频游戏内的时间点发现的对象计算了多个不同得分时,计算组合得分。因此,如果已经计算了针对模型的不同方面/因素的第一得分(诸如在视频游戏内的时间点发现的对象的两个或多个布置;对象的一个或多个元素对另一个元素的依赖性;用于将3D打印对象的元素连接在一起的任何连接结构的属性;所获得的数据的质量;以及用于生成用于对象的3D打印版本的打印数据的方法),则如先前所讨论的,可以可选地使用加权组合,组合这些得分以形成组合得分。
在这种情况下,组合得分或至少第一得分的指示可以与如在视频游戏内的时间点发现的对象的视觉表示一起显示。如先前所述,取决于实现方式,视觉表示可以是当前的游戏显示或其视觉重建。应当理解,在仅显示该第一得分或每个第一得分的情况下,组合得分的生成可能不是必需的。
最后,在本实施例的实例中,响应于组合得分或至少第一得分,可以中断3D打印过程。如先前所述,单独和/或组合的黄色范围得分可能导致3D打印过程暂停;在这种情况下,可以将所选的对象转移到编辑程序,该编辑程序试图自动克服对象中的缺陷,或者替代地或另外地允许用户这样做。可选地,可以覆盖基于黄色范围得分的中断。同时,单独和/或组合的红色范围得分可能导致3D打印过程暂停,并且再次可选地,可以将对象转移到编辑程序,该编辑程序试图自动克服对象中的缺陷,或者替代地或另外地允许用户这样做。可选地,可以覆盖基于红色范围得分的中断。取决于所识别的缺陷或(多个)缺陷的性质,转移到编辑程序可以在3D打印数据生成的任何合适的阶段发生(例如,改变原始游戏模型,或者改变补充几何),并且可以在生成过程期间发生不止一次。
应当理解,上面的方法可以在通过软件指令或通过包含或替换专用硬件合适调整为适用的传统硬件上进行。
因此,传统等效设备的现有部分的所需调整可以以计算机程序产品的形式实现,该计算机程序产品包括处理器可实现的指令,其存储在诸如软盘、光盘、硬盘、PROM、RAM、闪存或这些或其他存储介质的任意组合的有形非暂时性机器可读介质上,或在硬件中实现为ASIC(专用集成电路)或FPGA(现场可编程门阵列)或其他适用于调整传统等效设备的可配置电路。单独地,这种计算机程序可以通过网络上的数据信号转移,诸如以太网、无线网络、互联网或这些网络或其他网络的任何组合。
在本发明的另一概述实施例中,公开了3D打印分析器,用于计算来自视频游戏的对象对3D打印的适合性。该分析器可以例如是专用硬件设备,或服务器或诸如PlayStation4的娱乐设备,以实现合适的软件指令集。在任何情况下,3D打印分析器包括:存储器(诸如RAM 22和/或HDD 37),其在操作中被布置为存储表示如在视频游戏内的时间点发现的对象的数据;处理器(诸如APU 20),其在操作中被布置为计算指示如由所得到的数据表示的对象用于生成对象的3D打印的适合度的至少第一得分,其中,至少第一得分响应于从由以下各项组成的列表中选择的一个或多个:如在视频游戏内的时间点发现的对象的布置;对象的一个或多个元素对另一个元素的依赖性;用于将3D打印对象的元素连接在一起的任何连接结构的属性;获得的数据的质量;以及用于生成用于对象的3D打印版本的打印数据的方法(这些中的每一个已经在本文先前讨论过),并且在操作中进一步调整处理器,以将得分与表示如在视频游戏内的时间点发现的对象的数据相关联。
在本概述实施例的实例中,处理器可操作以在当对如在视频游戏内的时间点发现的对象计算了多个不同得分时计算组合得分。因此,并如先前所述,如果已经计算了针对模型的不同方面/因素的第一得分(诸如在视频游戏内的时间点发现的对象的两个或多个布置;对象的一个或多个元素对另一个元素的依赖性;用于将3D打印对象的元素连接在一起的任何连接结构的属性;获得的数据的质量;以及用于生成用于对象的3D打印版本的打印数据的方法),则如先前所讨论的,可选地,使用由系统预定或由用户设置/调整的加权组合,可以由处理器组合这些得分以形成组合得分。
最后,在本概述实施例的实例中,处理器可操作以响应于组合得分或至少第一得分来中断3D打印过程。如先前所述,单独和/或组合的黄色范围得分可能导致3D打印过程暂停;在这种情况下,可以将所选择的对象转移到编辑程序,该编辑程序试图自动克服对象中的缺陷,或者替代地或另外地允许用户这样做。可选地,可以覆盖基于黄色范围得分的中断。同时,单独和/或组合的红色范围得分可能导致3D打印过程暂停,并且再次可选地,可以将对象转移到编辑程序,该编辑程序试图自动克服对象中的缺陷,或者替代地或另外地允许用户这样做。可选地,可以覆盖基于红色范围得分的中断。取决于所识别的缺陷或(多个)缺陷的性质,转移到编辑程序可以在3D打印数据生成的任何合适的阶段发生(例如,改变原始游戏模型,或者改变补充几何),并且可以在生成过程期间发生不止一次。
Claims (15)
1.一种计算来自用于3D打印的视频游戏的对象的适合性的方法,所述方法包括以下步骤:
获得表示在所述视频游戏内的时间点发现的对象的数据;
计算指示由获得的数据所表示的对象的适合度的多个不同得分,用于生成对象的3D打印,
其中,所述多个不同得分分别响应于从由以下各项组成的列表中选择的一个或多个:
i.在所述视频游戏内的时间点发现的对象的布置;
ii.对象的一个或多个元素对另一个元素的依赖性;
iii.用于将3D打印对象的元素连接在一起的任何连接结构的属性;
iv.获得的数据的质量;以及
v.用于生成用于对象的3D打印版本的打印数据的方法;
计算在所述视频游戏内的时间点发现的对象的所述多个不同得分的组合得分;
将所述组合得分与表示在所述视频游戏内的时间点发现的对象的数据相关联;以及
将所述组合得分的指示与在所述视频游戏内的时间点发现的所述对象的视觉表示一起显示在显示设备上。
2.根据权利要求1所述的方法,其中获得表示在所述视频游戏内的时间点发现的对象的数据的步骤包括:
周期性地渲染视频游戏的虚拟环境,以在连续时间点显示;
周期性地记录信息,所述信息使得能够在连续时间点上对渲染的虚拟环境的至少一部分进行视觉重建;以及
响应于在连续时间点处的渲染的虚拟环境的至少一部分的状态,周期性地记录预定值集合,所述预定值集合使所选的渲染的虚拟环境的至少一部分的模型被生成,所述模型被配置用于3D打印。
3.根据权利要求1或2所述的方法,其中,对于在所述视频游戏内的时间点发现的对象的布置,至少第一得分响应于对象在布置中是否是自支撑的计算。
4.根据权利要求3所述的方法,其中,所述第一得分响应于需要多少支撑结构来支撑该布置中的对象的计算。
5.根据权利要求1或2所述的方法,其中,对于所述对象的一个或多个元素对另一元素的依赖性,至少第一得分响应于支撑一个依赖元素或每个依赖元素所需的连接结构是否可以被锚定到排除该元素的元素外部区域的计算。
6.根据权利要求1或2所述的方法,其中,对于用于将3D打印对象的元素连接在一起的任何连接结构的属性,至少第一得分响应于从由以下各项组成的列表中选择的一个或多个的计算:
i.连接结构的数量;
ii.连接结构的总质量;以及
iii.连接结构的平均长度或最大长度。
7.根据权利要求1或2所述的方法,其中对于获得的数据的质量,至少第一得分响应于获得的数据集的类型。
8.根据权利要求1或2所述的方法,其中对于用于生成用于对象的3D打印版本的打印数据的方法,至少第一得分响应于对打印数据的测试生成的分析。
9.根据权利要求1或2所述的方法,其中至少第一得分响应于从由以下各项组成的列表中选择的一个或多个:
i.要使用的3D打印技术的类型;
ii.用于制作3D打印对象的材料类型;
iii.用于制作3D打印对象的材料量;以及
iv.3D打印对象所需的时间。
10.根据权利要求1或2所述的方法,其中响应于所述组合得分中断3D打印过程。
11.一种包括程序指令的非暂时性计算机可读介质,所述程序指令在计算机上实施时使计算机实施前述权利要求中任一项所述的步骤。
12.一种3D打印分析器,用于计算来自用于3D打印的视频游戏的对象的适合性,所述分析器包括:
存储器,其在操作中被布置为存储表示在视频游戏内的时间点发现的对象的数据;
处理器,其在操作中被布置为计算指示由获得的数据所表示的对象的适合度的多个不同得分,用于生成对象的3D打印,
其中,多个不同得分分别响应于从由以下各项组成的列表中选择的一个或多个:
i.在视频游戏内的时间点发现的对象的布置;
ii.对象的一个或多个元素对另一个元素的依赖性;
iii.用于将3D打印对象的元素连接在一起的任何连接结构的属性;
iv.获得的数据的质量;以及
v.用于生成用于对象的3D打印版本的打印数据的方法;
处理器在操作中被调整为计算在视频游戏内的时间点发现的对象的多个不同得分的组合得分;
处理器在操作中进一步被调整为将组合得分与表示在视频游戏内的时间点发现的对象的数据相关联;并且
处理器进一步被调整为将所述组合得分的指示与在所述视频游戏内的时间点发现的所述对象的视觉表示一起显示在显示设备上。
13.根据权利要求12所述的3D打印分析器,其中所述处理器可操作以响应于所述组合得分或至少第一得分而中断3D打印过程。
14.一种娱乐设备,包括权利要求12-13中任一项所述的3D打印分析器。
15.一种服务器,包括权利要求12-13中任一项所述的3D打印分析器。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1613472.8 | 2016-08-04 | ||
GB201613472A GB2552935B (en) | 2016-08-04 | 2016-08-04 | Device and method of analysing an object for 3D printing |
PCT/GB2017/052038 WO2018025009A1 (en) | 2016-08-04 | 2017-07-12 | Device and method of analysing an object for 3d printing |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109564708A CN109564708A (zh) | 2019-04-02 |
CN109564708B true CN109564708B (zh) | 2024-01-09 |
Family
ID=59381588
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780049018.2A Active CN109564708B (zh) | 2016-08-04 | 2017-07-12 | 分析用于3d打印的对象的设备和方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20190270251A1 (zh) |
EP (1) | EP3494550B1 (zh) |
JP (1) | JP6956171B2 (zh) |
CN (1) | CN109564708B (zh) |
GB (1) | GB2552935B (zh) |
WO (1) | WO2018025009A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10878136B2 (en) * | 2016-09-14 | 2020-12-29 | Mixed Dimensions Inc. | 3D model validation and optimization system and method thereof |
EP3737551A4 (en) * | 2018-04-20 | 2021-08-18 | Hewlett-Packard Development Company, L.P. | PRINTABILITY AND COST ANALYSIS OF A THREE-DIMENSIONAL PART |
US10984587B2 (en) * | 2018-07-13 | 2021-04-20 | Nvidia Corporation | Virtual photogrammetry |
US11771999B2 (en) * | 2020-03-20 | 2023-10-03 | Valve Corporation | Personalized game notifications |
CN116433879B (zh) * | 2023-06-15 | 2023-08-22 | 深圳市捷鑫华科技有限公司 | 基于图像处理的3d打印机精度校正方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130297059A1 (en) * | 2012-04-09 | 2013-11-07 | Autodesk, Inc. | Three-dimensional printing preparation |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4215891B2 (ja) * | 1999-02-19 | 2009-01-28 | 任天堂株式会社 | オブジェクト画像プリントサービスシステム |
US20130124151A1 (en) * | 2011-08-26 | 2013-05-16 | Radomir Mech | Methods and Apparatus for Printability of Three-Dimensional Objects |
GB2499694B8 (en) * | 2012-11-09 | 2017-06-07 | Sony Computer Entertainment Europe Ltd | System and method of image reconstruction |
US9564102B2 (en) * | 2013-03-14 | 2017-02-07 | Microsoft Technology Licensing, Llc | Client side processing of player movement in a remote gaming environment |
JP2015104573A (ja) * | 2013-11-29 | 2015-06-08 | 株式会社タイトー | ゲーム装置、3dプリント制御方法及び3dプリンタ制御プログラム |
US9588726B2 (en) * | 2014-01-23 | 2017-03-07 | Accenture Global Services Limited | Three-dimensional object storage, customization, and distribution system |
GB2536061B (en) * | 2015-03-06 | 2017-10-25 | Sony Interactive Entertainment Inc | System, device and method of 3D printing |
GB2537636B (en) * | 2015-04-21 | 2019-06-05 | Sony Interactive Entertainment Inc | Device and method of selecting an object for 3D printing |
-
2016
- 2016-08-04 GB GB201613472A patent/GB2552935B/en active Active
-
2017
- 2017-07-12 US US16/319,974 patent/US20190270251A1/en active Pending
- 2017-07-12 CN CN201780049018.2A patent/CN109564708B/zh active Active
- 2017-07-12 JP JP2019506185A patent/JP6956171B2/ja active Active
- 2017-07-12 WO PCT/GB2017/052038 patent/WO2018025009A1/en unknown
- 2017-07-12 EP EP17742273.0A patent/EP3494550B1/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130297059A1 (en) * | 2012-04-09 | 2013-11-07 | Autodesk, Inc. | Three-dimensional printing preparation |
Also Published As
Publication number | Publication date |
---|---|
JP2019523160A (ja) | 2019-08-22 |
CN109564708A (zh) | 2019-04-02 |
GB2552935A8 (en) | 2019-01-30 |
JP6956171B2 (ja) | 2021-11-02 |
EP3494550A1 (en) | 2019-06-12 |
GB2552935B (en) | 2020-01-01 |
US20190270251A1 (en) | 2019-09-05 |
EP3494550B1 (en) | 2021-10-06 |
GB2552935A (en) | 2018-02-21 |
WO2018025009A1 (en) | 2018-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3086291B1 (en) | Device and method of generating a model for subsequent 3d printing | |
EP3064257B1 (en) | System, device and method of 3d printing | |
CN109564708B (zh) | 分析用于3d打印的对象的设备和方法 | |
US20160257077A1 (en) | System, device and method of 3d printing | |
US11654633B2 (en) | System and method of enhancing a 3D printed model | |
US11529762B2 (en) | System and method of 3D print modelling | |
US10974459B2 (en) | Parallel method of flood filling, and apparatus | |
JP7425196B2 (ja) | ハイブリッドストリーミング | |
US11097486B2 (en) | System and method of 3D print modeling utilizing a point cloud representation and generating a voxel representation of the point cloud | |
GB2562101A (en) | System and method of 3D print modelling | |
GB2543097A (en) | Device and method of generating 3D printing data for a model | |
JP7364702B2 (ja) | テクスチャ操作を使用するアニメーション化された顔 |
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 |