CN104731535A - 几何物体的制作方法及3d打印系统 - Google Patents
几何物体的制作方法及3d打印系统 Download PDFInfo
- Publication number
- CN104731535A CN104731535A CN201510054831.1A CN201510054831A CN104731535A CN 104731535 A CN104731535 A CN 104731535A CN 201510054831 A CN201510054831 A CN 201510054831A CN 104731535 A CN104731535 A CN 104731535A
- Authority
- CN
- China
- Prior art keywords
- game
- finally need
- user
- printed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种几何物体的制作方法及3D打印系统,所述方法中,包括检测用户所选择的待打印3D对象中是否存在动态部件;当存在动态部件时,将所述待打印3D对象中除所述动态部件之外的其他部件作为最终需打印的3D对象,并将所述最终需打印的3D对象转变成打印文件,并且在所述最终需打印的3D对象的与所述动态部件连接处进行使所述动态部件可活动的设计;将所述打印文件发送至3D打印机,以使得3D打印机根据所述打印文件进行3D打印。通过上述方式,本发明能够在打印得到的实体3D模型中实现动态部件的可活动性。
Description
技术领域
本发明涉及打印技术领域,特别是涉及一种几何物体的制作方法及3D打印系统。
背景技术
3D打印,即快速成型技术的一种,它是一种以数字模型文件为基础,运用特殊蜡材、粉末状金属或塑料等可粘合材料,通过逐层打印的方式来构造物体的技术。
3D打印的设计过程通常是:先通过计算机建模软件如CAD、CAID等中构建需要打印的虚拟3D模型,再将构建的虚拟3D模型“分区”成逐层的截面,3D打印机通过读取3D模型的截面信息,用液体状、粉状或片状的材料将这些截面逐层打印出来,再将各层截面以各种方式粘合起来从而制造出一个实体。利用3D打印技术几乎可以任何形状的物品,产品多样化,且打印出来的物品无需组装,成本低,效率高。
然而,当虚拟3D模型中存在动态部件时,利用现有的几何物体的制作方法进行3D打印时,在最终得到的实体3D模型中无法实现动态部件的可活动性。
发明内容
本发明主要解决的技术问题是提供一种几何物体的制作方法及3D打印系统,能够在打印得到的实体3D模型中实现动态部件的可活动性。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种几何物体的制作方法,包括:接收用户对其所选择的待打印3D对象的打印请求;检测所述待打印3D对象中是否存在动态部件;当存在动态部件时,将所述待打印3D对象中除所述动态部件之外的其他部件作为最终需打印的3D对象,并将所述最终需打印的3D对象转变成打印文件,并且在所述最终需打印的3D对象的与所述动态部件连接处进行使所述动态部件可活动的设计;将所述打印文件发送至3D打印机,以使得3D打印机根据所述打印文件进行3D打印。
其中,所述将所述待打印3D对象中除所述动态部件之外的其他部件作为最终需打印的3D对象的步骤包括:将所述待打印3D对象中所述动态部件作为第一最终需打印的3D对象、以及将所述动态部件之外的其他部件作为第二最终需打印的3D对象;所述在所述最终需打印的3D对象的与所述动态部件连接处进行使所述动态部件可活动的设计的步骤包括:在所述第二最终需打印的3D对象的与所述第一最终需打印的3D对象连接处进行使所述动态部件可活动的设计,同时判断所述动态部件是否需要进行与所述可活动设计匹配的可活动设计,若需要则同时对所述动态部件进行可活动设计;或者不在所述第二最终需打印的3D对象的与所述第一最终需打印的3D对象连接处进行使所述动态部件可活动的设计,而额外生成支持所述动态部件活动的3D对象,作为第三最终需打印的3D对象;所述使得3D打印机根据所述打印文件进行3D打印的步骤包括:使得3D打印机根据所述打印文件打印所述第一最终需打印的3D对象和所述第二最终需打印的3D对象,以利用所述可活动设计连接所述第一最终需打印的3D对象和所述第二最终需打印的3D对象;或使得3D打印机根据所述打印文件打印所述第一最终需打印的3D对象、所述第二最终需打印的3D对象、所述第三最终需打印的3D对象,以利用所述可活动设计连接所述第三最终需打印的3D对象和所述第一最终需打印的3D对象。
其中,所述接收用户对其所选择的待打印3D对象的打印请求的步骤之前包括:根据用户选择从正在运行的3D游戏应用中获取对应选定游戏场景的待打印3D对象,以获取用户所选择的待打印3D对象。
其中,所述根据用户选择从正在运行的3D游戏应用中获取对应选定游戏场景的待打印3D对象的步骤包括:接收用户的截屏选择指令,以确定所述正在运行的3D游戏应用的界面中的截屏区域;选取所述截屏区域内所对应选定游戏场景的3D模型,以获取所述待打印3D对象。
其中,所述选取所述截屏区域内所对应选定游戏场景的3D模型的步骤包括:获取所述截屏区域内组成所述选定游戏场景的每帧游戏场景对应的单一模型的顶点坐标数据、纹理数据以及变换矩阵数据;利用所述顶点坐标数据、纹理数据以及变换矩阵数据获取每帧游戏场景对应的单一模型;将组成所述选定游戏场景的所有帧游戏场景分别对应的单一模型按照预定规则进行组合,进而得到所述选定游戏场景对应的3D模型。
其中,在所述接收用户的截屏选择指令的步骤之前,包括步骤:从正在运行的交互的3D游戏应用的界面中接收当前用户对至少另一交互方所操纵元素的操纵请求;接收所述至少另一交互方对所述操纵请求的允许指令,并在接收到所述允许指令后按照所述操纵请求实施对所述至少另一交互方所操纵元素的操纵;或按照所述操纵请求在所述界面中向所述至少另一交互方演示对所述操纵元素的操纵,以使得所述至少另一交互方按照所述演示对所述操纵元素进行操纵;所述接收用户的截屏选择指令的步骤包括:在完成对所述操纵元素的操纵后接收用户的截屏选择指令,以确定包括所述操纵元素在内的所述界面中的截屏区域。
为解决上述技术问题,本发明采用的另一个技术方案是:提供一种3D打印系统,包括:第一接收模块,用于接收用户对其所选择的待打印3D对象的打印请求;第一检测模块,用于检测所述待打印3D对象中是否存在动态部件,并在当存在动态部件时,将所述待打印3D对象中除所述动态部件之外的其他部件作为最终需打印的3D对象;第一处理模块,用于将所述最终需打印的3D对象转变成打印文件,并且在所述最终需打印的3D对象的与所述动态部件连接处进行使所述动态部件可活动的设计;发送模块,用于将所述打印文件发送至3D打印机,以使得3D打印机根据所述打印文件进行3D打印。
其中,所述第一检测模块用于将所述待打印3D对象中所述动态部件作为第一最终需打印的3D对象、以及将所述动态部件之外的其他部件作为第二最终需打印的3D对象;所述第一处理模块用于将所述第一最终需打印的3D对象和所述第二最终需打印的3D对象转变成打印文件,并且在所述第二最终需打印的3D对象的与所述第一最终需打印的3D对象连接处进行使所述动态部件可活动的设计,同时判断所述动态部件是否需要进行与所述可活动设计匹配的可活动设计,若需要则同时对所述动态部件进行可活动设计;或者不在所述第二最终需打印的3D对象的与所述第一最终需打印的3D对象连接处进行使所述动态部件可活动的设计,而额外生成支持所述动态部件活动的3D对象,作为第三最终需打印的3D对象,并将所述第一最终需打印的3D对象、第二最终需打印的3D对象、第三最终需打印的3D对象转变成打印文件;所述发送模块用于将所述打印文件发送至3D打印机,以使得3D打印机根据所述打印文件打印所述第一最终需打印的3D对象和所述第二最终需打印的3D对象,以利用所述可活动设计连接所述第一最终需打印的3D对象和所述第二最终需打印的3D对象;或使得3D打印机根据所述打印文件打印所述第一最终需打印的3D对象、所述第二最终需打印的3D对象、所述第三最终需打印的3D对象,以利用所述可活动设计连接所述第三最终需打印的3D对象和所述第一最终需打印的3D对象。
其中,进一步包括:获取模块,根据用户选择从正在运行的3D游戏应用中获取对应选定游戏场景的待打印3D对象,以获取用户所选择的待打印3D对象。
其中,所述获取模块包括:接收单元,用于接收用户的截屏选择指令,以确定所述正在运行的3D游戏应用的界面中的截屏区域;选取单元,用于选取所述截屏区域内所对应选定游戏场景的3D模型,以获取所述待打印3D对象。
其中,所述选取单元包括:第一获取子单元,用于获取所述截屏区域内组成所述选定游戏场景的每帧游戏场景对应的单一模型的顶点坐标数据、纹理数据以及变换矩阵数据;第二获取子单元,用于利用所述顶点坐标数据、纹理数据以及变换矩阵数据获取每帧游戏场景对应的单一模型;第三获取子单元,用于将组成所述选定游戏场景的所有帧游戏场景分别对应的单一模型按照预定规则进行组合,进而得到所述选定游戏场景对应的3D模型。
其中,进一步包括:第二处理模块,用于从正在运行的交互的3D游戏应用的界面中接收当前用户对至少另一交互方所操纵元素的操纵请求,并接收所述至少另一交互方对所述操纵请求的允许指令,并在接收到所述允许指令后按照所述操纵请求实施对所述至少另一交互方所操纵元素的操纵;或按照所述操纵请求在所述界面中向所述至少另一交互方演示对所述操纵元素的操纵,以使得所述至少另一交互方按照所述演示对所述操纵元素进行操纵;所述接收单元用于在完成对所述操纵元素的操纵后接收用户的截屏选择指令,以确定包括所述操纵元素在内的所述界面中的截屏区域。
本发明的有益效果是:区别于现有技术的情况,本发明几何物体的制作方法中,通过检测待打印3D模型中是否存在动态部件,当存在时,将待打印3D对象中除动态部件之外的其他部件作为最终需打印的3D对象,并在最终需打印的3D对象的与动态部件的连接处进行使动态部件可活动的设计,由此可使得在完成3D打印得到的实体3D模型中,能够使得动态部件可活动,从而实现实体3D模型中的动态部件的可活动性。
附图说明
图1是本发明几何物体的制作方法一实施方式的流程图;
图2是本发明几何物体的制作方法一实施方式中,在正在运行的3D游戏应用的界面中显示截屏悬浮窗操作界面的示意图;
图3是本发明几何物体的制作方法一实施方式中,用户截屏选择游戏场景后的界面的示意图;
图4是本发明几何物体的制作方法一实施方式中,选取截屏区域内所对应选定游戏场景的3D模型的流程图;
图5是本发明几何物体的制作方法的一实施方式中,在选取截屏区域内所对应选定游戏场景的3D模型之后的流程图;
图6是本发明几何物体的制作方法一实施方式中,3D模型编辑界面的示意图;
图7是本发明3D打印系统一实施方式的结构示意图。
具体实施方式
下面将结合附图和实施方式对本发明进行详细说明。其中,本发明几何物体的制作方法主要涉及的是利用3D打印技术将虚拟3D模型打印成型以得到实体3D模型的方法。
参阅图1,本发明几何物体的制作方法一实施方式中,包括如下步骤:
步骤S101:接收用户对其所选择的待打印3D对象的打印请求。
其中,用户可以从预定应用场景中选择其所需要打印的待打印3D对象,或者也可以是在建模软件中建立待打印的3D模型,此时用户所建立的3D模型即为其所选择的待打印3D对象。
在本实施方式中,接收用户对其所选择的待打印3D对象的步骤为:接收用户对其在预定应用场景中所选择的待打印3D对象的打印请求。当用户从预定应用场景选择并确定其所需要打印的3D对象后,可通过点击预定应用场景的界面中显示的“打印”按钮以发出打印请求。
其中,预定应用场景是指3D应用场景,即利用3D建模技术构造场景画面的应用,例如3D游戏应用场景、3D影视动画场景、3D展示(例如3D房产展示、3D服装展示)等。在3D应用场景中,构成场景的各元素(例如人物、环境)通常是利用三维建模软件来构造相应的3D模型而形成,因此,当需要对3D应用场景中的某一场景进行3D打印时,用户可在3D应用场景中选择需要进行3D打印的3D对象,所述3D对象即是指3D应用场景中的各种元素,计算机根据用户选择获取用户所选择的待打印3D对象,该获取的待打印3D对象即为用以实现3D打印的3D模型。
当然,在其他实施方式中,预定应用场景也可以是2D应用场景,即不是利用3D建模技术构成场景画面的应用,在此种情况下,可以一定的转换关系将2D应用场景转换成3D应用场景,进而得到待打印3D对象。
步骤S102:检测待打印3D对象中是否存在动态部件。
其中,动态部件是指在预定应用场景的界面中处于活动状态的部件,例如旋转的风车。在接收到用户通过点击“打印”按钮发出的打印请求后,检测用户所选择的待打印3D对象中是否存在动态部件。
步骤S103:当存在动态部件时,将待打印3D对象中除动态部件之外的其他部件作为最终需打印的3D对象,并将最终需打印的3D对象转变成打印文件,并且在最终需打印的3D对象的与动态部件连接处进行使动态部件可活动的设计。
其中,将最终需打印的3D对象转变成打印文件的过程,即是对最终需打印的3D对象进行切片处理以获取最终需打印的3D对象的每一层截面信息,打印文件即是用于记录这些截面信息的文件,也是实现计算机和3D打印机之间协作的文件。
当待打印3D对象中存在动态部件时,可以选择不对动态部件进行3D打印,仅是将除待打印3D对象中除动态部件之外的其他部件作为最终需打印的3D对象,以进行3D打印,并在最终需打印的3D对象的与动态部件的连接处惊喜使动态部件可活动的设计。动态部件可以在完成所述其他部件的3D打印后,作为额外成型的部件添加至打印完成的其他部件对应的实体3D的模型中,并利用可活动设计连接动态部件和打印得到的实体3D模型,以使得动态部件能够实现可活动性。
举例而言,当检测到待打印3D对象中存在旋转的风车时,可将除旋转的风车之外的其他部件作为最终需打印的3D对象,旋转的风车通过转轴与所述其他部件进行连接。对其他部件的与旋转的风车的连接处进行的可活动设计为使其他部件的与旋转的风车的转轴的连接处为一用于容纳风车的转轴的腔体,并使该腔体与风车转轴的尺寸相匹配。而风车可以作为额外的部件,例如可以是现成的风车,也可以是3D打印的风车,在其他部件完成打印后,可将风车的转轴插入所述腔体中,从而可实现风车的动态旋转。
步骤S104:将打印文件发送至3D打印机,以使得3D打印机根据打印文件进行3D打印。
其中,打印文件中除了包括最终需打印的3D对象的截面信息外,还包括在待打印3D对象中除动态部件之外的其他部件的与动态部件的连接处的可活动设计的信息。
其中,计算机和3D打印机之间可通过有线连接方式实现打印文件的传输,或者也可以通过无线方式例如蓝牙、WIFI等方式实现打印文件的传输。3D打印机根据打印文件中所记录的3D对象的每一层截面信息以进行逐层打印,进而得到实体3D模型。
通过本实施方式的几何物体的制作方法,可以在得到的实体3D模型中实现动态部件的可活动性,有利于3D打印的扩展,提高趣味性。
进一步地,在本发明几何物体的制作方法的另一实施方式中,动态部件也可以是在3D打印过程中通过3D打印形成的动态部件,而不是在完成3D打印之后额外增加的部件。具体地,将待打印3D对象中除动态部件之外的其他部件作为最终需打印的3D对象的具体步骤为:将待打印3D对象中的动态部件作为第一最终需打印的3D对象,将待打印3D对象中除动态部件之外的其他部件作为第二最终需打印的3D对象。
此外,在最终需打印的3D对象与动态部件连接处进行使动态部件可活动的设计步骤包括:在第二最终需打印的3D对象的与第一最终需打印的3D对象的连接处进行使动态部件可活动的设计,同时判断动态部件是否需要进行与可活动设计匹配的可活动设计,若需要则同时对动态部件进行可活动设计。例如,当3D对象中的动态部件为旋转的风车时,将该旋转的风车作为第一最终需打印的3D对象,将3D对象中的除旋转的风车之外的其他部件作为第二最终需打印的3D对象,第一最终需打印的3D对象通过风车上的转轴与第二最终需打印的3D对象连接,因此可在第二最终需打印的3D对象的与风车的转轴连接之处进行使转轴转动的设计,例如使该连接之处设计为可插入风车转轴的腔体,并使驱动风车转动的转轴大小与该腔体相匹配,以实现该转轴在该腔体中的可旋转。
在进行上述的可活动设计后,将第一最终需打印的3D对象和第二最终需打印的3D对象转变成打印文件,其中,该打印文件中包括了上述对第一最终需打印的3D对象和第二最终需打印的3D对象的可活动设计信息,并将打印文件发送给3D打印机,以使得3D打印机根据打印文件打印第一最终需打印的3D对象和第二最终需打印的3D对象。在完成第一最终需打印的3D对象和第二最终需打印的3D对象的3D打印后,即可以利用可活动设计连接打印出来的第一最终需打印的3D对象对应的实体模型和第二最终需打印的3D对象对应的实体模型,例如可以将风车的转轴插入第二最终需打印的3D对象的所述腔体中,以实现二者可活动连接。
或者,在另一实施方式中,也可以不在第二最终需打印的3D对象的与第一最终需打印的3D对象连接处进行使动态部件可活动的设计,而是额外生成支持动态部件活动的3D对象,作为第三最终需打印的3D对象,并且将第一最终需打印的3D对象、第二最终需打印的3D对象、第三最终需打印的3D对象转变成打印文件,并将该打印文件发送给3D打印机,以使得3D打印机根据打印文件打印第一最终需打印的3D对象、第二最终需打印的3D对象、第三最终需打印的3D对象。由此,在完成第一最终需打印的3D对象、第二最终需打印的3D对象、第三最终需打印的3D对象的3D打印后,可利用可活动设计连接第三最终需打印的3D对象对应的实体模型和第一最终需打印的3D对象对应的实体模型,以实现动态部件的可活动。
此外,在另一实施方式中,可以在3D打印机打印过程中,使3D打印机根据可活动设计连接第一最终需打印的3D对象和第二最终需打印的3D对象,例如在打印过程中,可使用特殊材料形成第二最终需打印的3D对象的与第一最终需打印的3D对象的连接处,该特殊材料例如为与形成第一最终需打印的3D对象的材料为相互排斥材料,或者为不具有黏性的材料,以使打印得到的第一最终需打印的3D对象对应的实体模型和第二最终需打印的3D对象对应的实体模型之间的连接为不紧密连接,以实现二者的可活动。
在本发明几何物体的制作方法的又一实施方式中,进一步地,在接收用户对其所选择的待打印3D对象的打印请求之前,包括步骤:根据用户选择从正在运行的3D游戏应用中获取对应选定游戏场景的待打印3D对象,以获取用户所选择的待打印3D对象。进一步地,通过截屏方式来获取需要打印的3D对象,根据用户选择从正在运行的3D游戏应用中获取对应选定游戏场景的待打印3D对象的具体步骤包括:接收用户的截屏选择指令,以确定正在运行的3D游戏应用的界面中的截屏区域;选取截屏区域内所对应选定游戏场景的3D模型,以获取用户所选择的待打印3D对象。
即在本实施方式中,预定应用场景为3D游戏应用场景,用户在玩游戏过程中,除了得到游戏本身趣味性的享受和视觉上的享受外,更多用户希望可以对喜爱的游戏场景、角色或者与队友合影的画面进行纪念保存,通过本实施方式,可以满足用户的需求,增加3D打印的趣味性。
3D游戏即三维游戏,其主要是在游戏中使用3D模型来制作人物角色、环境、机械、游戏道具等物体,使游戏玩家可以在游戏中体会到长宽高三种度量,以实现立体感。而3D游戏应用中的游戏场景则是由这些通过3D模型来实现的人物角色、环境、机械、游戏道具等物体所组成的画面。因此,在正在运行中的3D游戏应用中,显示界面所显示的游戏场景均与相应的3D模型对应,可以通过直接获取相应的3D模型以对相应游戏场景进行3D打印。
本实施方式中,用户可通过截屏方式选择其所需要打印的3D模型。其中,本发明几何物体的制作方法可通过安装于计算机上的3D打印应用来实现。当用户希望在进行3D游戏应用时将其所喜欢的某一游戏场景进行3D打印时,只需启动该3D打印应用即可。具体而言,在启动3D游戏应用之前,可先启动该3D打印应用。由此,在检测到用户启动3D游戏应用后,在3D游戏应用的界面上显示截屏悬浮窗操作界面,如图2所示,在正在运行的3D游戏应用的界面301的右上角,显示截屏悬浮窗操作界面302。或者,用户也可以不事先启动3D游戏应用,只需在计算机上预先安装该3D打印应用即可,在此情况下,计算机检测到用户启动3D游戏应用后,即自动激活该3D打印应用,并在3D游戏应用的界面301上显示截屏悬浮窗操作界面302。
其中,所述截屏悬浮窗操作界面302为置顶显示在3D游戏应用的界面301中,截屏悬浮窗操作界面302中包括截屏按钮等各种功能按钮,其中图2中仅是示意性地示出部分功能按钮,并非是作为本发明的限制。当用户在游戏过程中,当需要对当前游戏界面显示的游戏场景进行3D打印时,可以通过点击截屏悬浮窗操作界面302中的截屏按钮以触发当前游戏界面进入截屏模式,进而用户可进行截屏操作。在截屏模式下,当前游戏界面将停留在点击截屏按钮时的游戏界面,从而用户可以利用鼠标或通过手指滑动来选择当前游戏界面中需要打印的游戏场景、对象。当用户选择当前游戏界面中某一游戏场景或对象后,可通过点击确认按钮来发出完成截屏选择的指令,如图3所示,虚线框中的场景元素表示用户所选择的游戏场景,在用户完成截屏操作后,可在截屏区域旁边显示“确认”和“重新选择”的按钮,当用户点击“确认”时则表示选择完成,当用户点击“重新选择”时则取消当前被选择的游戏场景的被选中状态,用户可重新进行截屏选择。截屏选择指令包括了点击截屏按钮的操作指令、用户选择当前游戏界面中的游戏场景的选择指令以及确认其所选择的游戏场景的确认指令。在接收到用户的截屏选择指令后,根据用户的截屏选择指令,确定正在运行的3D游戏应用的界面中的截屏区域,即用户所选定的需进行3D打印的游戏场景所在的区域。截屏区域可以默认为是整个游戏界面,当然,也可以是比较小的界面,比如用户所操纵的主角为中心的小范围界面。
在确定截屏区域后,选取截屏区域内所对应选定游戏场景的3D模型,以获取用户所选择的待打印3D对象。其中,所对应选定游戏场景的3D模型是指在确定截屏区域后,对截屏区域内的游戏场景进行自动筛选,以从截屏区域内的游戏场景中选择预定场景,并获取的该预定场景所对应的3D模型。例如,可以设定为仅是针对人物角色进行3D打印,在确定截屏区域后,从截屏区域内的游戏场景中选定人物角色,并获取对应该选定的人物角色的3D模型,以获取待打印3D对象。
当然,其他实施方式中,所对应选定游戏场景的3D模型也可以是截屏区域内的所有游戏场景对应的3D模型,即将选取的截屏区域内的所有游戏场景对应的3D模型作为获取的待打印3D对象。
用户在完成截屏选择操作后,可通过点击截屏悬浮窗操作界面中的“打印”按钮以发出打印请求,从而根据在接收到用户的打印请求执行检测待打印3D对象中是否存在动态部件的步骤。
通过上述方式,用户在玩游戏过程中可将所喜欢的游戏场景打印出来变为实体物体所拥有,提高3D打印的趣味性,并且不需要在三维建模软件中重新构思、构建3D应用场景对应的3D模型,能够减少3D模型的建模时间。
复杂的游戏场景通常由多帧游戏场景组成,本实施方式中,通过获取组成选定游戏场景的多帧游戏场景的相关数据以获取选定游戏场景对应的3D模型。具体地,在接收到用户的截屏选择指令以确定截屏区域后,参阅图4,选取截屏区域内所对应选定游戏场景的3D模型包括以下步骤:
步骤S401:获取截屏区域内组成选定游戏场景的每帧游戏场景对应的单一模型的顶点坐标数据、纹理数据以及变换矩阵数据。
其中,游戏在渲染每一帧图像时,通过绘制顶点数组中的顶点来绘制模型。获取顶点坐标数据的步骤为:通过对传入的顶点数组进行追踪,得到顶点数组的指针、绘制类型和数据保存类型等参数,并根据数据坐标类型以及顶点的个数,计算出顶点数组的大小。通过读取顶点数组的指针,以及计算得到的顶点数组的大小,获取并保存顶点坐标数据。
此外,除了模型的顶点坐标数据,摄像机的设置、模型的旋转角度、方位、光照等参数也是形成场景过程中须设置的参数,通常调用矩阵类对这些参数进行设置。因此,本实施方式中,通过对四个参数的相关设置函数进行追踪,以获取场景中摄像头位置矩阵、旋转角度矩阵、方位矩阵、光照矩阵,并按照如下方法得到模型的变换矩阵数据:
光照矩阵x摄像机位置矩阵x方位矩阵x旋转角度矩阵=变换矩阵
此外,游戏场景的绘制中,使用纹理加载图片。本实施方式中,纹理数据包括纹理坐标以及纹理图片。
其中,获取纹理坐标的具体步骤为:通过对传入的纹理数组进行追踪,得到纹理数组的指针、绘制类型和数据保存类型等参数,并根据这些参数以及纹理的个数,计算纹理数组的大小。通过读取纹理数组的指针以及纹理数组的大小,获取并保存纹理坐标。
其中,获取纹理图片的具体步骤为:对纹理加载过程进行追踪,记录并保存纹理的ID、加载的纹理图片、图片分辨率以及图片格式等参数。由此,根据纹理ID找到图片数据,并通过图片分辨率以及图片格式计算图片缓存的大小,并进行保存,由此得到纹理图片。
步骤S402:利用顶点坐标数据、纹理数据以及变换矩阵数据获取每帧游戏场景对应的单一模型。
其中,利用公式:顶点坐标数据x变换矩阵数据,即可得到每帧游戏场景的模型框架,然后通过将模型框架和纹理数据按照通用的3D模型文件格式进行打包并保存,由此可得到每帧游戏场景对应的单一模型。
步骤S403:将组成选定游戏场景的所有帧游戏场景分别对应的单一模型按照预定规则进行组合,进而得到选定游戏场景对应的3D模型。
在获得每帧游戏场景对应的单一模型后,将每帧游戏场景对应的单一模型进行组合从而得到截屏区域内对应选定游戏场景的3D模型。其中,可以根据现有的游戏场景在绘制过程中使用的组合方法,将得到的多个单一模型进行组合以得到选定游戏场景对应的3D模型。
通过上述方式,用户可以在游戏进行的任意时刻对显示的游戏场景进行截屏,从而根据用户的截屏操作获取截屏区域内的选定游戏场景的数据信息,如上所述的顶点坐标数据、纹理数据以及变换矩阵数据等,进而根据这些数据信息可获得选定游戏场景对应的3D模型。
当然,在其他实施方式中,也可以通过获取选定游戏场景的目标文件的文件编码,即索引结构来获取相应的3D模型。此外,在其他实施方式中,还可以通过物理按键来进行截屏操作,例如对于个人计算机,可以通过按下指定的键盘按键进行截屏,或者,对于移动终端如手机、平板电脑等设备,可以通过同时按下锁屏键和音量键实现截屏操作。
在本发明几何物体的制作方法的又一实施方式中,进一步地,在接收到用户在正在运行的3D游戏应用的界面中的截屏选择指令,并确定正在运行的3D游戏应用的界面中的截屏区域后,不跳出正在运行的3D游戏应用的界面,即保持正在运行的3D游戏应用的界面为当前显示界面,并使在截屏区域之外的界面其他区域保持正常的3D游戏应用运行更新显示,而截屏区域之内则显示用户所选择的游戏场景。
此外,在接收到用户在正在运行的3D游戏应用的界面中的截屏选择指令时,根据用户的截屏选择指令在界面中框选用户所选定的截屏区域,并使截屏区域的亮度大于截屏区域之外的界面其他区域的亮度,并保持界面其他区域正常的对3D游戏应用的操作处理。
在本发明几何物体的制作方法的又一实施方式中,进一步地,用户还可以对其所选择的游戏场景进行修改,以打印更具个性化的实体3D模型。具体地,参阅图5,在接收用户对其所选择的待打印3D对象的步骤之前,并在选取截屏区域内所对应选定游戏场景的3D模型的步骤之后,进一步包括如下步骤:
步骤S501:接收用户的编辑请求。
其中,可在截屏悬浮窗操作界面302中提供一编辑按钮,在未接收到用户的截屏选择指令之前,该编辑按钮为未激活状态,在接收到用户的截屏选择指令并选取截屏区域内的对应选定游戏场景的3D模型后,使该编辑按钮处于激活状态。或者,也可以是在接收到用户的截屏选择指令并并选取截屏区域内的对应选定游戏场景的3D模型后,在截屏区域的边缘附近自动显示处于激活状态的编辑按钮。由此,用户在选定了需要打印的游戏场景后,可通过点击该处于激活状态的编辑按钮来发出对其所选择的游戏场景对应的3D模型进行编辑的编辑请求。
步骤S502:根据编辑请求显示3D模型编辑界面。
计算机接收到用户的编辑请求后,从当前正在运行的3D游戏应用的界面中跳转至3D模型编辑界面,以对用户显示3D模型编辑界面。或者,也可以不跳出正在运行的3D游戏应用的界面,而是在正在运行的3D游戏应用的界面上以弹窗方式显示3D模型编辑界面。
步骤S503:接收用户在3D模型编辑界面中对选取的3D模型进行修改、删除或增加的编辑指令。
其中,如图6所示的3D模型编辑界面中,提供用户各种编辑工具,例如颜色修改、线条选择、增加文字、增加3D部件等工具。用户可在3D模型编辑界面中对其所选定的游戏场景所对应的3D模型进行编辑,例如可对3D模型的部件进行颜色、尺寸、材质、光照等校正与修复或修改处理,也可以将某部件进行删除,或者增加某一部件至3D模型中,还可以在3D模型中增加文字说明或个性签名等。此外,在3D模型编辑界面中还提供各种3D模型部件,用户可根据需要选择一种或多种3D模型部件至所选取的3D模型中以合并为一个3D模型,还可以从本地存储器中选择一个或多个3D模型添加至所选取的3D模型中以合并为一个3D模型。
此外,还可以除去地板、水面等不需求或者失真的场景,或对某些部件进行特效处理,还可以选择将悬空的部件删除。
步骤S504:根据编辑指令对选择的3D模型进行相应编辑,并将编辑后的3D模型作为获取的待打印3D对象。
编辑指令即是指用户在3D模型编辑界面中输入的上述编辑操作指令,根据用户的编辑指令对3D模型进行相应编辑。
用户在完成编辑后,可通过点击3D模型编辑界面中的“打印”按钮来发出打印请求。由此,在接收到用户的打印请求后,将编辑后的3D模型作为获取的待打印3D对象,并执行检测待打印3D对象中是否存在动态部件的步骤。
通过提供对所选取的3D模型的二次编辑功能,可以满足更多用户的不同需求。
在其他实施方式中,还可以通过向用户发出询问的方式来触发二次编辑功能。在接收到用户对其所选择的游戏场景的确认指令后,可弹出一对话框,对话框内容可以显示“是否需要对3D模型进行编辑”,并提供“是”、“否”两个选项。当用户选择对“是”选项时则显示3D模型编辑界面;当用户选择“否”选项时则不对3D模型进行编辑,并将选取的3D模型转变为打印文件并发送给3D打印机进行3D打印。
在本发明几何物体的制作方法的又一实施方式中,进一步地,用户还可以选择将其所选择的游戏场景与其他玩家共享。例如当用户所选择的游戏场景为:用户在游戏中的人物角色与其他游戏玩家的人物角色在某一时刻下的攻击姿势,或者用户的人物角色与其他游戏玩家的人物角色的合影。为使得游戏各方对打印的3D模型都较为满意,可将待打印3D对象发送给其他玩家以进行确认。
具体地,本实施方式中,3D游戏应用为在线交互应用。在确定截屏区域并从截屏区域中选取待打印的3D模型后,将截屏区域和3D模型的3D预览图共享给3D游戏应用的另一交互方或多个交互方。其中,用户在选择截屏区域后,可通过截屏悬浮窗操作界面302中的共享按钮发出共享请求,从而根据用户的共享请求将截屏区域和获取的3D模型的3D预览图共享给用户所选择的另一交互方或多个交互方。或者,也可以是在接收到用户的截屏选择指令并从截屏区域中选取对应选定游戏场景才3D模型后,自动将截屏区域和3D模型的3D预览图共享给其他交互方。其中,共享的方式,例如可以是将截屏区域以及3D模型的3D预览图在当前交互的3D游戏应用的界面上对其他交互方进行显示,也可以是将截屏区域以及3D模型的3D预览图发送给其他交互方,以在其他交互方的显示界面上进行显示。由此,可使得其他交互方获知用户所选择的需要打印的3D对象,从而可以进行确认或给出意见等。
在接收到其他交互方对3D模型的预览图的确认指令后,执行接收用户对其所选择的待打印3D对象的打印请求的步骤。或者,不需要接收其他交互方对3D模型的预览图的确认指令,而是将截屏区域和3D模型的3D预览图共享给其他交互方后即执行接收用户对其所选择的待打印3D对象的打印请求的步骤。
另外,当用户对3D模型进行编辑时,还可以将3D模型编辑界面及编辑中或编辑后的3D模型的3D预览图共享给3D游戏应用的其他交互方。其中,在显示3D模型编辑界面后,用户可通过点击3D模型编辑界面中的共享按钮发出共享请求,由此根据该共享请求将编辑界面和编辑中或编辑后的3D模型的3D预览图共享给3D游戏应用的其他交互方,以使得其他交互方可观看到用户对3D模型的编辑,以及编辑后的3D模型的3D预览图。
此外,用户也可以将对3D模型的编辑权授权给其他交互方,其他交互方可在共享的3D模型编辑界面中输入对3D模型的修改、删除或增加的编辑指令。通过接收其他交互方的编辑指令,对3D模型进行相应编辑,并将编辑后的3D模型作为获取的待打印3D对象。
在交互的3D游戏应用中,每个用户都有其相应的可操纵元素,这些元素例如是人物角色、道具、攻击动作等,而每个用户在游戏中也仅能够操纵其个人的元素,而不能操纵其他交互方的元素。在进行3D打印过程中,为了取得更符合心意的3D模型,在某些情况下用户可能希望其他交互方的元素能够做出特定的动作或移动到指定位置再做出特定动作等,这就需要其他交互方能够获知用户的意图而按照用户意图操纵其元素做出特定动作或移动到特定位置等。
为此,在本发明几何物体的制作方法的又一实施方式中,进一步提出一种基于交互式截屏操作的几何物体的制作方法,通过本实施方式,有利于取得当前用户和另一交互方都满意的待打印的3D对象。具体地,3D游戏应用为交互应用,在获取待打印3D对象的步骤之前,即在接收用户的截屏选择指令之前,从正在运行的3D游戏应用的界面中接收当前用户对另一交互方所操纵元素的操纵请求。
其中,在用户点击截屏悬浮窗操作界面302上的截屏按钮进行截屏操作之前,可通过点击截屏悬浮窗操作界面302中的操纵对方元素的请求按钮以发出对另一交互方所操纵元素的操纵请求。其中,在点击该请求按钮以触发请求后,用户需选中另一交互方所操纵的元素,并输入相应的操纵指令,例如使其所选中的元素移动至指定位置的操纵指令,或者使其所选中的元素做出指定动作的操纵指令。因此,该操纵请求包括了用户对另一交互方所操纵元素的选中指令、对所选中的另一交互方的元素做出的操纵指令以及请求另一交互方将其所操纵元素的操纵权限开放给用户的请求信息。在接收到用户的操纵请求后,将所述的请求信息发送给另一交互方,并接收另一交互方对该请求信息的响应动作。当接收到另一交互方对该请求信息的允许指令后,根据用户的操纵请求中的选中指令以及操纵指令,实施对用户所选中的另一交互方所操纵元素的操纵。
为方便、精确打印出用户最想要的操纵元素的姿势、状态或游戏场景的特点状态,可以设置“慢动作”功能,用户启用此功能后,操纵元素或游戏进度将会以一个容易被用户定格的速度演变,甚至还可以倒退,直到操纵元素或游戏进度到达了某个用户想要的时刻或状态。
在完成对另一交互方的元素的操纵后,接收用户的截屏选择指令,以确定包括操纵后的另一交互方的元素在内的界面中的截屏区域,并选取截屏区域内所对应选定游戏场景的3D模型,从而获得待3D打印对象,进而实现3D打印。
或者,在另一实施方式中,所述操纵请求可以是包括用户对另一交互方所操纵元素的选中指令以及对所选中的另一交互方的元素做出的操纵指令。在接收到用户的操纵请求后,根据该操纵请求在正在运行的3D游戏应用的界面中向另一交互方演示对用户所选中的元素的操纵,以使得另一交互方按照该演示对其所操纵的且为用户所选中的元素进行操纵,以得到符合用户心意的游戏场景,由此用户可进行截屏操作,以对其选定的游戏场景对应的3D模型进行3D打印。
当然,在3D模型编辑界面中,也可以实现上述的交互式编辑,即在用户完成对3D模型的编辑后,可以选择将完成编辑的3D模型在正在运行的3D游戏应用的界面上向另一交互方进行演示,并接收另一交互方对演示的3D模型的确认指令,在接收到另一交互方的确认指令后执行接收用户对其所选择的待打印3D对象的打印请求的步骤。
在本发明几何物体的制作方法的又一实施方式中,用户还可以对其所选择的游戏场景对应的3D模型进行预置部件的打印设置。预置部件是指额外设置在3D模型中的其他部件,用于在完成3D模型的3D打印后或打印前放置在打印得到的实体3D模型中的部件。预置部件可以是非3D打印部件,也可以是3D打印部件。
具体地,可以在截屏悬浮窗操作界面302提供预置部件选择按钮。在选取截屏区域内所对应选定游戏场景的3D模型之后,通过截屏悬浮窗操作界面302的预置部件选择按钮接收用户对预置部件的设置请求。或者,其他实施方式中,也可以在3D模型编辑界面中提供预置部件选择按钮,用户在对3D模型进行编辑之后或之前,可通过点击3D模型编辑界面中的预置部件选择按钮以发出预置部件的设置请求。
其中,在接收到用户的预置部件设置请求后,显示自定义打印设置窗口。在自定义打印设置窗口中提供多种预置部件,用户可选择其中一种或多种进行设置。具体地,接收用户在自定义打印设置窗口中选择预置部件的选择指令。其中,该选预置部件的选择指令包括用户选择预置部件类型(例如预置部件为小红旗、气球等)的选择指令,以及在自定义打印设置窗口中对所选取的3D模型或其部分部件进行选中或对3D模型之外的预定位置的选中的选择指令,以根据用户选择预置部件类型的选择指令确定用户所选择的预置部件的类型,以及根据用户对所选取的3D模型或其部分部件进行选中或对3D模型之外的预定位置的选中的选择指令确定预置部件在3D模型中放置的位置,进而得到预置部件的选择信息。
接收到用户的选择预置部件的选择指令后,接收用户对其所选择的预置部件的确认指令,例如可通过点击自定义打印设置窗口的“打印”按钮发出确认,同时也是发出打印请求。由此,在接收到用户的对预置部件的确认指令或打印请求后执行检测待打印3D对象中是否存在动态部件的步骤。并且,在将最终需打印的3D对象转变成打印文件的步骤中,使打印文件中的信息包括预置部件的选择信息,以使得3D打印机在根据打印文件进行3D打印时,根据预置部件的选择信息选择不对3D模型中用于放置预置部件的位置的部分进行3D打印。
具体地,在将最终需打印的3D对象转变成打印文件的步骤中,在用户对所选取的3D模型或其部分部件进行选中的情况下,将被选中的3D模型或其部分部件作为预置部件替换部分,将除被选中的3D模型或其部分部件之外的其他3D模型部分作为最终需打印的3D对象,并将最终需打印的3D对象转变成打印文件,并且在最终需打印的3D对象与预置部件连接处进行方便连接、固定预置部件的设计。其中,打印文件中包括在最终需打印的3D对象与预置部件连接处进行的方便连接、固定预置部件的设计的信息。由此,在3D打印机根据该打印文件打印得到的实体3D模型中,可以将预置部件固定在实体3D模型中。
举例而言,假设用户选择的预置部件为带旗杆的红旗。用户将其所选择的游戏场景对应的3D模型中的某一块草地进行选中,由此根据用户的选中操作确定了用户所选择的红旗所放置的位置,即被选中的草地所在的位置。在生成打印文件时,将3D模型中除被选中的草地之外的其他3D模型作为最终需打印的3D模型,即不对被选中的草地进行3D打印,以使得在打印得到的实体3D模型中,被选择的草地所在的位置为留空。将最终需打印的3D模型转变成打印文件。其中,在最终需打印的3D对象与预置部件连接处进行方便、固定预置部件的设计为:使被选中的草地所在的位置设计为与红旗的旗杆的大小和形状相匹配的孔洞,打印文件中包括了使被选中的草地所在的位置与红旗的旗杆的形状和大小相匹配的信息,由此在3D打印机根据该打印文件进行3D打印得到实体3D模型后,可以将与用户所选择的红旗对应的实体红旗插入并固定在实体3D模型中被选中的草地所在的位置的孔洞中。
在用户对所选取的3D模型之外的预定位置进行选中的情况下,根据用户的选中操作,将所选取的3D模型作为最终需打印的3D对象,并将最终需打印的3D对象转变成打印文件,并且在最终需打印的3D对象的所述预定位置进行方便连接、固定预置部件的设计。其中,打印文件中包括在最终需打印的3D对象的预定位置进行的方便连接、固定预置部件的设计的信息。
通过上述方式,用户可以选择所喜欢的预置部件放置在待打印3D对象中,以获得更具个性化的实体3D模型。并且,通过在最终需打印的3D对象中进行方便连接、固定预置部件的设计,由此可使得预置部件与打印得到的实体3D模型更完美结合,有利于实体3D模型更美观。
在本发明几何物体的制作方法的又一实施方式中,还可以对3D模型的打印品质或打印效果进行设置。其中,打印品质类型或打印效果类型的选择功能可以在3D模型编辑界面中实现,也可以在自定义打印设置窗口中实现,还可以是在截屏模式下实现。本实施方式中,在3D模型编辑界面中实现,例如,在用户在完成对3D模型的编辑后,可在3D模型编辑界面中选择打印品质类型或打印效果类型,由此根据用户的选择获取打印品质类型或打印效果类型的选择信息。并且,用户在确认其所选择的打印品质类型或打印效果类型后,可通过点击3D模型编辑界面中的“打印”按钮以发出打印请求。
其中,打印品质类型包括分辨率类型,分辨率越高打印出来的实体3D模型越精致;打印效果类型包括打印的尺寸类型,选择的打印尺寸越大打印出来的实体3D模型越大,用户可选择不同的分辨率和不同尺寸对其所选择的3D模型进行3D打印。其中,用户在选择打印品质类型或打印效果类型时,可以向用户显示其所选择的打印品质类型或打印效果类型对应的预览效果图。用户可参考预览效果图选择其所需的打印品质类型或打印效果类型。
其中,在将最终需打印的3D对象转变为打印文件的步骤中,使打印文件中包括打印品质类型或打印效果类型的选择信息,以使得3D打印机根据打印文件打印出符合要求的实体3D模型。
在本发明几何物体的制作方法的又一实施方式中,在将打印文件发送给3D打印机后,还可以显示打印进度示意图。其中,打印进度示意图的形状可以和需要打印的3D模型的形状相同或者为需要打印的3D模型的简化形状,例如可以是3D模型的外轮廓缩小图,从而可以更直观地显示目前打印进度。并且,在打印进度示意图中,表示未打印部分和表示已打印部分采用不同的标记,例如表示已打印部分采用红色标记,表示未打印部分采用绿色标记;或者表示已打印部分的图形线条加粗处理。
其中,显示打印进度示意图的步骤还包括:显示打印进度百分比。
其中,显示打印进度示意图的步骤还包括:从至少两个视图方向分别显示打印进度示意图,即显示两个打印进度示意图,该两个打印进度示意图分别为不同视角的3D模型的简化形状示意图。
参阅图7,本发明3D打印系统一实施方式中,包括第一接收模块601、第一检测模块602、第一处理模块603以及发送模块604。其中,第一接收模块用于接收用户对其所选择的待打印3D对象的打印请求;第一检测模块602用于检测待打印3D对象中是否存在动态部件,并在当存在动态部件时,将待打印3D对象中除动态部件之外的其他部件作为最终需打印的3D对象;第一处理模块603用于将最终需打印的3D对象转变成打印文件,并且在最终需打印的3D对象的与动态部件连接处进行使动态部件可活动的设计;发送模块604用于将打印文件发送至3D打印机,以使得3D打印机根据打印文件进行3D打印,其中,打印文件中包括在最终需打印的3D对象的与动态部件的连接处的可活动设计的信息。
其中,用户可以从预定应用场景中选择其所需要打印的待打印3D对象,或者也可以是在建模软件中建立待打印的3D模型,此时用户所建立的3D模型即为其所选择的待打印3D对象。
在本实施方式中,第一接收模块601用于接收用户对其在预定应用场景中所选择的待打印3D对象的打印请求。当用户从预定应用场景选择并确定其所需要打印的3D对象后,可通过点击预定应用场景的界面中显示的“打印”按钮以发出打印请求。
其中,预定应用场景是指3D应用场景,即利用3D建模技术构造场景画面的应用,例如3D游戏应用场景或3D影视场景。在3D应用场景中,构成场景的各元素通常是利用三维建模软件来构造相应的3D模型而形成,因此,当需要对3D应用场景中的某一场景进行3D打印时,用户可在3D应用场景中选择需要进行3D打印的场景,计算机根据用户选择获取用户所选择的场景对象,以获取待打印3D对象,该获取的待打印3D对象即为用以实现3D打印的3D模型。
其中,3D打印系统例如可以使用个人计算机设备、移动终端、平板电脑等电子设备实现,其与3D打印机通过有线或无线等方式连接,或者还可以是与3D打印机没有连接,而是通过将打印文件拷贝至3D打印机的方式实现3D打印机的3D打印。
进一步地,第一检测模块602在检测到待打印3D对象中存在动态部件时,将待打印3D对象中的动态部件作为第一最终需打印的3D对象,以及将动态部件之外的其他部件作为第二最终需打印的3D对象。第一处理模块603用于将第一最终需打印的3D对象和第二最终需打印的3D对象转变成打印文件,并且使在第二最终需打印的3D对象的与第一最终需打印的3D对象的连接处进行使动态部件可活动的设计,同时判断动态部件是否需要进行与可活动设计匹配的可活动设计,若需要则同时对动态部件进行可活动设计。
从而,在发送模块604将打印文件发送给3D打印机后,使得3D打印机根据打印文件打印第一最终需打印的3D对象和第二最终需打印的3D对象。由此在打印得到第一、第二最终需打印的3D对象对应的实体模型后,可利用可活动设计连接第一最终需打印的3D对象对应的实体模型和第二最终需打印的3D对象对应的实体模型。
当然,在其他实施方式中,第一处理模块603在将第一最终需打印的3D对象和第二最终需打印的3D对象转变成打印文件时,还可以不在第二最终需打印的3D对象的与第一最终需打印的3D对象连接处进行使动态部件可活动的设计,而是额外生成支持动态部件活动的3D对象,作为第三最终需打印的3D对象,并且将第一最终需打印的3D对象、第二最终需打印的3D对象、第三最终需打印的3D对象转变成打印文件。从而在发送模块604将该打印文件发送给3D打印机后,使得3D打印机根据打印文件打印第一最终需打印的3D对象、第二最终需打印的3D对象、第三最终需打印的3D对象。由此,在打印得到第一、第二、第三最终需打印的3D对象后,可利用可活动设计连接第三最终需打印的3D对象和第一最终需打印的3D对象,以实现动态部件的可活动。
此外,本实施方式中,3D打印系统进一步还包括获取模块605、第二接收模块606、第一显示模块607、第三接收模块608、第一编辑模块609、共享模块701、第二处理模块702、预置部件设置模块703、打印设置模块704以及第二显示模块705。
本实施方式中,预定应用场景是3D游戏应用场景,在第一接收模块601接收用户的打印请求之前,获取模块605用于根据用户选择从正在运行的3D游戏应用中获取对应选定游戏场景的待打印3D对象,以获取用户所选择的待打印3D对象。当然,在其他实施方式中,预定应用场景也可以是3D影视场景等其他3D应用场景。
进一步地,获取模块605包括接收单元6051和选取单元6052。接收单元6051用于接收用户的截屏选择指令,以确定正在运行的3D游戏应用的界面中的截屏区域;选取单元6052用于选取截屏区域内所对应选定游戏场景的3D模型,以获取用户所选择的待打印3D对象。
其中,可通过在3D游戏应用的界面显示的截屏悬浮窗操作界面来接收用户的截屏选择指令。此外,接收单元6051接收到用户的截屏选择指令并确定截屏区域后,不跳出正在运行的3D游戏应用的界面,即保持正在运行的3D游戏应用的界面为当前显示界面,并使在截屏区域之外的界面其他区域保持正常的预定应用运行更新显示,而截屏区域之内则显示用户所选择的游戏场景。并且,接收单元6051在接收到用户的截屏选择指令时,根据用户的截屏选择指令在正在运行的3D游戏应用的界面中框选截屏区域,并使截屏区域的亮度大于截屏区域之外的界面其他区域的亮度,并保持界面其他区域正常的对3D游戏应用的操作处理。
其中,共享模块701用于在接收单元6051确定截屏区域后以及选取单元6052从截屏区域中选取对应选定游戏场景的3D模型后,接收用户通过截屏悬浮窗操作界面的共享按钮发出的共享操作指令,将截屏区域以及选取的3D模型的3D预览图共享给3D游戏应用的另一交互方。
其中,第二处理模块702用于在接收单元6051接收用户的截屏选择指令之前,接收用户对当前正在运行的3D游戏应用的另一交互方所操纵元素的操纵请求,并接收另一交互方对该操纵请求的允许指令,以在接收到允许指令后按照操纵请求实施对另一交互方所操纵元素的操纵。或者,在另一实施方式中,第二处理模块702也可以不实施对另一交互方多所操纵元素的操纵,而是按照操纵请求在正在运行的3D游戏应用的界面中向另一交互方演示对另一交互方所操纵元素的操纵,以使得另一交互方按照该演示对其所操纵元素进行操纵。
在完成操纵元素的操纵后,用户可通过截屏悬浮窗操作界面输入截屏选择按钮,以使得接收单元6051接收用户的截屏选择指令以确定包括操纵后的另一交互方的元素在内的界面中的截屏区域,从而选取单元6052选取截屏区域内的对应选定游戏场景的3D模型,以作为获取的待打印3D对象。
进一步地,选取单元6052包括第一获取子单元801、第二获取子单元802以及第三获取子单元803。其中,第一获取子单元801用于获取截屏区域内组成选定游戏场景的每帧游戏场景对应的单一模型的顶点坐标数据、纹理数据以及变换矩阵数据;第二获取子单元802用于利用顶点坐标数据、纹理数据以及变换矩阵数据获取每帧游戏场景对应的单一模型;第三获取子单元803用于将组成选定游戏场景的所有帧游戏场景分别对应的单一模型按照预定规则进行组合,进而得到选定游戏场景对应的3D模型。
其中,第二接收模块606用于在选取单元6052从截屏区域中选取对应选定游戏场景的3D模型之后,接收用户的编辑请求,即用户可通过在完成截屏选择操作后,可通过点击截屏悬浮窗操作界面中的编辑按钮以发出编辑请求。第一显示模块607用于根据用户的编辑请求显示3D模型编辑界面。第三接收模块608用于接收用户在3D模型编辑界面中对选取的3D模型进行修改、删除或增加的编辑指令。第一编辑模块609用于根据编辑指令对选取的3D模型进行相应编辑,并将编辑后的3D模型作为获取的待打印3D对象。
此外,共享模块701还用于将第一显示模块607显示的3D模型编辑界面共享给3D游戏应用的另一交互方,即用户可在3D模型编辑界面中选择共享按钮以将3D模型编辑界面及编辑中的3D模型的3D预览图共享给另一交互方。
其中,在完成对3D模型的编辑后,用户可以通过点击3D模型编辑界面中的预置部件按钮进行预置部件的设置。其中,在第一编辑模块609完成编辑后,预置部件设置模块703用于接收用户的预置部件设置请求,并根据用户的预置部件设置请求显示自定义打印设置窗口,以在自定义打印设置窗口中接收用户选择预置部件的选择指令,以获取预置部件的选择信息。当然,在其他实施方式中,用户也可以是在截屏之后通过截屏悬浮窗操作界面上的预置部件按钮设置预置部件。
其中,用户在选择预置部件之后,还可以进行打印品质类型或打印效果类型的设置。打印设置模块704用于在预置部件设置模块703获取用户的预置部件的选择信息后,接收用户选择打印品质类型或打印效果类型的选择信息。其中,打印品质类型或打印效果类型的选择操作可在自定义打印设置窗口中进行,也可以在3D模型编辑界面中进行,例如本实施方式中,用户可在自定义打印设置窗口选择打印品质类型或打印效果类型。
其中打印品质类型包括分辨率类型,分辨率越高打印出来的实体3D模型越精致;打印效果类型包括打印的尺寸类型,选择的打印尺寸越大打印出来的实体3D模型越大,用户可选择不同的分辨率和不同尺寸对其所选择的3D模型进行3D打印。此外,打印设置模块704还用于在用户选择打印品质类型或打印效果类型时,向用户显示其所选择的打印品质类型或打印效果类型对应的预览效果图,以供用户参考。
其中,在接收到用户对其所选择的打印品质类型或打印效果类型对应的预览效果图的确认指令后,用户可通过点击自定义打印设置窗口中的“打印”按钮以发出完成设置的确认指令,同时该确认指令也为发出的打印请求。由此,在第一接收模块601接收到该打印请求后,第一检测模块602根据打印请求检测经过上述编辑后的3D模型中是否存在动态部件,在检测到动态部件时,第一处理模块603根据预置部件设置模块703获取的预置部件的选择信息以及打印设置模块704获取的打印品质类型或打印效果类型的选择信息,将第一最终需打印的3D对象和第二最终需打印的3D对象转变成打印文件,其中打印文件包括预置部件的选择信息以及打印设置模块704获取的打印品质类型或打印效果类型的选择信息。从而,在发送模块604将打印文件发送给3D打印机进行3D打印后,使得3D打印机根据打印文件进行打印时,根据预置部件的选择信息选择不对第一最终需打印的3D对象和第二最终需打印的3D对象中放置预置部件的位置的部分进行3D打印,以在3D打印之后可将预置部件放置在打印后得到的实体3D模型中的相应位置,以及根据打印品质类型或打印效果类型的选择信息打印符合要求的实体3D模型。
其中,第二显示模块705用于在发送模块604将打印文件发送给3D打印机后,在当前3D游戏应用的界面中显示打印进度示意图,或者在当前桌面上显示打印进度示意图。其中,打印进度示意图的形状与正在打印的3D模型的形状相同或为其简化形状。并且,在打印进度示意图中,表示未打印部分和表示已打印部分采用不同的标记,例如表示已打印部分采用红色标记,表示未打印部分采用绿色标记;或者表示已打印部分的图形线条加粗处理。其中,第二显示模块705还用于显示打印进度百分比,并且从至少两个视图方向分别显示打印进度示意图,以使得用户可以直观获知目前打印进度。
通过本实施方式的3D打印系统,可以直接获取3D应用场景对应的3D模型来实现3D打印,而不需要在三维建模软件中重新构思、构建3D应用场景对应的3D模型,由此可减少3D打印时间,降低3D打印难度。并且,用户还可以根据个人喜好对3D模型进行二次编辑,以及进行预置部件、打印品质等设置,以打印更具个性化的3D产品。
以上所述仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (12)
1.一种几何物体的制作方法,其特征在于,包括:
接收用户对其所选择的待打印3D对象的打印请求;
检测所述待打印3D对象中是否存在动态部件;
当存在动态部件时,将所述待打印3D对象中除所述动态部件之外的其他部件作为最终需打印的3D对象,并将所述最终需打印的3D对象转变成打印文件,并且在所述最终需打印的3D对象的与所述动态部件连接处进行使所述动态部件可活动的设计;
将所述打印文件发送至3D打印机,以使得3D打印机根据所述打印文件进行3D打印。
2.根据权利要求1所述的方法,其特征在于,
所述将所述待打印3D对象中除所述动态部件之外的其他部件作为最终需打印的3D对象的步骤包括:
将所述待打印3D对象中所述动态部件作为第一最终需打印的3D对象、以及将所述动态部件之外的其他部件作为第二最终需打印的3D对象;
所述在所述最终需打印的3D对象的与所述动态部件连接处进行使所述动态部件可活动的设计的步骤包括:
在所述第二最终需打印的3D对象的与所述第一最终需打印的3D对象连接处进行使所述动态部件可活动的设计,同时判断所述动态部件是否需要进行与所述可活动设计匹配的可活动设计,若需要则同时对所述动态部件进行可活动设计;或者不在所述第二最终需打印的3D对象的与所述第一最终需打印的3D对象连接处进行使所述动态部件可活动的设计,而额外生成支持所述动态部件活动的3D对象,作为第三最终需打印的3D对象;
所述使得3D打印机根据所述打印文件进行3D打印的步骤包括:
使得3D打印机根据所述打印文件打印所述第一最终需打印的3D对象和所述第二最终需打印的3D对象,以利用所述可活动设计连接所述第一最终需打印的3D对象和所述第二最终需打印的3D对象;或
使得3D打印机根据所述打印文件打印所述第一最终需打印的3D对象、所述第二最终需打印的3D对象、所述第三最终需打印的3D对象,以利用所述可活动设计连接所述第三最终需打印的3D对象和所述第一最终需打印的3D对象。
3.根据权利要求1所述的方法,其特征在于,
所述接收用户对其所选择的待打印3D对象的打印请求的步骤之前包括:根据用户选择从正在运行的3D游戏应用中获取对应选定游戏场景的待打印3D对象,以获取用户所选择的待打印3D对象。
4.根据权利要求3所述的方法,其特征在于,
所述根据用户选择从正在运行的3D游戏应用中获取对应选定游戏场景的待打印3D对象的步骤包括:
接收用户的截屏选择指令,以确定所述正在运行的3D游戏应用的界面中的截屏区域;
选取所述截屏区域内所对应选定游戏场景的3D模型,以获取所述待打印3D对象。
5.根据权利要求4所述的方法,其特征在于,
所述选取所述截屏区域内所对应选定游戏场景的3D模型的步骤包括:
获取所述截屏区域内组成所述选定游戏场景的每帧游戏场景对应的单一模型的顶点坐标数据、纹理数据以及变换矩阵数据;
利用所述顶点坐标数据、纹理数据以及变换矩阵数据获取每帧游戏场景对应的单一模型;
将组成所述选定游戏场景的所有帧游戏场景分别对应的单一模型按照预定规则进行组合,进而得到所述选定游戏场景对应的3D模型。
6.根据权利要求4所述的方法,其特征在于,在所述接收用户的截屏选择指令的步骤之前,包括步骤:
从正在运行的交互的3D游戏应用的界面中接收当前用户对至少另一交互方所操纵元素的操纵请求;
接收所述至少另一交互方对所述操纵请求的允许指令,并在接收到所述允许指令后按照所述操纵请求实施对所述至少另一交互方所操纵元素的操纵;或按照所述操纵请求在所述界面中向所述至少另一交互方演示对所述操纵元素的操纵,以使得所述至少另一交互方按照所述演示对所述操纵元素进行操纵;
所述接收用户的截屏选择指令的步骤包括:
在完成对所述操纵元素的操纵后接收用户的截屏选择指令,以确定包括所述操纵元素在内的所述界面中的截屏区域。
7.一种3D打印系统,其特征在于,包括:
第一接收模块,用于接收用户对其所选择的待打印3D对象的打印请求;
第一检测模块,用于检测所述待打印3D对象中是否存在动态部件,并在当存在动态部件时,将所述待打印3D对象中除所述动态部件之外的其他部件作为最终需打印的3D对象;
第一处理模块,用于将所述最终需打印的3D对象转变成打印文件,并且在所述最终需打印的3D对象的与所述动态部件连接处进行使所述动态部件可活动的设计;
发送模块,用于将所述打印文件发送至3D打印机,以使得3D打印机根据所述打印文件进行3D打印。
8.根据权利要求7所述的3D打印系统,其特征在于,
所述第一检测模块用于将所述待打印3D对象中所述动态部件作为第一最终需打印的3D对象、以及将所述动态部件之外的其他部件作为第二最终需打印的3D对象;
所述第一处理模块用于将所述第一最终需打印的3D对象和所述第二最终需打印的3D对象转变成打印文件,并且在所述第二最终需打印的3D对象的与所述第一最终需打印的3D对象连接处进行使所述动态部件可活动的设计,同时判断所述动态部件是否需要进行与所述可活动设计匹配的可活动设计,若需要则同时对所述动态部件进行可活动设计;或者不在所述第二最终需打印的3D对象的与所述第一最终需打印的3D对象连接处进行使所述动态部件可活动的设计,而额外生成支持所述动态部件活动的3D对象,作为第三最终需打印的3D对象,并将所述第一最终需打印的3D对象、第二最终需打印的3D对象、第三最终需打印的3D对象转变成打印文件;
所述发送模块用于将所述打印文件发送至3D打印机,以使得3D打印机根据所述打印文件打印所述第一最终需打印的3D对象和所述第二最终需打印的3D对象,以利用所述可活动设计连接所述第一最终需打印的3D对象和所述第二最终需打印的3D对象;或
使得3D打印机根据所述打印文件打印所述第一最终需打印的3D对象、所述第二最终需打印的3D对象、所述第三最终需打印的3D对象,以利用所述可活动设计连接所述第三最终需打印的3D对象和所述第一最终需打印的3D对象。
9.根据权利要求7所述的3D打印系统,其特征在于,进一步包括:
获取模块,根据用户选择从正在运行的3D游戏应用中获取对应选定游戏场景的待打印3D对象,以获取用户所选择的待打印3D对象。
10.根据权利要求9所述的3D打印系统,其特征在于,
所述获取模块包括:
接收单元,用于接收用户的截屏选择指令,以确定所述正在运行的3D游戏应用的界面中的截屏区域;
选取单元,用于选取所述截屏区域内所对应选定游戏场景的3D模型,以获取所述待打印3D对象。
11.根据权利要求10所述的3D打印系统,其特征在于,
所述选取单元包括:
第一获取子单元,用于获取所述截屏区域内组成所述选定游戏场景的每帧游戏场景对应的单一模型的顶点坐标数据、纹理数据以及变换矩阵数据;
第二获取子单元,用于利用所述顶点坐标数据、纹理数据以及变换矩阵数据获取每帧游戏场景对应的单一模型;
第三获取子单元,用于将组成所述选定游戏场景的所有帧游戏场景分别对应的单一模型按照预定规则进行组合,进而得到所述选定游戏场景对应的3D模型。
12.根据权利要求10所述的3D打印系统,其特征在于,进一步包括:
第二处理模块,用于从正在运行的交互的3D游戏应用的界面中接收当前用户对至少另一交互方所操纵元素的操纵请求,并接收所述至少另一交互方对所述操纵请求的允许指令,并在接收到所述允许指令后按照所述操纵请求实施对所述至少另一交互方所操纵元素的操纵;或按照所述操纵请求在所述界面中向所述至少另一交互方演示对所述操纵元素的操纵,以使得所述至少另一交互方按照所述演示对所述操纵元素进行操纵;
所述接收单元用于在完成对所述操纵元素的操纵后接收用户的截屏选择指令,以确定包括所述操纵元素在内的所述界面中的截屏区域。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510054831.1A CN104731535A (zh) | 2015-01-30 | 2015-01-30 | 几何物体的制作方法及3d打印系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510054831.1A CN104731535A (zh) | 2015-01-30 | 2015-01-30 | 几何物体的制作方法及3d打印系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104731535A true CN104731535A (zh) | 2015-06-24 |
Family
ID=53455469
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510054831.1A Pending CN104731535A (zh) | 2015-01-30 | 2015-01-30 | 几何物体的制作方法及3d打印系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104731535A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108897593A (zh) * | 2018-06-22 | 2018-11-27 | 网易乐得科技(黑龙江)有限公司 | 一种功能展示方法和装置 |
CN112004658A (zh) * | 2018-04-26 | 2020-11-27 | 惠普发展公司,有限责任合伙企业 | 打印生产质量预测 |
US11592561B2 (en) | 2016-11-11 | 2023-02-28 | Robert Bosch Gmbh | LIDAR system |
CN117002011A (zh) * | 2023-07-19 | 2023-11-07 | 上海轮廓科技有限公司 | 3d打印方法、终端设备、可读存储介质及计算机程序产品 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090303507A1 (en) * | 2008-06-06 | 2009-12-10 | Virginia Venture Industries, Llc | Methods and apparatuses for printing three dimensional images |
CN102821970A (zh) * | 2010-03-26 | 2012-12-12 | 阿尔卡特朗讯公司 | 将虚拟对象转换成真实物理对象的方法 |
US20130297059A1 (en) * | 2012-04-09 | 2013-11-07 | Autodesk, Inc. | Three-dimensional printing preparation |
CN103617220A (zh) * | 2013-11-22 | 2014-03-05 | 北京掌阔移动传媒科技有限公司 | 一种移动终端3d模型实现方法和装置 |
CN104226988A (zh) * | 2014-08-25 | 2014-12-24 | 深圳光韵达光电科技股份有限公司 | 一种大尺寸零部件的3d打印制造方法 |
CN104249578A (zh) * | 2014-09-24 | 2014-12-31 | 福建省中煌塑胶制品有限公司 | 一种3d立体画光栅板无缝拼接打印方法 |
-
2015
- 2015-01-30 CN CN201510054831.1A patent/CN104731535A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090303507A1 (en) * | 2008-06-06 | 2009-12-10 | Virginia Venture Industries, Llc | Methods and apparatuses for printing three dimensional images |
CN102821970A (zh) * | 2010-03-26 | 2012-12-12 | 阿尔卡特朗讯公司 | 将虚拟对象转换成真实物理对象的方法 |
US20130297059A1 (en) * | 2012-04-09 | 2013-11-07 | Autodesk, Inc. | Three-dimensional printing preparation |
CN103617220A (zh) * | 2013-11-22 | 2014-03-05 | 北京掌阔移动传媒科技有限公司 | 一种移动终端3d模型实现方法和装置 |
CN104226988A (zh) * | 2014-08-25 | 2014-12-24 | 深圳光韵达光电科技股份有限公司 | 一种大尺寸零部件的3d打印制造方法 |
CN104249578A (zh) * | 2014-09-24 | 2014-12-31 | 福建省中煌塑胶制品有限公司 | 一种3d立体画光栅板无缝拼接打印方法 |
Non-Patent Citations (1)
Title |
---|
JENNY CHENG: "3D printed ArcheAge", 《URL: HTTP://CARETDASHCARET.COM/2014/09/15/3D-PRINTED-ARCHEAGE/》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11592561B2 (en) | 2016-11-11 | 2023-02-28 | Robert Bosch Gmbh | LIDAR system |
CN112004658A (zh) * | 2018-04-26 | 2020-11-27 | 惠普发展公司,有限责任合伙企业 | 打印生产质量预测 |
US11376793B2 (en) | 2018-04-26 | 2022-07-05 | Hewlett-Packard Development Company, L.P. | Printing production quality prediction |
CN108897593A (zh) * | 2018-06-22 | 2018-11-27 | 网易乐得科技(黑龙江)有限公司 | 一种功能展示方法和装置 |
CN108897593B (zh) * | 2018-06-22 | 2021-05-04 | 网易乐得科技有限公司 | 一种功能展示方法和装置 |
CN117002011A (zh) * | 2023-07-19 | 2023-11-07 | 上海轮廓科技有限公司 | 3d打印方法、终端设备、可读存储介质及计算机程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104657094A (zh) | 3d打印方法及3d打印系统 | |
EP3086291B1 (en) | Device and method of generating a model for subsequent 3d printing | |
CN112037311A (zh) | 一种动画生成的方法、动画播放的方法以及相关装置 | |
US20070262984A1 (en) | Automatic Generation of Building Instructions for Building Block Models | |
US20080013860A1 (en) | Creation of three-dimensional user interface | |
CN104731535A (zh) | 几何物体的制作方法及3d打印系统 | |
JP2007133776A (ja) | アバター画像編集システム及びその方法と、これらに用いられる装置及びプログラム | |
US9457275B2 (en) | Information processing device | |
KR20140099415A (ko) | 게임 등의 프로그램에서 가상적으로 작업 및 조립한 작품의 실물 제작 및 전달 방법, 프로그램 및 이를 수행하는 모바일 기기, 실물 제작을 실행하는 원격지 운영 서버 | |
CN101958002A (zh) | 图像处理装置以及图像处理方法 | |
JP5834423B2 (ja) | 端末装置、表示方法、およびプログラム | |
JP2010061477A (ja) | 3次元デザイン支援装置及びプログラム | |
CN104657547A (zh) | 基于3d打印的网络交互方法及系统 | |
CN105988741A (zh) | 3d打印方法及终端设备 | |
JP2003263656A (ja) | 携帯端末での三次元簡易作成方法および装置と三次元簡易作成プログラムおよび該プログラムを記録した記録媒体 | |
JP2012175324A5 (zh) | ||
Kumar | Beginning PBR texturing: Learn physically based rendering with allegorithmic’s substance painter | |
CN104679458A (zh) | 3d模型成型方法及终端设备 | |
US20120256946A1 (en) | Image processing apparatus, image processing method and program | |
US8587601B1 (en) | Sharing of three dimensional objects | |
CN101395913A (zh) | 虚拟活动挂图的方法和装置 | |
CN105988746A (zh) | 3d打印方法及电子设备 | |
CN105984146A (zh) | 3d对象的制造方法及3d打印装置 | |
CN105988744A (zh) | 三维物体的制造方法及制造设备 | |
Biehler et al. | 3D Printing with autodesk: Create and print 3D objects with 123D, AutoCAD and inventor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20161229 Address after: 518000 Guangdong city of Shenzhen province Nanshan District Guangdong streets high in the three global digital Building Room 806 No. 9 Applicant after: Shenzhen magic eye Technology Co., Ltd. Address before: 518000 Shenzhen, Nanshan District, China Hi Tech in the world, the world's 806 digital building, room three Applicant before: SHENZHEN ESTAR DISPLAYTECH CO., LTD. |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150624 |
|
RJ01 | Rejection of invention patent application after publication |