3d打印方法及終端設(shè)備的制造方法
【專利摘要】本發(fā)明公開了一種3D打印方法及終端設(shè)備,所述方法包括:通過接收用戶對其所選擇的待打印3D對象的打印請求,所述打印請求包括打印品質(zhì)類型或打印效果類型的選擇信息,其中,在用戶選擇所述打印品質(zhì)類型或打印效果類型時,顯示所述打印品質(zhì)類型或打印效果類型所對應(yīng)的預(yù)覽效果圖;根據(jù)所述打印請求將獲取的所述待打印3D對象轉(zhuǎn)變成打印文件,以使得3D打印機根據(jù)所述打印文件進行3D打印。通過上述方式,本發(fā)明能夠方便打印出用戶喜歡/需要的現(xiàn)成3D對象、減少3D打印的時間。
【專利說明】
3D打印方法及終端設(shè)備
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及打印技術(shù)領(lǐng)域,特別是涉及一種3D打印方法及終端設(shè)備?!颈尘凹夹g(shù)】
[0002]3D打印,即快速成型技術(shù)的一種,它是一種以數(shù)字模型文件為基礎(chǔ),運用特殊蠟材、粉末狀金屬或塑料等可粘合材料,通過逐層打印的方式來構(gòu)造物體的技術(shù)。
[0003]3D打印的設(shè)計過程通常是:先通過計算機建模軟件如CAD、CAID等中構(gòu)建需要打印的虛擬3D模型,再將構(gòu)建的虛擬3D模型“分區(qū)”成逐層的截面,3D打印機通過讀取3D模型的截面信息,用液體狀、粉狀或片狀的材料將這些截面逐層打印出來,再將各層截面以各種方式粘合起來從而制造出一個實體。利用3D打印技術(shù)幾乎可以任何形狀的物品,產(chǎn)品多樣化,且打印出來的物品無需組裝,成本低,效率高。
[0004]隨著用戶需求的增長,越來越多用戶希望能把喜歡的虛擬圖形例如某一應(yīng)用場景畫面變?yōu)閷嶓w物品所擁有,然而利用現(xiàn)有的3D打印方法,通常需要先在建模軟件中構(gòu)建該應(yīng)用場景對應(yīng)的3D模型才能夠進行3D打印,如此一來需要花費較多的時間在模型設(shè)計上, 且提高了 3D打印的難度,降低趣味性。
【發(fā)明內(nèi)容】
[0005]本發(fā)明主要解決的技術(shù)問題是提供一種3D打印方法及終端設(shè)備,能夠方便打印出用戶喜歡/需要的現(xiàn)成3D對象、減少3D打印時間。
[0006]為解決上述技術(shù)問題,本發(fā)明采用的一個技術(shù)方案是:提供一種3D打印方法,包括:根據(jù)用戶選擇從預(yù)定應(yīng)用場景中獲取用戶所選擇的待打印3D對象;接收用戶對所述待打印3D對象的打印請求,所述打印請求包括打印品質(zhì)類型或打印效果類型的選擇信息,其中,在用戶選擇所述打印品質(zhì)類型或打印效果類型時,顯示所述打印品質(zhì)類型或打印效果類型所對應(yīng)的預(yù)覽效果圖;根據(jù)所述打印請求將獲取的所述待打印3D對象轉(zhuǎn)變成打印文件,所述打印文件包括所述打印品質(zhì)類型或打印效果類型的選擇信息;將所述打印文件發(fā)送至3D打印機,以使得所述3D打印機根據(jù)所述打印文件進行3D打印。
[0007]其中,所述打印品質(zhì)類型包括打印分辨率類型,所述打印效果類型包括打印尺寸類型。
[0008]其中,所述根據(jù)用戶選擇從預(yù)定應(yīng)用場景中獲取用戶所選擇的待打印3D對象的步驟包括:根據(jù)用戶選擇從正在運行的3D游戲應(yīng)用中獲取對應(yīng)選定游戲場景的待打印3D對象。
[0009]其中,所述根據(jù)用戶選擇從正在運行的3D游戲應(yīng)用中獲取對應(yīng)選定游戲場景的待打印3D對象的步驟包括:接收用戶的截屏選擇指令,以確定所述正在運行的3D游戲應(yīng)用的界面中的截屏區(qū)域;選取所述截屏區(qū)域內(nèi)所對應(yīng)選定游戲場景的3D模型,以作為獲取的所述待打印3D對象。
[0010]其中,所述選取所述截屏區(qū)域內(nèi)所對應(yīng)選定游戲場景的3D模型的步驟包括:獲取所述截屏區(qū)域內(nèi)組成所述選定游戲場景的每幀游戲場景對應(yīng)的單一模型的頂點坐標(biāo)數(shù)據(jù)、 紋理數(shù)據(jù)以及變換矩陣數(shù)據(jù);利用所述頂點坐標(biāo)數(shù)據(jù)、紋理數(shù)據(jù)以及變換矩陣數(shù)據(jù)獲取每幀游戲場景對應(yīng)的單一模型;將組成所述選定游戲場景的所有幀游戲場景分別對應(yīng)的單一模型按照預(yù)定規(guī)則進行組合,進而得到所述選定游戲場景對應(yīng)的3D模型。
[0011]其中,在所述選取所述截屏區(qū)域內(nèi)所對應(yīng)選定游戲場景的3D模型之后,包括步驟:接收用戶的編輯請求;根據(jù)所述編輯請求顯示3D模型編輯界面;接收用戶在所述3D模型編輯界面中對選取的所述3D模型進行修改、刪除或增加的編輯指令;根據(jù)所述編輯指令對選取的所述3D模型進行相應(yīng)編輯,并將編輯后的3D模型作為獲取的所述待打印3D對象。
[0012]為解決上述技術(shù)問題,本發(fā)明采用的另一個技術(shù)方案是:提供一種終端設(shè)備,包括:獲取模塊,用于根據(jù)用戶選擇從預(yù)定應(yīng)用場景中獲取用戶所選擇的待打印3D對象;打印設(shè)置模塊,用于接收用戶對所述待打印3D對象的打印請求,所述打印請求包括打印品質(zhì)類型或打印效果類型的選擇信息,其中,在用戶選擇所述打印品質(zhì)類型或打印效果類型時, 顯示所述打印品質(zhì)類型或打印效果類型所對應(yīng)的預(yù)覽效果圖;第一處理模塊,用于根據(jù)所述打印請求將獲取的所述待打印3D對象轉(zhuǎn)變成打印文件,所述打印文件包括所述打印品質(zhì)類型或打印效果類型的選擇信息;發(fā)送模塊,用于將所述打印文件發(fā)送至3D打印機,以使得所述3D打印機根據(jù)所述打印文件進行3D打印。
[0013]其中,所述打印品質(zhì)類型包括分辨率類型,所述打印效果類型包括打印尺寸類型。
[0014]其中,所述獲取模塊用于根據(jù)用戶選擇從正在運行的3D游戲應(yīng)用中獲取對應(yīng)選定游戲場景的待打印3D對象。
[0015]其中,所述獲取模塊包括:接收單元,用于接收用戶的截屏選擇指令,以確定所述正在運行的3D游戲應(yīng)用的界面中的截屏區(qū)域;選取單元,用于選取所述截屏區(qū)域內(nèi)所對應(yīng)選定游戲場景的3D模型,以作為獲取的所述待打印3D對象。
[0016]所述選取單元包括:第一獲取子單元,用于獲取所述截屏區(qū)域內(nèi)組成所述選定游戲場景的每幀游戲場景對應(yīng)的單一模型的頂點坐標(biāo)數(shù)據(jù)、紋理數(shù)據(jù)以及變換矩陣數(shù)據(jù);第二獲取子單元,用于利用所述頂點坐標(biāo)數(shù)據(jù)、紋理數(shù)據(jù)以及變換矩陣數(shù)據(jù)獲取每幀游戲場景對應(yīng)的單一模型;第三獲取子單元,用于將組成所述選定游戲場景的所有幀游戲場景分別對應(yīng)的單一模型按照預(yù)定規(guī)則進行組合,進而得到所述選定游戲場景對應(yīng)的3D模型。
[0017]其中,進一步包括:第一接收模塊,用于接收用戶的編輯請求;第一顯示模塊,用于根據(jù)所述編輯請求顯示3D模型編輯界面;第二接收模塊,用于接收用戶在所述3D模型編輯界面中對選取的所述3D模型進行修改、刪除或增加的編輯指令;第一編輯模塊,用于根據(jù)所述編輯指令對選取的所述3D模型進行相應(yīng)編輯,并將編輯后的3D模型作為獲取的所述待打印3D對象。
[0018]本發(fā)明的有益效果是:區(qū)別于現(xiàn)有技術(shù)的情況,本發(fā)明3D打印方法中,從預(yù)定應(yīng)用場景中獲取待打印3D對象,并將待打印3D對象轉(zhuǎn)變成打印文件,以使得3D打印機根據(jù)打印文件進行對待打印3D對象的3D打印,由此不需要在建模軟件中建立3D模型即可實現(xiàn) 3D打印,能夠方便打印出用戶喜歡/需要的現(xiàn)成3D對象、減少3D打印的時間,此外,用戶在選擇打印品質(zhì)類型或打印效果類型時顯示相應(yīng)的預(yù)覽效果圖,以為用戶提供參考,有利于用戶選擇其所想要的打印品質(zhì)或打印效果?!靖綀D說明】
[0019]圖1是本發(fā)明3D打印方法一實施方式的流程圖;
[0020]圖2是本發(fā)明3D打印方法一實施方式中,顯示的打印設(shè)置窗口的示意圖;
[0021]圖3是本發(fā)明3D打印方法另一實施方式的流程圖;
[0022]圖4是本發(fā)明3D打印方法一實施方式中,在正在運行的3D游戲應(yīng)用的界面中顯示截屏懸浮窗操作界面的示意圖;
[0023]圖5是本發(fā)明3D打印方法一實施方式中,用戶截屏選擇游戲場景后的界面的示意圖;
[0024]圖6是本發(fā)明3D打印方法一實施方式中,選取截屏區(qū)域內(nèi)所對應(yīng)選定游戲場景的 3D模型的流程圖;
[0025]圖7是本發(fā)明3D打印方法的一實施方式中,在選取截屏區(qū)域內(nèi)所對應(yīng)選定游戲場景的3D模型之后的流程圖;
[0026]圖8是本發(fā)明3D打印方法一實施方式中,3D模型編輯界面的示意圖;
[0027]圖9是本發(fā)明終端設(shè)備一實施方式的結(jié)構(gòu)示意圖。【具體實施方式】
[0028]下面將結(jié)合附圖和實施方式對本發(fā)明進行詳細(xì)說明。
[0029]參閱圖1,本發(fā)明3D打印方法一實施方式中,包括如下步驟:
[0030]步驟S101:根據(jù)用戶選擇從預(yù)定應(yīng)用場景中獲取用戶所選擇的待打印3D對象。
[0031]其中,預(yù)定應(yīng)用場景是指3D應(yīng)用場景,即利用3D建模技術(shù)構(gòu)造場景畫面的應(yīng)用, 例如3D游戲應(yīng)用場景、3D影視動畫場景、3D展示(例如3D房產(chǎn)展示、3D服裝展示)等。在 3D應(yīng)用場景中,構(gòu)成場景的各元素(例如人物、環(huán)境)通常是利用三維建模軟件來構(gòu)造相應(yīng)的3D模型而形成,因此,當(dāng)需要對3D應(yīng)用場景中的某一場景進行3D打印時,用戶可在3D 應(yīng)用場景中選擇需要進行3D打印的3D對象,所述3D對象即是指3D應(yīng)用場景中的各種元素,計算機根據(jù)用戶選擇獲取用戶所選擇的待打印3D對象,該獲取的待打印3D對象即為用以實現(xiàn)3D打印的3D模型。
[0032]當(dāng)然,在其他實施方式中,預(yù)定應(yīng)用場景也可以是2D應(yīng)用場景,即不是利用3D建模技術(shù)構(gòu)成場景畫面的應(yīng)用,在此種情況下,可以一定的轉(zhuǎn)換關(guān)系將2D應(yīng)用場景轉(zhuǎn)換成3D 應(yīng)用場景,進而得到待打印3D對象。
[0033]步驟S102:接收用戶對待打印3D對象的打印請求,打印請求包括打印品質(zhì)類型或打印效果類型的選擇信息,其中,在用戶選擇打印品質(zhì)類型或打印效果類型時,顯示打印品質(zhì)類型或打印效果類型所對應(yīng)的預(yù)覽效果圖。
[0034]用戶從預(yù)定應(yīng)用場景中選擇其所需要打印的待打印3D對象后,可進行打印設(shè)置。 例如,用戶可通過點擊預(yù)定應(yīng)用場景的界面中的“打印設(shè)置”按鈕以發(fā)出設(shè)置請求,在接收到該設(shè)置請求后彈出打印設(shè)置窗口,如圖2所示,在該打印設(shè)置窗口中具有打印品質(zhì)選擇按鈕和打印效果選擇按鈕,用戶可進行打印品質(zhì)類型或打印效果類型的選擇。
[0035]其中,打印品質(zhì)類型包括分辨率類型。打印效果類型包括打印尺寸類型,打印尺寸即是指打印后得到的實體模型的尺寸。分辨率越高打印出來的實體3D模型越精致,選擇的打印尺寸越大打印出來的實體3D模型越大。用戶可選擇不同的分辨率和不同尺寸對其所選擇的待打印3D對象進行3D打印。用戶在點擊打印品質(zhì)選擇按鈕時,彈出多種不同的分辨率類型以供用戶選擇,且在點擊打印效果選擇按鈕時,彈出多種不同的打印尺寸供用戶選擇。其中,在用戶選擇一種分辨率和打印尺寸時,在打印設(shè)置窗口中顯示其所選擇的分辨率和打印尺寸的預(yù)覽效果圖,如圖2所示。
[0036]用戶在確定其所選擇的分辨率類型和打印尺寸后,可通過點擊打印設(shè)置窗口的 “打印”按鈕以發(fā)出打印請求。其中,打印請求包括打印品質(zhì)類型或打印效果類型的選擇信息,該選擇信息即為用戶所選擇的分辨率類型或打印尺寸類型。
[0037]此外,若用戶在打印設(shè)置窗口中不選擇分辨率或打印尺寸,則按照默認(rèn)的分辨率或打印尺寸進行3D打印。
[0038]步驟S103:根據(jù)打印請求將獲取的待打印3D對象轉(zhuǎn)變成打印文件,打印文件包括打印品質(zhì)類型或打印效果類型的選擇信息。
[0039]在接收到用戶的打印請求后,將獲取的用戶所選擇的待打印3D對象轉(zhuǎn)變成打印文件,具體地,將需要打印的3D對象進行切片處理以獲取3D對象的每一層截面信息,并將這些截面信息進行記錄即得到打印文件。打印文件為記錄3D對象的截面信息的文件,也是實現(xiàn)計算機和3D打印機之間協(xié)作的文件。
[0040] 步驟S104:將打印文件發(fā)送至3D打印機,以使得3D打印機根據(jù)打印文件進行3D 打印。
[0041]其中,計算機和3D打印機之間可通過有線連接方式實現(xiàn)打印文件的傳輸,或者也可以通過無線方式例如藍(lán)牙、WIFI等方式實現(xiàn)打印文件的傳輸。打印文件中記錄有待打印 3D對象的每一層截面信息,3D打印機根據(jù)打印文件中所記錄的待打印3D對象的截面信息, 以及打印品質(zhì)類型或打印效果類型的選擇信息進行逐層打印,以打印出符合用戶要求的實體3D模型。
[0042]本發(fā)明進一步在上述3D打印方法的基礎(chǔ)上提出一種基于3D游戲應(yīng)用場景的3D 打印方法,如圖3所示,當(dāng)然本領(lǐng)域技術(shù)人員完全可以理解,上述基于3D游戲應(yīng)用場景的3D 打印方法也可以應(yīng)用于其他的應(yīng)用場景中,例如3D影視場景。
[0043]用戶在玩游戲過程中,除了得到游戲本身趣味性的享受和視覺上的享受外,更多用戶希望可以對喜愛的游戲場景、角色或者與隊友合影的畫面進行紀(jì)念保存,而通過上述基于3D游戲應(yīng)用場景的3D打印方法,可以滿足用戶的要求。如圖3所示,上述基于3D游戲應(yīng)用場景的3D打印方法具體包括以下步驟:
[0044]步驟S301:根據(jù)用戶選擇從正在運行的3D游戲應(yīng)用中獲取對應(yīng)選定游戲場景的待打印3D對象,其中,接收用戶的截屏選擇指令,以確定正在運行的3D游戲應(yīng)用的界面中的截屏區(qū)域;選取截屏區(qū)域內(nèi)所對應(yīng)選定游戲場景的3D模型,以作為獲取的待打印3D對象。
[0045]3D游戲即三維游戲,其主要是在游戲中使用3D模型來制作人物角色、環(huán)境、機械、 游戲道具等物體,使游戲玩家可以在游戲中體會到長寬高三種度量,以實現(xiàn)立體感。而3D 游戲應(yīng)用中的游戲場景則是由這些通過3D模型來實現(xiàn)的人物角色、環(huán)境、機械、游戲道具等物體所組成的畫面。因此,在正在運行中的3D游戲應(yīng)用中,顯示界面所顯示的游戲場景均與相應(yīng)的3D模型對應(yīng),可以通過直接獲取相應(yīng)的3D模型以對相應(yīng)游戲場景進行3D打印。
[0046]本實施方式中,用戶可通過截屏方式選擇其所需要打印的3D模型。其中,本發(fā)明 3D打印方法可通過安裝于計算機上的3D打印應(yīng)用來實現(xiàn)。當(dāng)用戶希望在進行3D游戲應(yīng)用時將其所喜歡的某一游戲場景進行3D打印時,只需啟動該3D打印應(yīng)用即可。具體而言, 在啟動3D游戲應(yīng)用之前,可先啟動該3D打印應(yīng)用。由此,在檢測到用戶啟動3D游戲應(yīng)用后,在3D游戲應(yīng)用的界面上顯示截屏懸浮窗操作界面,如圖4所示,在正在運行的3D游戲應(yīng)用的界面301的右上角,顯示截屏懸浮窗操作界面302。或者,用戶也可以不事先啟動3D 游戲應(yīng)用,只需在計算機上預(yù)先安裝該3D打印應(yīng)用即可,在此情況下,計算機檢測到用戶啟動3D游戲應(yīng)用后,即自動激活該3D打印應(yīng)用,并在3D游戲應(yīng)用的界面301上顯示截屏懸浮窗操作界面302。
[0047]其中,所述截屏懸浮窗操作界面302為置頂顯示在3D游戲應(yīng)用的界面301中,截屏懸浮窗操作界面302中包括截屏按鈕等各種功能按鈕,其中圖4中僅是示意性地示出部分功能按鈕,并非是作為本發(fā)明的限制。當(dāng)用戶在游戲過程中,當(dāng)需要對當(dāng)前游戲界面顯示的游戲場景進行3D打印時,可以通過點擊截屏懸浮窗操作界面302中的截屏按鈕以觸發(fā)當(dāng)前游戲界面進入截屏模式,進而用戶可進行截屏操作。在截屏模式下,當(dāng)前游戲界面將停留在點擊截屏按鈕時的游戲界面,從而用戶可以利用鼠標(biāo)或通過手指滑動來選擇當(dāng)前游戲界面中需要打印的游戲場景、對象。當(dāng)用戶選擇當(dāng)前游戲界面中某一游戲場景或?qū)ο蠛?,可通過點擊確認(rèn)按鈕來發(fā)出完成截屏選擇的指令,如圖5所示,虛線框中的場景元素表示用戶所選擇的游戲場景,在用戶完成截屏操作后,可在截屏區(qū)域旁邊顯示“確認(rèn)”和“重新選擇” 的按鈕,當(dāng)用戶點擊“確認(rèn)”時則表示選擇完成,當(dāng)用戶點擊“重新選擇”時則取消當(dāng)前被選擇的游戲場景的被選中狀態(tài),用戶可重新進行截屏選擇。截屏選擇指令包括了點擊截屏按鈕的操作指令、用戶選擇當(dāng)前游戲界面中的游戲場景的選擇指令以及確認(rèn)其所選擇的游戲場景的確認(rèn)指令。在接收到用戶的截屏選擇指令后,根據(jù)用戶的截屏選擇指令,確定正在運行的3D游戲應(yīng)用的界面中的截屏區(qū)域,即用戶所選定的需進行3D打印的游戲場景所在的區(qū)域。截屏區(qū)域可以默認(rèn)為是整個游戲界面,當(dāng)然,也可以是比較小的界面,比如用戶所操縱的主角為中心的小范圍界面。
[0048]在確定截屏區(qū)域后,選取截屏區(qū)域內(nèi)所對應(yīng)選定游戲場景的3D模型,以作為獲取的待打印3D對象。其中,所對應(yīng)選定游戲場景的3D模型是指在確定截屏區(qū)域后,對截屏區(qū)域內(nèi)的游戲場景進行自動篩選,以從截屏區(qū)域內(nèi)的游戲場景中選擇預(yù)定場景,并獲取的該預(yù)定場景所對應(yīng)的3D模型。例如,可以設(shè)定為僅是針對人物角色進行3D打印,在確定截屏區(qū)域后,從截屏區(qū)域內(nèi)的游戲場景中選定人物角色,并獲取對應(yīng)該選定的人物角色的3D模型,以作為待打印3D對象。
[0049]當(dāng)然,其他實施方式中,所對應(yīng)選定游戲場景的3D模型也可以是截屏區(qū)域內(nèi)的所有游戲場景對應(yīng)的3D模型,即將選取的截屏區(qū)域內(nèi)的所有游戲場景對應(yīng)的3D模型作為獲取的待打印3D對象。
[0050]步驟S302:接收用戶對選取的3D模型的打印請求,打印請求包括打印品質(zhì)類型或打印效果類型的選擇信息,其中,在用戶選擇打印品質(zhì)類型或打印效果類型時,顯示打印品質(zhì)類型或打印效果類型所對應(yīng)的預(yù)覽效果圖。
[0051]其中,用戶在通過截屏懸浮窗操作界面302進行截屏操作以選擇游戲場景后,可以通過點擊截屏懸浮窗操作界面302中的打印設(shè)置按鈕來進行打印品質(zhì)類型或打印效果類型的設(shè)置,從而根據(jù)用戶的點擊操作顯示如圖2所述的打印設(shè)置窗口。
[0052]步驟S303:根據(jù)打印請求將選取的3D的模型轉(zhuǎn)變成打印文件。
[0053]步驟S304:將打印文件發(fā)送至3D打印機,以使得3D打印機根據(jù)打印文件進行3D 打印。
[0054]通過上述方式,用戶在玩游戲過程中可將所喜歡的游戲場景打印出來變?yōu)閷嶓w物體所擁有,提高3D打印的趣味性,并且能夠減少3D模型的建模時間。
[0055]復(fù)雜的游戲場景通常由多幀游戲場景組成,本實施方式中,通過獲取組成選定游戲場景的多幀游戲場景的相關(guān)數(shù)據(jù)以獲取選定游戲場景對應(yīng)的3D模型。具體地,在接收到用戶的截屏選擇指令以確定截屏區(qū)域后,參閱圖6,選取截屏區(qū)域內(nèi)所對應(yīng)選定游戲場景的 3D模型包括以下步驟:
[0056]步驟S601:獲取截屏區(qū)域內(nèi)組成選定游戲場景的每幀游戲場景對應(yīng)的單一模型的頂點坐標(biāo)數(shù)據(jù)、紋理數(shù)據(jù)以及變換矩陣數(shù)據(jù)。
[0057]其中,游戲在渲染每一幀圖像時,通過繪制頂點數(shù)組中的頂點來繪制模型。獲取頂點坐標(biāo)數(shù)據(jù)的步驟為:通過對傳入的頂點數(shù)組進行追蹤,得到頂點數(shù)組的指針、繪制類型和數(shù)據(jù)保存類型等參數(shù),并根據(jù)數(shù)據(jù)坐標(biāo)類型以及頂點的個數(shù),計算出頂點數(shù)組的大小。通過讀取頂點數(shù)組的指針,以及計算得到的頂點數(shù)組的大小,獲取并保存頂點坐標(biāo)數(shù)據(jù)。
[0058]此外,除了模型的頂點坐標(biāo)數(shù)據(jù),攝像機的設(shè)置、模型的旋轉(zhuǎn)角度、方位、光照等參數(shù)也是形成場景過程中須設(shè)置的參數(shù),通常調(diào)用矩陣類對這些參數(shù)進行設(shè)置。因此,本實施方式中,通過對四個參數(shù)的相關(guān)設(shè)置函數(shù)進行追蹤,以獲取場景中攝像頭位置矩陣、旋轉(zhuǎn)角度矩陣、方位矩陣、光照矩陣,并按照如下方法得到模型的變換矩陣數(shù)據(jù):
[0059]光照矩陣x攝像機位置矩陣x方位矩陣x旋轉(zhuǎn)角度矩陣=變換矩陣
[0060]此外,游戲場景的繪制中,使用紋理加載圖片。本實施方式中,紋理數(shù)據(jù)包括紋理坐標(biāo)以及紋理圖片。
[0061]其中,獲取紋理坐標(biāo)的具體步驟為:通過對傳入的紋理數(shù)組進行追蹤,得到紋理數(shù)組的指針、繪制類型和數(shù)據(jù)保存類型等參數(shù),并根據(jù)這些參數(shù)以及紋理的個數(shù),計算紋理數(shù)組的大小。通過讀取紋理數(shù)組的指針以及紋理數(shù)組的大小,獲取并保存紋理坐標(biāo)。
[0062]其中,獲取紋理圖片的具體步驟為:對紋理加載過程進行追蹤,記錄并保存紋理的 ID、加載的紋理圖片、圖片分辨率以及圖片格式等參數(shù)。由此,根據(jù)紋理ID找到圖片數(shù)據(jù), 并通過圖片分辨率以及圖片格式計算圖片緩存的大小,并進行保存,由此得到紋理圖片。
[0063]步驟S602:利用頂點坐標(biāo)數(shù)據(jù)、紋理數(shù)據(jù)以及變換矩陣數(shù)據(jù)獲取每幀游戲場景對應(yīng)的單一模型。
[0064]其中,利用公式:頂點坐標(biāo)數(shù)據(jù)x變換矩陣數(shù)據(jù),即可得到每幀游戲場景的模型框架,然后通過將模型框架和紋理數(shù)據(jù)按照通用的3D模型文件格式進行打包并保存,由此可得到每幀游戲場景對應(yīng)的單一模型。
[0065]步驟S603:將組成選定游戲場景的所有幀游戲場景分別對應(yīng)的單一模型按照預(yù)定規(guī)則進行組合,進而得到選定游戲場景對應(yīng)的3D模型。
[0066]在獲得每幀游戲場景對應(yīng)的單一模型后,將每幀游戲場景對應(yīng)的單一模型進行組合從而得到截屏區(qū)域內(nèi)對應(yīng)選定游戲場景的3D模型。其中,可以根據(jù)現(xiàn)有的游戲場景在繪制過程中使用的組合方法,將得到的多個單一模型進行組合以得到選定游戲場景對應(yīng)的3D 模型。
[0067]通過上述方式,用戶可以在游戲進行的任意時刻對顯示的游戲場景進行截屏,從而根據(jù)用戶的截屏操作獲取截屏區(qū)域內(nèi)的選定游戲場景的數(shù)據(jù)信息,如上所述的頂點坐標(biāo)數(shù)據(jù)、紋理數(shù)據(jù)以及變換矩陣數(shù)據(jù)等,進而根據(jù)這些數(shù)據(jù)信息可獲得選定游戲場景對應(yīng)的 3D模型。
[0068]當(dāng)然,在其他實施方式中,也可以通過獲取選定游戲場景的目標(biāo)文件的文件編碼, 即索引結(jié)構(gòu)來獲取相應(yīng)的3D模型。此外,在其他實施方式中,還可以通過物理按鍵來進行截屏操作,例如對于個人計算機,可以通過按下指定的鍵盤按鍵進行截屏,或者,對于移動終端如手機、平板電腦等設(shè)備,可以通過同時按下鎖屏鍵和音量鍵實現(xiàn)截屏操作。
[0069]在本發(fā)明3D打印方法的又一實施方式中,進一步地,用戶還可以對其所選擇的游戲場景進行修改,以打印更具個性化的實體3D模型。具體地,參閱圖7,在將獲取的待打印 3D對象轉(zhuǎn)變成打印文件的步驟之前,在選取截屏區(qū)域內(nèi)對應(yīng)選定游戲場景的3D模型之后, 進一步包括如下步驟:
[0070]步驟S701:接收用戶的編輯請求。
[0071]其中,可在截屏懸浮窗操作界面302中提供一編輯按鈕,在未接收到用戶的截屏選擇指令之前,該編輯按鈕為未激活狀態(tài),在接收到用戶的截屏選擇指令并選取截屏區(qū)域內(nèi)的對應(yīng)選定游戲場景的3D模型后,使該編輯按鈕處于激活狀態(tài)?;蛘撸部梢允窃诮邮盏接脩舻慕仄吝x擇指令并并選取截屏區(qū)域內(nèi)的對應(yīng)選定游戲場景的3D模型后,在截屏區(qū)域的邊緣附近自動顯示處于激活狀態(tài)的編輯按鈕。由此,用戶在選定了需要打印的游戲場景后,可通過點擊該處于激活狀態(tài)的編輯按鈕來發(fā)出對其所選擇的游戲場景對應(yīng)的3D模型進行編輯的編輯請求。
[0072]步驟S702:根據(jù)編輯請求顯示3D模型編輯界面。
[0073]計算機接收到用戶的編輯請求后,從當(dāng)前正在運行的3D游戲應(yīng)用的界面中跳轉(zhuǎn)至3D模型編輯界面,以對用戶顯示3D模型編輯界面?;蛘撸部梢圆惶稣谶\行的3D 游戲應(yīng)用的界面,而是在正在運行的3D游戲應(yīng)用的界面上以彈窗方式顯示3D模型編輯界面。
[0074]步驟S703:接收用戶在3D模型編輯界面中對選取的3D模型進行修改、刪除或增加的編輯指令。
[0075]其中,如圖8所示的3D模型編輯界面中,提供用戶各種編輯工具,例如顏色修改、 線條選擇、增加文字、增加3D部件等工具。用戶可在3D模型編輯界面中對其所選定的游戲場景所對應(yīng)的3D模型進行編輯,例如可對3D模型的部件進行顏色、尺寸、材質(zhì)、光照等校正與修復(fù)或修改處理,也可以將某部件進行刪除,或者增加某一部件至3D模型中,還可以在 3D模型中增加文字說明或個性簽名等。此外,在3D模型編輯界面中還提供各種3D模型部件,用戶可根據(jù)需要選擇一種或多種3D模型部件至所選取的3D模型中以合并為一個3D模型,還可以從本地存儲器中選擇一個或多個3D模型添加至所選取的3D模型中以合并為一個3D模型。
[0076]此外,還可以除去地板、水面等不需求或者失真的場景,或?qū)δ承┎考M行特效處理,還可以選擇將懸空的部件刪除。
[0077]步驟S704:根據(jù)編輯指令對選擇的3D模型進行相應(yīng)編輯,并將編輯后的3D模型作為獲取的待打印3D對象。
[0078]編輯指令即是指用戶在3D模型編輯界面中輸入的上述編輯操作指令,根據(jù)用戶的編輯指令對3D模型進行相應(yīng)編輯。
[0079]用戶在完成編輯后,可點擊3D模型編輯界面中的完成編輯的按鈕以發(fā)出編輯完成的確認(rèn)指令。由此,根據(jù)用戶的確認(rèn)指令,將編輯之后的3D模型作為獲取的待打印3D對象進行3D打印。
[0080]通過提供對所選取的3D模型的二次編輯功能,可以滿足更多用戶的不同需求。
[0081]在其他實施方式中,還可以通過向用戶發(fā)出詢問的方式來觸發(fā)二次編輯功能。在接收到用戶對其所選擇的游戲場景的確認(rèn)指令后,可彈出一對話框,對話框內(nèi)容可以顯示 “是否需要對3D模型進行編輯”,并提供“是”、“否”兩個選項。當(dāng)用戶選擇對“是”選項時則顯示3D模型編輯界面;當(dāng)用戶選擇“否”選項時則不對3D模型進行編輯,并將選取的3D模型轉(zhuǎn)變?yōu)榇蛴∥募l(fā)送給3D打印機進行3D打印。
[0082]此外,還可以是在3D模型編輯界面中接收用戶對待打印3D對象的打印請求。其中,可以在3D模型編輯界面中顯示如圖2所示的打印設(shè)置窗口中的內(nèi)容,用戶可以在3D模型編輯界面中選擇分辨率類型和打印尺寸類型,在完成對3D模型的編輯以及分辨率和打印尺寸的選擇后,可通過點擊“打印”按鈕發(fā)出打印請求,該“打印”按鈕也是完成編輯的確認(rèn)按鈕,從而根據(jù)用戶的打印請求將編輯后的3D模型作為待打印3D對象,并將其轉(zhuǎn)變成打印文件進行3D打印。
[0083]在本發(fā)明3D打印方法的又一實施方式中,進一步地,用戶還可以選擇將其所選擇的游戲場景與其他玩家共享。例如當(dāng)用戶所選擇的游戲場景為:用戶在游戲中的人物角色與其他游戲玩家的人物角色在某一時刻下的攻擊姿勢,或者用戶的人物角色與其他游戲玩家的人物角色的合影。為使得游戲各方對打印的3D模型都較為滿意,可將待打印3D對象發(fā)送給其他玩家以進行確認(rèn)。
[0084]具體地,本實施方式中,3D游戲應(yīng)用為在線交互應(yīng)用。在確定截屏區(qū)域并從截屏區(qū)域中選取待打印的3D模型后,將截屏區(qū)域和3D模型的3D預(yù)覽圖共享給3D游戲應(yīng)用的另一交互方或多個交互方。其中,用戶在選擇截屏區(qū)域后,可通過截屏懸浮窗操作界面302 中的共享按鈕發(fā)出共享請求,從而根據(jù)用戶的共享請求將截屏區(qū)域和獲取的3D模型的3D 預(yù)覽圖共享給用戶所選擇的另一交互方或多個交互方?;蛘撸部梢允窃诮邮盏接脩舻慕仄吝x擇指令并從截屏區(qū)域中選取對應(yīng)選定游戲場景才3D模型后,自動將截屏區(qū)域和3D模型的3D預(yù)覽圖共享給其他交互方。其中,共享的方式,例如可以是將截屏區(qū)域以及3D模型的3D預(yù)覽圖在當(dāng)前交互的3D游戲應(yīng)用的界面上對其他交互方進行顯示,也可以是將截屏區(qū)域以及3D模型的3D預(yù)覽圖發(fā)送給其他交互方,以在其他交互方的顯示界面上進行顯示。 由此,可使得其他交互方獲知用戶所選擇的需要打印的3D對象,從而可以進行確認(rèn)或給出意見等。
[0085]在接收到其他交互方對3D模型的預(yù)覽圖的確認(rèn)指令后,執(zhí)行接收用戶對選取的 3D模型的打印請求的步驟?;蛘撸恍枰邮掌渌换シ綄?D模型的預(yù)覽圖的確認(rèn)指令, 而是將截屏區(qū)域和3D模型的3D預(yù)覽圖共享給其他交互方后即執(zhí)行執(zhí)行接收用戶對選取的 3D模型的打印請求的步驟。
[0086]另外,當(dāng)用戶對3D模型進行編輯時,還可以將3D模型編輯界面及編輯中或編輯后的3D模型的3D預(yù)覽圖共享給3D游戲應(yīng)用的其他交互方。。其中,在顯示3D模型編輯界面后,用戶可通過點擊3D模型編輯界面中的共享按鈕發(fā)出共享請求,由此根據(jù)該共享請求將編輯界面和編輯中或編輯后的3D模型的3D預(yù)覽圖共享給3D游戲應(yīng)用的其他交互方,以使得其他交互方可觀看到用戶對3D模型的編輯,以及編輯后的3D模型的3D預(yù)覽圖。
[0087]此外,用戶也可以將對3D模型的編輯權(quán)授權(quán)給其他交互方,其他交互方可在共享的3D模型編輯界面中輸入對3D模型的修改、刪除或增加的編輯指令。通過接收其他交互方的編輯指令,對3D模型進行相應(yīng)編輯,并將編輯后的3D模型作為獲取的待打印3D對象。
[0088]在交互的3D游戲應(yīng)用中,每個用戶都有其相應(yīng)的可操縱元素,這些元素例如是人物角色、道具、攻擊動作等,而每個用戶在游戲中也僅能夠操縱其個人的元素,而不能操縱其他交互方的元素。在進行3D打印過程中,為了取得更符合心意的3D模型,在某些情況下用戶可能希望其他交互方的元素能夠做出特定的動作或移動到指定位置再做出特定動作等,這就需要其他交互方能夠獲知用戶的意圖而按照用戶意圖操縱其元素做出特定動作或移動到特定位置等。
[0089]為此,本發(fā)明進一步在圖3所示的3D打印方法的基礎(chǔ)上,提出一種基于交互式截屏操作的3D打印方法,通過當(dāng)前用戶與正在運行的3D游戲應(yīng)用的另一交互方之間的交互, 以取得雙方滿意的待打印的3D對象。具體地,3D游戲應(yīng)用為交互應(yīng)用,在獲取待打印3D對象的步驟之前,即在接收用戶的截屏選擇指令之前,從正在運行的3D游戲應(yīng)用的界面中接收當(dāng)前用戶對另一交互方所操縱元素的操縱請求。
[0090]其中,在用戶點擊截屏懸浮窗操作界面302上的截屏按鈕進行截屏操作之前,可通過點擊截屏懸浮窗操作界面302中的操縱對方元素的請求按鈕以發(fā)出對另一交互方所操縱元素的操縱請求。其中,在點擊該請求按鈕以觸發(fā)請求后,用戶需選中另一交互方所操縱的元素,并輸入相應(yīng)的操縱指令,例如使其所選中的元素移動至指定位置的操縱指令,或者使其所選中的元素做出指定動作的操縱指令。因此,該操縱請求包括了用戶對另一交互方所操縱元素的選中指令、對所選中的另一交互方的元素做出的操縱指令以及請求另一交互方將其所操縱元素的操縱權(quán)限開放給用戶的請求信息。在接收到用戶的操縱請求后,將所述的請求信息發(fā)送給另一交互方,并接收另一交互方對該請求信息的響應(yīng)動作。當(dāng)接收到另一交互方對該請求信息的允許指令后,根據(jù)用戶的操縱請求中的選中指令以及操縱指令,實施對用戶所選中的另一交互方所操縱元素的操縱。
[0091]為方便、精確打印出用戶最想要的操縱元素的姿勢、狀態(tài)或游戲場景的特點狀態(tài), 可以設(shè)置“慢動作”功能,用戶啟用此功能后,操縱元素或游戲進度將會以一個容易被用戶定格的速度演變,甚至還可以倒退,直到操縱元素或游戲進度到達(dá)了某個用戶想要的時刻或狀態(tài)。
[0092]在完成對另一交互方的元素的操縱后,接收用戶的截屏選擇指令,以確定包括操縱后的另一交互方的元素在內(nèi)的界面中的截屏區(qū)域,并選取截屏區(qū)域內(nèi)所對應(yīng)選定游戲場景的3D模型,從而獲得待3D打印對象,進而實現(xiàn)3D打印。
[0093]或者,在另一實施方式中,所述操縱請求可以是包括用戶對另一交互方所操縱元素的選中指令以及對所選中的另一交互方的元素做出的操縱指令。在接收到用戶的操縱請求后,根據(jù)該操縱請求在正在運行的3D游戲應(yīng)用的界面中向另一交互方演示對用戶所選中的元素的操縱,以使得另一交互方按照該演示對其所操縱的且為用戶所選中的元素進行操縱,以得到符合用戶心意的游戲場景,由此用戶可進行截屏操作,以對其選定的游戲場景對應(yīng)的3D模型進行3D打印。
[0094]當(dāng)然,在3D模型編輯界面中,也可以實現(xiàn)上述的交互式編輯,即在用戶完成對3D 模型的編輯后,可以選擇將完成編輯的3D模型在正在運行的3D游戲應(yīng)用的界面上向另一交互方進行演示,并接收另一交互方對演示的3D模型的確認(rèn)指令,在接收到另一交互方的確認(rèn)指令后執(zhí)行接收用戶對編輯后的3D模型的打印請求的步驟。
[0095]在本發(fā)明3D打印方法的又一實施方式中,在將獲取的待打印3D對象轉(zhuǎn)變成打印文件之前,并在接收到用戶對作為待打印3D對象的3D模型的打印請求后,所述方法進一步包括:檢測選取的3D模型中是否存在兩個以上相互獨立而無直接或間接聯(lián)系的部件;當(dāng)選取的3D模型中存在兩個以上相互獨立而無直接或間接聯(lián)系的部件時,使兩個以上相互獨立而無直接或間接聯(lián)系的部件建立連接關(guān)系,并將建立連接關(guān)系之后的3D模型作為獲取的待打印3D對象。
[0096]由于3D打印技術(shù)中難以實現(xiàn)懸空部件的打印,因此,本實施方式中,在打印之前對3D模型的可打印性進行檢測,以檢測所選取的3D模型是否符合打印要求,并在不符合打印要求時對3D模型自動進行修改。其中,當(dāng)檢測到選取的3D模型中存在兩個以上相互獨立而無直接或間接聯(lián)系的部件時,即3D模型中存在懸空部件,此時3D模型不滿足打印要求。舉例而言,當(dāng)選取的3D模型包括樹木和月亮兩個部件,當(dāng)檢測到樹木和月亮之間沒有連接時,即選取的3D模型中存在兩個相互獨立的部件,月亮相對于樹木而言可認(rèn)為為懸空部件,此時,可自動將樹木和月亮建立連接關(guān)系,以使得3D模型符合打印要求。
[0097]在自動建立相互獨立的部件之間的連接關(guān)系后,將建立連接關(guān)系之后的3D模型作為待打印3D對象,以將待打印3D對象轉(zhuǎn)變?yōu)榇蛴∥募l(fā)送給3D打印機,從而實現(xiàn)3D 打印。
[0098]其中,還可以根據(jù)用戶意愿來決定是否建立連接關(guān)系。例如,當(dāng)檢測到選取的3D 模型中存在兩個以上相互獨立而無直接或間接的部件時,可以彈出對話框以向用戶發(fā)出詢問。對話框內(nèi)容可顯示“是否需要建立連接關(guān)系”,并提供“是”和“否”兩個選項。當(dāng)用戶選擇“是”選項時,則對相互獨立的部件建立連接關(guān)系,當(dāng)用戶選擇“否”選項時,可以彈出顯示“當(dāng)前模型不符合打印要求,請重新選擇”的文字的窗口。
[0099]其中,在其他實施方式中,當(dāng)檢測到存在兩個相互獨立而無直接或間接連接的部件時,還可以對其中的一個部件自動建立支撐架,以避免該部件懸空,從而使得3D模型符合打印要求。
[0100]其中,建立連接關(guān)系或建立支撐架是指建立可3D打印的連接關(guān)系或可3D打印的支撐架,以使得所選取的3D模型符合打印要求。或者,建立連接關(guān)系或建立支撐架還可以是在3D打印之外的另外設(shè)置的部件。例如,可以對所選取的3D模型中的相互獨立的兩個部件分別進行3D打印,在打印之后另外設(shè)置連接部件以將3D打印后的兩個實體部件建立連接關(guān)系,或者對3D打印后的為懸空部件的實體部件設(shè)置支撐架。
[0101]此外,為了提高打印之后的實體3D模型的可靠性,避免尺寸較小的部件在打印出來后易破碎,在本實施方式中,對3D模型的檢測還包括:檢測所選取的3D模型中是否存在尺寸小于預(yù)定值的部件;當(dāng)所選取的3D模型中存在尺寸小于預(yù)定值的部件時,調(diào)整尺寸小于預(yù)定值的部件的尺寸,以使得部件的尺寸大于或等于預(yù)定值,并將調(diào)整之后的3D模型作為獲取的待打印3D對象。
[0102] 當(dāng)3D模型中存在尺寸小于預(yù)定值的部件時,3D模型不符合打印要求,此時可以對尺寸較小的部件進行自動加固或增強處理,以增大該部件的尺寸,使得該部件的尺寸滿足打印要求,并將調(diào)整后的3D模型作為待打印3D對象,以將待打印3D對象轉(zhuǎn)變?yōu)榇蛴∥募l(fā)送給3D打印機,實現(xiàn)3D打印。通過上述方式,可以提高實體3D模型的可靠性?;蛘撸€可以對尺寸小于預(yù)定值的部件進行特殊標(biāo)記,以提醒用戶該部件為易破碎部件。[〇1〇3] 此外,當(dāng)用戶選擇對3D模型進行二次編輯時,可以是在接收到用戶對其所做的編輯的確認(rèn)指令后、在接收到用戶的打印請求之前,對3D模型進行檢測以檢測編輯后的3D模型是否滿足打印要求?;蛘?,也可以在3D模型編輯界面中提供檢測按鈕,用戶可通過該檢測按鈕來自主選擇是否對3D模型進行可打印性檢測。
[0104] 在本發(fā)明3D打印方法的又一實施方式中,還可以對需要進行3D打印的3D模型進行動態(tài)部件檢測,以打印得到使動態(tài)部件可活動的實體3D模型。其中,在將選取的3D模型轉(zhuǎn)變成打印文件之前,并在接收到用戶對作為待打印3D對象的3D模型的打印請求之后,還包括步驟:檢測選取的3D模型中是否存在動態(tài)部件;當(dāng)存在動態(tài)部件時,將選取的3D模型中除動態(tài)部件之外的其他部件作為最終需打印的3D對象,并將最終需打印的3D對象轉(zhuǎn)變成打印文件,并且在最終需打印的3D對象的與動態(tài)部件連接處進行使動態(tài)部件可活動的設(shè)計。之后,將打印文件發(fā)送給3D打印機,以使得3D打印機根據(jù)打印文件進行3D打印。
[0105]當(dāng)然,在檢測到動態(tài)部件后,可以通過對話框形式詢問用戶是否需要進行動態(tài)部件的可活動設(shè)計,若接收到用戶確認(rèn)需要進行可活動設(shè)計的指令,則進行上述可活動的設(shè)計,若接收到用戶不需要進行可活動設(shè)計的指令,則不進行動態(tài)部件的可活動設(shè)計,而是按照正常的打印模式進行打印。
[0106]其中,動態(tài)部件是指在3D游戲應(yīng)用的界面中處于活動狀態(tài)的部件,例如旋轉(zhuǎn)的風(fēng)車。
[0107] 進一步地,將選取的3D模型中除動態(tài)部件之外的其他部件作為最終需打印的3D 對象的具體步驟為:將3D模型中的動態(tài)部件作為第一最終需打印的3D對象,將3D模型中除動態(tài)部件之外的其他部件作為第二最終需打印的3D對象。
[0108] 此外,在最終需打印的3D對象與動態(tài)部件連接處進行使動態(tài)部件可活動的設(shè)計步驟包括:在第二最終需打印的3D對象的與第一最終需打印的3D對象的連接處進行使動態(tài)部件可活動的設(shè)計,同時判斷動態(tài)部件是否需要進行與可活動設(shè)計匹配的可活動設(shè)計, 若需要則同時對動態(tài)部件進行可活動設(shè)計。例如,當(dāng)3D模型中的動態(tài)部件為旋轉(zhuǎn)的風(fēng)車時,將該旋轉(zhuǎn)的風(fēng)車作為第一最終需打印的3D對象,將3D模型中的除旋轉(zhuǎn)的風(fēng)車之外的其他部件作為第二最終需打印的3D對象,第一最終需打印的3D對象通過風(fēng)車上的轉(zhuǎn)軸與第二最終需打印的3D對象連接,因此可在第二最終需打印的3D對象的與風(fēng)車的轉(zhuǎn)軸連接之處進行使轉(zhuǎn)軸轉(zhuǎn)動的設(shè)計,例如使該連接之處設(shè)計為可插入風(fēng)車轉(zhuǎn)軸的腔體,并使驅(qū)動風(fēng)車轉(zhuǎn)動的轉(zhuǎn)軸大小與該腔體相匹配,以實現(xiàn)該轉(zhuǎn)軸在該腔體中的可旋轉(zhuǎn)。
[0109] 在進行上述的可活動設(shè)計后,將第一最終需打印的3D對象和第二最終需打印的 3D對象轉(zhuǎn)變成打印文件,其中,該打印文件中包括了上述對第一最終需打印的3D對象和第二最終需打印的3D對象的可活動設(shè)計信息,并將打印文件發(fā)送給3D打印機,以使得3D打印機根據(jù)打印文件打印第一最終需打印的3D對象和第二最終需打印的3D對象。在完成第一最終需打印的3D對象和第二最終需打印的3D對象的3D打印后,即可以利用可活動設(shè)計連接打印出來的第一最終需打印的3D對象對應(yīng)的實體模型和第二最終需打印的3D對象對應(yīng)的實體模型,例如可以將風(fēng)車的轉(zhuǎn)軸插入第二最終需打印的3D對象的所述腔體中,以實現(xiàn)二者可活動連接。
[0110]或者,在另一實施方式中,也可以不在第二最終需打印的3D對象的與第一最終需打印的3D對象連接處進行使動態(tài)部件可活動的設(shè)計,而是額外生成支持動態(tài)部件活動的 3D對象,作為第三最終需打印的3D對象,并且將第一最終需打印的3D對象、第二最終需打印的3D對象、第三最終需打印的3D對象轉(zhuǎn)變成打印文件,并將該打印文件發(fā)送給3D打印機,以使得3D打印機根據(jù)打印文件打印第一最終需打印的3D對象、第二最終需打印的3D 對象、第三最終需打印的3D對象。由此,在完成第一最終需打印的3D對象、第二最終需打印的3D對象、第三最終需打印的3D對象的3D打印后,可利用可活動設(shè)計連接第三最終需打印的3D對象對應(yīng)的實體模型和第一最終需打印的3D對象對應(yīng)的實體模型,以實現(xiàn)動態(tài)部件的可活動。
[0111]此外,在另一實施方式中,可以在3D打印機打印過程中,使3D打印機根據(jù)可活動設(shè)計連接第一最終需打印的3D對象和第二最終需打印的3D對象,例如在打印過程中,可使用特殊材料形成第二最終需打印的3D對象的與第一最終需打印的3D對象的連接處,該特殊材料例如為與形成第一最終需打印的3D對象的材料為相互排斥材料,或者為不具有黏性的材料,以使打印得到的第一最終需打印的3D對象對應(yīng)的實體模型和第二最終需打印的3D對象對應(yīng)的實體模型之間的連接為不緊密連接,以實現(xiàn)二者的可活動。
[0112]本發(fā)明3D打印方法的又一實施方式中,在將選取的3D模型轉(zhuǎn)變成打印文件之前, 接收到用戶對待打印3D對象的打印請求后,還進行如下步驟:檢測用戶是否完成3D打印手續(xù),當(dāng)檢測到用戶完成3D打印手續(xù)后,生成在線打印訂單,并在生成在線打印訂單之后執(zhí)行將選取的3D模型轉(zhuǎn)變成打印文件的步驟。其中,3D打印手續(xù)是指用戶支付本次3D打印所需費用的支付手續(xù),用戶可選擇使用支付寶、在線網(wǎng)銀等方式進行支付,或者用戶也可以選擇貨到付款的支付方式。所述在線打印訂單包括用戶的收貨地址信息、支付信息以及用戶所選擇的3D模型的信息。由此,在3D打印機根據(jù)打印文件進行3D打印之后,可根據(jù)在線打印訂單將打印出來的實體3D模型通過快遞等方式郵寄至在線打印訂單中的收貨地址中,從而完成交易過程。
[0113]例如,用戶在使用在線交互3D游戲應(yīng)用過程中,使用截屏指令獲得截屏區(qū)域,確定要打印的3D對象后,點擊在線交互3D游戲應(yīng)用界面中的“打印”按鈕或快捷鍵,則系統(tǒng)自動采用用戶在此在線交互3D游戲應(yīng)用中的賬號在游戲服務(wù)器中觸發(fā)相應(yīng)操作、或登陸交易3D打印服務(wù)的服務(wù)器,進而自動生成訂單,根據(jù)訂單進行后續(xù)的3D打印并送貨到用戶指定地址。
[0114]參閱圖9,本發(fā)明終端設(shè)備一實施方式中,終端設(shè)備例如可以是個人計算機、手機、 平板電腦等設(shè)備,其通過有線或無線方式與3D打印機連接。終端設(shè)備包括獲取模塊801、打印設(shè)置模塊802、第一處理模塊803以及發(fā)送模塊804。其中,獲取模塊804用于根據(jù)用戶選擇從預(yù)定應(yīng)用場景中獲取用戶所選擇的待打印3D對象。打印設(shè)置模塊802用于接收用戶對待打印3D對象的打印請求,該打印請求包括打印品質(zhì)類型或打印效果類型的選擇信息,其中,在用戶選擇打印品質(zhì)類型或打印效果類型時,顯示打印品質(zhì)類型或打印效果類型對應(yīng)的預(yù)覽效果圖。
[0115]其中,打印品質(zhì)類型包括分辨率類型,打印效果類型包括打印尺寸類型,打印品質(zhì)類型或打印效果類型的選擇信息即是指用戶所選的分辨率類型或打印尺寸類型。
[0116]第一處理模塊803用于根據(jù)打印請求將獲取的待打印3D對象轉(zhuǎn)變成打印文件,打印文件包括打印品質(zhì)類型或打印效果類型的選擇信息。
[0117]發(fā)送模塊804用于將打印文件發(fā)送給3D打印機,以使得3D打印機根據(jù)打印文件進行3D打印。
[0118]用戶在選擇需要打印的待打印3D對象后,可進行打印設(shè)置。例如,用戶可通過點擊預(yù)定應(yīng)用場景的界面中的“打印設(shè)置”按鈕,用戶點擊該按鈕后,根據(jù)用戶的點擊操作彈出打印設(shè)置窗口,如圖2所示,在該打印設(shè)置窗口中具有打印品質(zhì)選擇按鈕和打印效果選擇按鈕,用戶可進行打印品質(zhì)類型或打印效果類型的選擇。
[0119]此外,本實施方式中,終端設(shè)備進一步還包括第一接收模塊805、第一顯示模塊 806、第二接收模塊807、第一編輯模塊808、檢測模塊809、第二編輯模塊901、共享模塊902、 第二處理模塊903、第三處理模塊904以及訂單生成模塊905。
[0120]在本實施方式中,預(yù)定應(yīng)用場景是3D游戲應(yīng)用場景,獲取模塊801具體用于根據(jù)用戶選擇從正在運行的3D游戲應(yīng)用中獲取對應(yīng)選定游戲場景的待打印3D對象。當(dāng)然,在其他實施方式中,預(yù)定應(yīng)用場景也可以是3D影視場景等其他3D應(yīng)用場景。
[0121]進一步地,獲取模塊801包括接收單元8011和選取單元8012。接收單元8011用于接收用戶的截屏選擇指令,以確定正在運行的3D游戲應(yīng)用的界面中的截屏區(qū)域;選取單元8012用于選取截屏區(qū)域內(nèi)所對應(yīng)選定游戲場景的3D模型,以作為獲取的待打印3D對象。其中,可通過在3D游戲應(yīng)用的界面顯示的截屏懸浮窗操作界面來接收用戶的截屏選擇指令。
[0122]其中,共享模塊902用于在接收單元8011確定截屏區(qū)域后以及選取單元8012從截屏區(qū)域中選取對應(yīng)選定游戲場景的3D模型后,接收用戶通過截屏懸浮窗操作界面的共享按鈕發(fā)出的共享操作指令,將截屏區(qū)域以及選取的3D模型的3D預(yù)覽圖共享給3D游戲應(yīng)用的另一交互方。
[0123]其中,第二處理模塊903用于在接收單元8011接收用戶的截屏選擇指令之前,接收用戶對當(dāng)前正在運行的3D游戲應(yīng)用的另一交互方所操縱元素的操縱請求,并接收另一交互方對該操縱請求的允許指令,以在接收到允許指令后按照操縱請求實施對另一交互方所操縱元素的操縱?;蛘?,在另一實施方式中,第二處理模塊903也可以不實施對另一交互方多所操縱元素的操縱,而是按照操縱請求在正在運行的3D游戲應(yīng)用的界面中向另一交互方演示對另一交互方所操縱元素的操縱,以使得另一交互方按照該演示對其所操縱元素進行操縱。
[0124]在完成操縱元素的操縱后,用戶可通過截屏懸浮窗操作界面輸入截屏選擇按鈕, 以使得接收單元8011接收用戶的截屏選擇指令以確定包括操縱后的另一交互方的元素在內(nèi)的界面中的截屏區(qū)域,從而選取單元8012選取截屏區(qū)域內(nèi)的對應(yīng)選定游戲場景的3D模型,以作為獲取的待打印3D對象。
[0125]進一步地,選取單元8012包括第一獲取子單元701、第二獲取子單元702以及第三獲取子單元703。其中,第一獲取子單元701用于獲取截屏區(qū)域內(nèi)組成選定游戲場景的每幀游戲場景對應(yīng)的單一模型的頂點坐標(biāo)數(shù)據(jù)、紋理數(shù)據(jù)以及變換矩陣數(shù)據(jù);第二獲取子單元702用于利用頂點坐標(biāo)數(shù)據(jù)、紋理數(shù)據(jù)以及變換矩陣數(shù)據(jù)獲取每幀游戲場景對應(yīng)的單一模型;第三獲取子單元703用于將組成選定游戲場景的所有幀游戲場景分別對應(yīng)的單一模型按照預(yù)定規(guī)則進行組合,進而得到選定游戲場景對應(yīng)的3D模型。
[0126]其中,第一接收模塊805用于在第一處理模塊803將選取的3D模型轉(zhuǎn)變成打印文件之前且在選取單元8012從截屏區(qū)域中選取對應(yīng)選定游戲場景的3D模型之后,接收用戶的編輯請求。第一顯示模塊806用于根據(jù)用戶的編輯請求顯示3D模型編輯界面。第二接收模塊807用于接收用戶在3D模型編輯界面中對選取的3D模型進行修改、刪除或增加的編輯指令。第一編輯模塊808用于根據(jù)編輯指令對選取的3D模型進行相應(yīng)編輯,并將編輯后的3D模型作為獲取的待打印3D對象。
[0127]此外,共享模塊501還用于將第一顯示模塊806顯示的3D模型編輯界面共享給3D 游戲應(yīng)用的另一交互方,即用戶可在3D模型編輯界面中選擇共享按鈕以將3D模型編輯界面及編輯中的3D模型的3D預(yù)覽圖共享給另一交互方。
[0128]其中,在用戶完成3D模型的編輯后,可以在3D模型編輯界面中進行打印設(shè)置,即選擇打印品質(zhì)類型或打印效果類型。其中在用戶選擇打印品質(zhì)類型或打印效果類型時,打印設(shè)置模塊802顯示用戶所選擇的打印品質(zhì)類型或打印效果類型的效果預(yù)覽圖。并且,當(dāng)用戶確認(rèn)其所選擇的打印品質(zhì)類型或打印效果類型后,可通過點擊3D模型編輯界面中的 “打印”按鈕以發(fā)出打印請求,打印設(shè)置模塊802接收用戶通過點擊3D模型編輯界面中的 “打印”按鈕發(fā)出的打印請求。
[0129]其中,在接收到用戶的打印請求后,訂單生成模塊905檢測用戶是否完成3D打印手續(xù),當(dāng)檢測到用戶完成3D打印手續(xù)后,生成在線打印訂單。其中,3D打印手續(xù)是指用戶支付本次3D打印所需費用的支付手續(xù),用戶可選擇使用支付寶、在線網(wǎng)銀等方式進行支付, 或者用戶也可以選擇貨到付款的支付方式。所述在線打印訂單包括用戶的收貨地址信息、 支付信息以及用戶所選擇的3D模型的信息。
[0130]此外,在接收到用戶的打印請求后,檢測模塊809檢測在第一編輯模塊808進行相應(yīng)編輯后的3D模型是否存在兩個以上相互獨立而無直接或間接連接的部件和/或檢測編輯后的3D模型中是否存在尺寸小于預(yù)定值的部件。
[0131]第二編輯模塊901用于當(dāng)3D模型中存在兩個以上相互獨立而無直接或間接連接的部件時,使兩個以上相互獨立而無直接或間接連接的部件建立連接關(guān)系或?qū)ζ渲袘铱盏牟考⒅渭?。以及,第二編輯模塊901用于當(dāng)3D模型中存在尺寸小于預(yù)定值的部件時, 調(diào)整尺寸小于預(yù)定值的部件的尺寸,以使得該部件的尺寸大于或等于預(yù)定值。并且,第二編輯模塊901還用于將建立連接關(guān)系或建立支撐架、和/或調(diào)整尺寸后的3D模型作為獲取的待打印3D對象,由此,可使得不滿足打印要求的3D模型自動進行修改以滿足打印要求,并且通過對不符合尺寸要求的部件的尺寸進行自動調(diào)整,可以提高3D模型部件的可靠性。
[0132]第三處理模塊904用于檢測建立連接關(guān)系或建立支撐架的、和/或調(diào)整尺寸后的 3D模型中是否存在動態(tài)部件,當(dāng)存在動態(tài)部件時,將3D模型中除動態(tài)部件之外的其他部件作為最終需打印的3D對象。進一步地,第三處理模塊904用于將3D模型中的動態(tài)部件作為第一最終需打印的3D對象,將3D模型中除動態(tài)部件之外的其他部件作為第二最終需打印的3D對象。
[0133] 其中,第一處理模塊803用于根據(jù)在線打印訂單將第一最終需打印的3D對象和第二最終需打印的3D對象轉(zhuǎn)變成打印文件,并且使在第二最終需打印的3D對象的與第一最終需打印的3D對象的連接處進行使動態(tài)部件可活動的設(shè)計,同時判斷動態(tài)部件是否需要進行與可活動設(shè)計匹配的可活動設(shè)計,若需要則同時對動態(tài)部件進行可活動設(shè)計。其中,打印文件中包括打印品質(zhì)類型或打印效果類型的選擇信息以及在第二最終需打印的3D對象的與第一最終需打印的3D對象的連接處進行的可活動設(shè)計的信息。從而,在發(fā)送模塊804 將打印文件發(fā)送給3D打印機進行3D打印后,使得3D打印機根據(jù)打印文件進行打印時,根據(jù)打印品質(zhì)類型或打印效果類型的選擇信息打印符合要求的實體3D模型,并且根據(jù)在第二最終需打印的3D對象的與第一最終需打印的3D對象的連接處進行的可活動設(shè)計的信息,打印第一最終需打印的3D對象和第二最終需打印的3D對象。由此在打印得到第一、第二最終需打印的3D對象對應(yīng)的實體模型后,可利用可活動設(shè)計連接第一最終需打印的3D 對象對應(yīng)的實體模型和第二最終需打印的3D對象對應(yīng)的實體模型。
[0134]在完成上述3D模型的打印后,可根據(jù)在線打印訂單中的收貨人信息將打印出來的實體3D模型通過快遞等方式送至指定地點,從而完成交易。
[0135]當(dāng)然,在其他實施方式中,第一處理模塊803在將第一最終需打印的3D對象和第二最終需打印的3D對象轉(zhuǎn)變成打印文件時,還可以不在第二最終需打印的3D對象的與第一最終需打印的3D對象連接處進行使動態(tài)部件可活動的設(shè)計,而是額外生成支持動態(tài)部件活動的3D對象,作為第三最終需打印的3D對象,并且將第一最終需打印的3D對象、第二最終需打印的3D對象、第三最終需打印的3D對象轉(zhuǎn)變成打印文件。從而在發(fā)送模塊804將該打印文件發(fā)送給3D打印機后,使得3D打印機根據(jù)打印文件打印第一最終需打印的3D對象、第二最終需打印的3D對象、第三最終需打印的3D對象。由此,在打印得到第一、第二、 第三最終需打印的3D對象后,可利用可活動設(shè)計連接第三最終需打印的3D對象和第一最終需打印的3D對象,以實現(xiàn)動態(tài)部件的可活動。
[0136]通過本實施方式的終端設(shè)備,可以直接獲取3D應(yīng)用場景對應(yīng)的3D模型來實現(xiàn)3D 打印,而不需要在三維建模軟件中重新構(gòu)思、構(gòu)建3D應(yīng)用場景對應(yīng)的3D模型,由此可減少 3D打印時間,降低3D打印難度。并且,用戶還可以根據(jù)個人喜好對3D模型進行二次編輯, 以及進行預(yù)置部件、打印品質(zhì)等設(shè)置,以打印更具個性化的3D產(chǎn)品。
[0137]以上所述僅為本發(fā)明的實施方式,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護范圍內(nèi)。
【主權(quán)項】
1.一種3D打印方法,其特征在于,包括:根據(jù)用戶選擇從預(yù)定應(yīng)用場景中獲取用戶所選擇的待打印3D對象;接收用戶對所述待打印3D對象的打印請求,所述打印請求包括打印品質(zhì)類型或打印 效果類型的選擇信息,其中,在用戶選擇所述打印品質(zhì)類型或打印效果類型時,顯示所述打 印品質(zhì)類型或打印效果類型所對應(yīng)的預(yù)覽效果圖;根據(jù)所述打印請求將獲取的所述待打印3D對象轉(zhuǎn)變成打印文件,所述打印文件包括 所述打印品質(zhì)類型或打印效果類型的選擇信息;將所述打印文件發(fā)送至3D打印機,以使得所述3D打印機根據(jù)所述打印文件進行3D打 印。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述打印品質(zhì)類型包括打印分辨率類型,所述打印效果類型包括打印尺寸類型。3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)用戶選擇從預(yù)定應(yīng)用場景中獲取用戶所選擇的待打印3D對象的步驟包括: 根據(jù)用戶選擇從正在運行的3D游戲應(yīng)用中獲取對應(yīng)選定游戲場景的待打印3D對象。4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述根據(jù)用戶選擇從正在運行的3D游戲應(yīng)用中獲取對應(yīng)選定游戲場景的待打印3D對 象的步驟包括:接收用戶的截屏選擇指令,以確定所述正在運行的3D游戲應(yīng)用的界面中的截屏區(qū)域; 選取所述截屏區(qū)域內(nèi)所對應(yīng)選定游戲場景的3D模型,以作為獲取的所述待打印3D對象。5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述選取所述截屏區(qū)域內(nèi)所對應(yīng)選定游戲場景的3D模型的步驟包括:獲取所述截屏區(qū)域內(nèi)組成所述選定游戲場景的每幀游戲場景對應(yīng)的單一模型的頂點 坐標(biāo)數(shù)據(jù)、紋理數(shù)據(jù)以及變換矩陣數(shù)據(jù);利用所述頂點坐標(biāo)數(shù)據(jù)、紋理數(shù)據(jù)以及變換矩陣數(shù)據(jù)獲取每幀游戲場景對應(yīng)的單一模 型;將組成所述選定游戲場景的所有幀游戲場景分別對應(yīng)的單一模型按照預(yù)定規(guī)則進行 組合,進而得到所述選定游戲場景對應(yīng)的3D模型。6.根據(jù)權(quán)利要求4所述的方法,其特征在于,在所述選取所述截屏區(qū)域內(nèi)所對應(yīng)選定游戲場景的3D模型之后,包括步驟:接收用戶的編輯請求;根據(jù)所述編輯請求顯示3D模型編輯界面;接收用戶在所述3D模型編輯界面中對選取的所述3D模型進行修改、刪除或增加的編 輯指令;根據(jù)所述編輯指令對選取的所述3D模型進行相應(yīng)編輯,并將編輯后的3D模型作為獲 取的所述待打印3D對象。7.—種終端設(shè)備,其特征在于,包括:獲取模塊,用于根據(jù)用戶選擇從預(yù)定應(yīng)用場景中獲取用戶所選擇的待打印3D對象; 打印設(shè)置模塊,用于接收用戶對所述待打印3D對象的打印請求,所述打印請求包括打印品質(zhì)類型或打印效果類型的選擇信息,其中,在用戶選擇所述打印品質(zhì)類型或打印效果 類型時,顯示所述打印品質(zhì)類型或打印效果類型所對應(yīng)的預(yù)覽效果圖;第一處理模塊,用于根據(jù)所述打印請求將獲取的所述待打印3D對象轉(zhuǎn)變成打印文件, 所述打印文件包括所述打印品質(zhì)類型或打印效果類型的選擇信息;發(fā)送模塊,用于將所述打印文件發(fā)送至3D打印機,以使得所述3D打印機根據(jù)所述打印 文件進行3D打印。8.根據(jù)權(quán)利要求7所述的終端設(shè)備,其特征在于,所述打印品質(zhì)類型包括分辨率類型, 所述打印效果類型包括打印尺寸類型。9.根據(jù)權(quán)利要求7所述的終端設(shè)備,其特征在于,所述獲取模塊用于根據(jù)用戶選擇從正在運行的3D游戲應(yīng)用中獲取對應(yīng)選定游戲場景 的待打印3D對象。10.根據(jù)權(quán)利要求9所述的終端設(shè)備,其特征在于,所述獲取模塊包括:接收單元,用于接收用戶的截屏選擇指令,以確定所述正在運行的3D游戲應(yīng)用的界面 中的截屏區(qū)域;選取單元,用于選取所述截屏區(qū)域內(nèi)所對應(yīng)選定游戲場景的3D模型,以作為獲取的所 述待打印3D對象。11.根據(jù)權(quán)利要求10所述的終端設(shè)備,其特征在于,所述選取單元包括:第一獲取子單元,用于獲取所述截屏區(qū)域內(nèi)組成所述選定游戲場景的每幀游戲場景對 應(yīng)的單一模型的頂點坐標(biāo)數(shù)據(jù)、紋理數(shù)據(jù)以及變換矩陣數(shù)據(jù);第二獲取子單元,用于利用所述頂點坐標(biāo)數(shù)據(jù)、紋理數(shù)據(jù)以及變換矩陣數(shù)據(jù)獲取每幀 游戲場景對應(yīng)的單一模型;第三獲取子單元,用于將組成所述選定游戲場景的所有幀游戲場景分別對應(yīng)的單一模 型按照預(yù)定規(guī)則進行組合,進而得到所述選定游戲場景對應(yīng)的3D模型。12.根據(jù)權(quán)利要求10所述的終端設(shè)備,其特征在于,進一步包括:第一接收模塊,用于接收用戶的編輯請求;第一顯示模塊,用于根據(jù)所述編輯請求顯示3D模型編輯界面;第二接收模塊,用于接收用戶在所述3D模型編輯界面中對選取的所述3D模型進行修 改、刪除或增加的編輯指令;第一編輯模塊,用于根據(jù)所述編輯指令對選取的所述3D模型進行相應(yīng)編輯,并將編輯 后的3D模型作為獲取的所述待打印3D對象。
【文檔編號】G06T19/20GK105988741SQ201510052093
【公開日】2016年10月5日
【申請日】2015年1月30日
【發(fā)明人】劉美鴻, 高煒, 戴鵬, 陳易華
【申請人】深圳市億思達(dá)科技集團有限公司