欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

3d打印方法及電子設(shè)備的制造方法

文檔序號:10624531閱讀:556來源:國知局
3d打印方法及電子設(shè)備的制造方法
【專利摘要】本發(fā)明公開了一種3D打印方法及電子設(shè)備,所述方法包括:根據(jù)用戶選擇從預(yù)定應(yīng)用場景中獲取用戶所選擇的待打印3D對象;接收用戶對所述待打印3D對象的編輯請求;根據(jù)所述編輯請求顯示編輯界面;接收用戶在所述編輯界面中對獲取的待打印3D對象進(jìn)行修改、刪除或增加的編輯指令;根據(jù)所述編輯指令對獲取的所述待打印3D對象進(jìn)行相應(yīng)編輯;將編輯后的所述待打印3D對象轉(zhuǎn)變成打印文件;將所述打印文件發(fā)送至3D打印機,以使得所述3D打印機根據(jù)所述打印文件進(jìn)行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模型才能夠進(jìn)行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對象的編輯請求;根據(jù)所述編輯請求顯示編輯界面;接收用戶在所述編輯界面中對獲取的待打印3D對象進(jìn)行修改、刪除或增加的編輯指令;根據(jù)所述編輯指令對獲取的所述待打印3D對象進(jìn)行相應(yīng)編輯;將編輯后的所述待打印3D對象轉(zhuǎn)變成打印文件;將所述打印文件發(fā)送至3D打印機,以使得所述3D打印機根據(jù)所述打印文件進(jìn)行3D打印。
[0007]其中,所述根據(jù)用戶選擇從預(yù)定應(yīng)用場景中獲取用戶所選擇的待打印3D對象的步驟包括:根據(jù)用戶選擇從正在運行的3D游戲應(yīng)用中獲取對應(yīng)選定游戲場景的待打印3D 對象。
[0008]其中,所述根據(jù)用戶選擇從正在運行的3D游戲應(yīng)用中獲取對應(yīng)選定游戲場景的待打印3D對象的步驟包括:接收用戶的截屏選擇指令,以確定所述正在運行的3D游戲應(yīng)用的界面中的截屏區(qū)域;選取所述截屏區(qū)域內(nèi)所對應(yīng)選定游戲場景的3D模型,以作為獲取的所述待打印3D對象。
[0009]其中,所述選取所述截屏區(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ī)則進(jìn)行組合,進(jìn)而得到所述選定游戲場景對應(yīng)的3D模型。
[0010]其中,在所述將編輯后的所述待打印3D對象轉(zhuǎn)變成打印文件之前的步驟包括:檢測編輯后的所述3D模型中是否存在兩個以上相互獨立而無直接或間接連接的部件和/或檢測編輯后的所述3D模型中是否存在尺寸小于預(yù)定值的部件;當(dāng)所述3D模型中存在兩個以上相互獨立而無直接或間接連接的部件時,使所述兩個以上相互獨立而無直接或間接連接的部件建立連接關(guān)系或?qū)ζ渲袘铱盏牟考⒅渭?,并將建立連接關(guān)系或建立支撐架之后的3D模型作為編輯后的所述待打印3D對象;當(dāng)所述3D模型中存在尺寸小于預(yù)定值的部件時,調(diào)整所述尺寸小于預(yù)定值的部件的尺寸,以使得所述部件的尺寸大于或等于所述預(yù)定值,并將調(diào)整之后的3D模型作為編輯后的所述待打印3D對象。
[0011]其中,所述根據(jù)所述編輯指令對獲取的所述待打印3D對象進(jìn)行相應(yīng)編輯的步驟之后,包括:接收用戶選擇預(yù)置部件的選擇指令,以根據(jù)所述選擇預(yù)置部件的選擇指令獲取預(yù)置部件的選擇信息;所述將編輯后的所述待打印3D對象轉(zhuǎn)變成打印文件的步驟包括:將編輯后的所述待打印3D對象轉(zhuǎn)變成打印文件,所述打印文件包括所述預(yù)置部件的選擇信息。
[0012]為解決上述技術(shù)問題,本發(fā)明采用的另一個技術(shù)方案是:提供一種電子設(shè)備,包括:獲取模塊,用于根據(jù)用戶選擇從預(yù)定應(yīng)用場景中獲取用戶所選擇的待打印3D對象;第一接收模塊,用于接收用戶對所述待打印3D對象的編輯請求;第一顯示模塊,用于根據(jù)所述編輯請求顯示編輯界面;第二接收模塊,用于接收用戶在所述編輯界面中對獲取的待打印3D對象進(jìn)行修改、刪除或增加的編輯指令;第一編輯模塊,用于根據(jù)所述編輯指令對獲取的所述待打印3D對象進(jìn)行相應(yīng)編輯;第一處理模塊,用于將編輯后的所述待打印3D對象轉(zhuǎn)變成打印文件;發(fā)送模塊,用于將所述打印文件發(fā)送至3D打印機,以使得所述3D打印機根據(jù)所述打印文件進(jìn)行3D打印。
[0013]其中,所述獲取模塊用于根據(jù)用戶選擇從正在運行的3D游戲應(yīng)用中獲取對應(yīng)選定游戲場景的待打印3D對象。
[0014]其中,所述獲取模塊包括:接收單元,用于接收用戶的截屏選擇指令,以確定所述正在運行的3D游戲應(yīng)用的界面中的截屏區(qū)域;選取單元,用于選取所述截屏區(qū)域內(nèi)所對應(yīng)選定游戲場景的3D模型,以作為獲取的所述待打印3D對象。
[0015]其中,所述選取單元包括:第一獲取子單元,用于獲取所述截屏區(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ī)則進(jìn)行組合,進(jìn)而得到所述選定游戲場景對應(yīng)的3D模型。
[0016]其中,進(jìn)一步包括:檢測模塊,用于檢測編輯后的所述3D模型中是否存在兩個以上相互獨立而無直接或間接連接的部件和/或檢測編輯后的所述3D模型中是否存在尺寸小于預(yù)定值的部件;第二編輯模塊,用于當(dāng)所述3D模型中存在兩個以上相互獨立而無直接或間接連接的部件時,使所述兩個以上相互獨立而無直接或間接連接的部件建立連接關(guān)系或?qū)ζ渲袘铱盏牟考⒅渭?,并將建立連接關(guān)系或建立支撐架之后的3D模型作為編輯后的所述待打印3D對象;還用于當(dāng)所述3D模型中存在尺寸小于預(yù)定值的部件時,調(diào)整所述尺寸小于預(yù)定值的部件的尺寸,以使得所述部件的尺寸大于或等于所述預(yù)定值,并將調(diào)整之后的3D模型作為編輯后的所述待打印3D對象。
[0017]其中,進(jìn)一步包括:預(yù)置部件設(shè)置模塊,用于接收用戶選擇預(yù)置部件的選擇指令, 以根據(jù)所述選擇預(yù)置部件的選擇指令獲取預(yù)置部件的選擇信息;其中,第一處理模塊用于將編輯后的所述待打印3D對象轉(zhuǎn)變成打印文件,所述打印文件包括所述預(yù)置部件的選擇fg息。
[0018]本發(fā)明的有益效果是:區(qū)別于現(xiàn)有技術(shù)的情況,本發(fā)明3D打印方法中,從預(yù)定應(yīng)用場景中獲取待打印3D對象,并將待打印3D對象轉(zhuǎn)變成打印文件,以使得3D打印機根據(jù)打印文件進(jìn)行對待打印3D對象的3D打印,由此不需要在建模軟件中建立3D模型即可實現(xiàn) 3D打印,能夠方便打印出用戶喜歡/需要的現(xiàn)成3D對象、減少3D打印的時間。此外,通過向用戶提供對待打印3D對象的編輯功能,使得用戶可以根據(jù)個人喜好對待打印3D對象進(jìn)行編輯,滿足用戶的需求,能夠打印更具個性化的3D模型?!靖綀D說明】
[0019]圖1是本發(fā)明3D打印方法一實施方式的流程圖;
[0020]圖2是本發(fā)明3D打印方法一實施方式中,編輯界面的示意圖;
[0021]圖3是本發(fā)明3D打印方法一實施方式中,在正在運行的3D游戲應(yīng)用的界面中顯示截屏懸浮窗操作界面的示意圖;
[0022]圖4是本發(fā)明3D打印方法一實施方式中,用戶截屏選擇游戲場景后的界面的示意圖;
[0023]圖5是本發(fā)明3D打印方法一實施方式中,選取截屏區(qū)域內(nèi)所對應(yīng)選定游戲場景的 3D模型的流程圖;
[0024]圖6是本發(fā)明電子設(shè)備一實施方式的結(jié)構(gòu)示意圖。【具體實施方式】
[0025]下面將結(jié)合附圖和【具體實施方式】對本發(fā)明進(jìn)行詳細(xì)說明。
[0026]參閱圖1,本發(fā)明3D打印方法一實施方式中,包括如下步驟:
[0027]步驟S101:根據(jù)用戶選擇從預(yù)定應(yīng)用場景中獲取用戶所選擇的待打印3D對象。
[0028]其中,預(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)用場景中的某一場景進(jìn)行3D打印時,用戶可在3D 應(yīng)用場景中選擇需要進(jìn)行3D打印的3D對象,所述3D對象即是指3D應(yīng)用場景中的各種元素,計算機根據(jù)用戶選擇獲取用戶所選擇的待打印3D對象,該獲取的待打印3D對象即為用以實現(xiàn)3D打印的3D模型。
[0029]當(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)用場景,進(jìn)而得到待打印3D對象。
[0030]步驟S102:接收用戶對待打印3D對象的編輯請求。
[0031]當(dāng)用戶在預(yù)定應(yīng)用場景中選擇并確認(rèn)其所需要打印的3D對象后,可通過點擊預(yù)定應(yīng)用場景的界面中的“編輯”按鈕來發(fā)出編輯請求。
[0032]步驟S103:根據(jù)編輯請求顯示編輯界面。
[0033]計算機在接收到用戶的編輯請求后,從當(dāng)前預(yù)定應(yīng)用場景的界面中跳轉(zhuǎn)至編輯界面,以對用戶顯示編輯界面。當(dāng)然,也可以不跳出當(dāng)前預(yù)定應(yīng)用場景的界面,而是在預(yù)定應(yīng)用場景的界面上以彈窗方式顯示編輯界面。
[0034]步驟S104:接收用戶在編輯界面中對待打印3D對象進(jìn)行修改、刪除或增加的編輯指令。
[0035]其中,如圖2所示的編輯界面中,提供用戶各種編輯工具,例如顏色修改、線條選擇、增加文字、增加3D部件等工具。用戶可在編輯界面中對其所選擇的待打印3D對象進(jìn)行編輯,例如可對3D對象的部件進(jìn)行顏色、尺寸、材質(zhì)、光照等校正與修復(fù)或修改處理,也可以將某部件進(jìn)行刪除,或者增加某一部件至待打印3D對象中,還可以在待打印3D對象中增加文字說明或個性簽名等。此外,在編輯界面中還提供各種3D模型部件,用戶可根據(jù)需要選擇一種或多種3D模型部件至所獲取的待打印3D對象中以合并為一個需要打印的3D對象,還可以從本地存儲器中選擇一個或多個3D模型添加至所待打印3D對象中以合并為一個需要打印的3D對象。
[0036]此外,還可以除去地板、水面等不需求或者失真的場景,或?qū)δ承┎考M(jìn)行特效處理,還可以選擇將懸空的部件刪除。
[0037]步驟S105:根據(jù)編輯指令對獲取的待打印3D對象進(jìn)行相應(yīng)編輯。
[0038]編輯指令即是指用戶在編輯界面中輸入的上述編輯操作指令,根據(jù)用戶的編輯指令對待打印3D對象進(jìn)行相應(yīng)編輯。
[0039]用戶在完成編輯后,可點擊編輯界面中的完成編輯的按鈕以發(fā)出編輯完成的確認(rèn)指令。
[0040]步驟S106:將編輯后的待打印3D對象轉(zhuǎn)變成打印文件。
[0041]在接收到用戶的完成編輯的確認(rèn)指令后,將編輯后的待打印3D對象轉(zhuǎn)變成打印文件。具體地,將需要打印的3D對象進(jìn)行切片處理以獲取3D對象的每一層截面信息,并將這些截面信息進(jìn)行記錄即得到打印文件。打印文件為記錄3D對象的截面信息的文件,也是實現(xiàn)計算機和3D打印機之間協(xié)作的文件。
[0042]步驟S107:將打印文件發(fā)送至3D打印機,以使得3D打印機根據(jù)打印文件進(jìn)行3D 打印。
[0043]其中,計算機和3D打印機之間可通過有線連接方式實現(xiàn)打印文件的傳輸,或者也可以通過無線方式例如藍(lán)牙、WIFI等方式實現(xiàn)打印文件的傳輸。打印文件中記錄有3D對象的每一層截面信息,3D打印機根據(jù)打印文件中所記錄的3D對象的截面信息進(jìn)行逐層打印, 從而打印得到實體3D模型。
[0044]由于3D應(yīng)用場景為利用3D模型來形成,因此本實施方式中,可以通過直接獲取3D 應(yīng)用場景對應(yīng)的3D模型來實現(xiàn)3D打印,而不需要在三維建模軟件中重新構(gòu)思、構(gòu)建3D應(yīng)用場景對應(yīng)的3D模型,由此可減少3D打印時間,降低3D打印難度。此外,通過提供對所獲取的待打印3D對象的二次編輯功能,可以滿足更多用戶的不同需求。
[0045]在其他實施方式中,還可以通過向用戶發(fā)出詢問的方式來觸發(fā)二次編輯功能。例如,在接收到用戶對其所選擇的待打印3D對象的確認(rèn)指令后,可彈出一對話框,對話框內(nèi)容可以顯示“是否需要對3D對象進(jìn)行編輯”,并提供“是”、“否”兩個選項。當(dāng)用戶選擇對 “是”選項時則顯示編輯界面;當(dāng)用戶選擇“否”選項時則不對3D對象進(jìn)行編輯,而是直接將待打印3D對象轉(zhuǎn)變?yōu)榇蛴∥募l(fā)送給3D打印機進(jìn)行3D打印。
[0046]在本發(fā)明3D打印方法的一實施方式中,預(yù)定應(yīng)用場景為3D游戲應(yīng)用場景,當(dāng)然, 本領(lǐng)域技術(shù)人員完全可以理解,本發(fā)明的3D打印方法也可以應(yīng)用于其他的應(yīng)用場景,例如 3D影視動畫場景。
[0047]用戶在玩游戲過程中,除了得到游戲本身趣味性的享受和視覺上的享受外,更多用戶希望可以對喜愛的游戲場景、角色或者與隊友合影的畫面進(jìn)行紀(jì)念保存,通過本實施方式,可以滿足用戶的需求。
[0048]其中,本實施方式中,根據(jù)用戶選擇從預(yù)定應(yīng)用場景中獲取用戶所選擇的待打印 3D對象的步驟包括:根據(jù)用戶選擇從正在運行的3D游戲應(yīng)用中獲取對應(yīng)選定游戲場景的待打印3D對象,其中,接收用戶的截屏選擇指令,以確定正在運行的3D游戲應(yīng)用的界面中的截屏區(qū)域;選取截屏區(qū)域內(nèi)所對應(yīng)選定游戲場景的3D模型,以作為獲取的待打印3D對象。
[0049]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)游戲場景進(jìn)行3D打印。
[0050]本實施方式中,用戶可通過截屏方式選擇其所需要打印的3D模型。其中,本發(fā)明 3D打印方法可通過安裝于計算機上的3D打印應(yīng)用來實現(xiàn)。當(dāng)用戶希望在進(jìn)行3D游戲應(yīng)用時將其所喜歡的某一游戲場景進(jìn)行3D打印時,只需啟動該3D打印應(yīng)用即可。具體而言, 在啟動3D游戲應(yīng)用之前,可先啟動該3D打印應(yīng)用。由此,在檢測到用戶啟動3D游戲應(yīng)用后,在3D游戲應(yīng)用的界面上顯示截屏懸浮窗操作界面,如圖3所示,在正在運行的3D游戲應(yīng)用的界面301的右上角,顯示截屏懸浮窗操作界面302。或者,用戶也可以不事先啟動3D 游戲應(yīng)用,只需在計算機上預(yù)先安裝該3D打印應(yīng)用即可,在此情況下,計算機檢測到用戶啟動3D游戲應(yīng)用后,即自動激活該3D打印應(yīng)用,并在3D游戲應(yīng)用的界面301上顯示截屏懸浮窗操作界面302。
[0051]其中,所述截屏懸浮窗操作界面302為置頂顯示在3D游戲應(yīng)用的界面301中,截屏懸浮窗操作界面302中包括截屏按鈕等各種功能按鈕,其中圖3中僅是示意性地示出部分功能按鈕,并非是作為本發(fā)明的限制。當(dāng)用戶在游戲過程中,當(dāng)需要對當(dāng)前游戲界面顯示的游戲場景進(jìn)行3D打印時,可以通過點擊截屏懸浮窗操作界面302中的截屏按鈕以觸發(fā)當(dāng)前游戲界面進(jìn)入截屏模式,進(jìn)而用戶可進(jìn)行截屏操作。在截屏模式下,當(dāng)前游戲界面將停留在點擊截屏按鈕時的游戲界面,從而用戶可以利用鼠標(biāo)或通過手指滑動來選擇當(dāng)前游戲界面中需要打印的游戲場景、對象。當(dāng)用戶選擇當(dāng)前游戲界面中某一游戲場景或?qū)ο蠛螅赏ㄟ^點擊確認(rèn)按鈕來發(fā)出完成截屏選擇的指令,如圖4所示,虛線框中的場景元素表示用戶所選擇的游戲場景,在用戶完成截屏操作后,可在截屏區(qū)域旁邊顯示“確認(rèn)”和“重新選擇”的按鈕,當(dāng)用戶點擊“確認(rèn)”時則表示選擇完成,當(dāng)用戶點擊“重新選擇”時則取消當(dāng)前被選擇的游戲場景的被選中狀態(tài),用戶可重新進(jìn)行截屏選擇。截屏選擇指令包括了點擊截屏按鈕的操作指令、用戶選擇當(dāng)前游戲界面中的游戲場景的選擇指令以及確認(rèn)其所選擇的游戲場景的確認(rèn)指令。在接收到用戶的截屏選擇指令后,根據(jù)用戶的截屏選擇指令,確定正在運行的3D游戲應(yīng)用的界面中的截屏區(qū)域,即用戶所選定的需進(jìn)行3D打印的游戲場景所在的區(qū)域。截屏區(qū)域可以默認(rèn)為是整個游戲界面,當(dāng)然,也可以是比較小的界面,比如用戶所操縱的主角為中心的小范圍界面。
[0052]在確定截屏區(qū)域后,選取截屏區(qū)域內(nèi)所對應(yīng)選定游戲場景的3D模型,以作為獲取的待打印3D對象。其中,所對應(yīng)選定游戲場景的3D模型是指在確定截屏區(qū)域后,對截屏區(qū)域內(nèi)的游戲場景進(jìn)行自動篩選,以從截屏區(qū)域內(nèi)的游戲場景中選擇預(yù)定場景,并獲取的該預(yù)定場景所對應(yīng)的3D模型。例如,可以設(shè)定為僅是針對人物角色進(jìn)行3D打印,在確定截屏區(qū)域后,從截屏區(qū)域內(nèi)的游戲場景中選定人物角色,并獲取對應(yīng)該選定的人物角色的3D模型,以作為待打印3D對象。
[0053]當(dāng)然,其他實施方式中,所對應(yīng)選定游戲場景的3D模型也可以是截屏區(qū)域內(nèi)的所有游戲場景對應(yīng)的3D模型,即將選取的截屏區(qū)域內(nèi)的所有游戲場景對應(yīng)的3D模型作為獲取的待打印3D對象。
[0054]其中,可在截屏懸浮窗操作界面302中設(shè)置編輯按鈕,當(dāng)用戶完成截屏操作后,可通過點擊截屏懸浮窗操作界面302中的編輯按鈕來發(fā)出對其所選擇的游戲場景對應(yīng)的3D 模型的編輯請求,從而根據(jù)編輯請求顯示編輯界面以實現(xiàn)用戶對選取的3D模型的編輯。
[0055]復(fù)雜的游戲場景通常由多幀游戲場景組成,本實施方式中,通過獲取組成選定游戲場景的多幀游戲場景的相關(guān)數(shù)據(jù)以獲取選定游戲場景對應(yīng)的3D模型。具體地,在接收到用戶的截屏選擇指令以確定截屏區(qū)域后,參閱圖5,選取截屏區(qū)域內(nèi)所對應(yīng)選定游戲場景的 3D模型包括以下步驟:
[0056]步驟S501:獲取截屏區(qū)域內(nèi)組成選定游戲場景的每幀游戲場景對應(yīng)的單一模型的頂點坐標(biāo)數(shù)據(jù)、紋理數(shù)據(jù)以及變換矩陣數(shù)據(jù)。
[0057]其中,游戲在渲染每一幀圖像時,通過繪制頂點數(shù)組中的頂點來繪制模型。獲取頂點坐標(biāo)數(shù)據(jù)的步驟為:通過對傳入的頂點數(shù)組進(jìn)行追蹤,得到頂點數(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ù)進(jìn)行設(shè)置。因此,本實施方式中,通過對四個參數(shù)的相關(guān)設(shè)置函數(shù)進(jìn)行追蹤,以獲取場景中攝像頭位置矩陣、旋轉(zhuǎn)角度矩陣、方位矩陣、光照矩陣,并按照如下方法得到模型的變換矩陣數(shù)據(jù):
[0059]光照矩陣x攝像機位置矩陣x方位矩陣x旋轉(zhuǎn)角度矩陣=變換矩陣
[0060]此外,游戲場景的繪制中,使用紋理加載圖片。本實施方式中,紋理數(shù)據(jù)包括紋理坐標(biāo)以及紋理圖片。
[0061]其中,獲取紋理坐標(biāo)的具體步驟為:通過對傳入的紋理數(shù)組進(jìn)行追蹤,得到紋理數(shù)組的指針、繪制類型和數(shù)據(jù)保存類型等參數(shù),并根據(jù)這些參數(shù)以及紋理的個數(shù),計算紋理數(shù)組的大小。通過讀取紋理數(shù)組的指針以及紋理數(shù)組的大小,獲取并保存紋理坐標(biāo)。
[0062]其中,獲取紋理圖片的具體步驟為:對紋理加載過程進(jìn)行追蹤,記錄并保存紋理的 ID、加載的紋理圖片、圖片分辨率以及圖片格式等參數(shù)。由此,根據(jù)紋理ID找到圖片數(shù)據(jù), 并通過圖片分辨率以及圖片格式計算圖片緩存的大小,并進(jìn)行保存,由此得到紋理圖片。
[0063]步驟S502:利用頂點坐標(biāo)數(shù)據(jù)、紋理數(shù)據(jù)以及變換矩陣數(shù)據(jù)獲取每幀游戲場景對應(yīng)的單一模型。
[0064]其中,利用公式:頂點坐標(biāo)數(shù)據(jù)x變換矩陣數(shù)據(jù),即可得到每幀游戲場景的模型框架,然后通過將模型框架和紋理數(shù)據(jù)按照通用的3D模型文件格式進(jìn)行打包并保存,由此可得到每幀游戲場景對應(yīng)的單一模型。
[0065]步驟S503:將組成選定游戲場景的所有幀游戲場景分別對應(yīng)的單一模型按照預(yù)定規(guī)則進(jìn)行組合,進(jìn)而得到選定游戲場景對應(yīng)的3D模型。
[0066]在獲得每幀游戲場景對應(yīng)的單一模型后,將每幀游戲場景對應(yīng)的單一模型進(jìn)行組合從而得到截屏區(qū)域內(nèi)對應(yīng)選定游戲場景的3D模型。其中,可以根據(jù)現(xiàn)有的游戲場景在繪制過程中使用的組合方法,將得到的多個單一模型進(jìn)行組合以得到選定游戲場景對應(yīng)的3D 模型。
[0067]通過上述方式,用戶可以在游戲進(jìn)行的任意時刻對顯示的游戲場景進(jìn)行截屏,從而根據(jù)用戶的截屏操作獲取截屏區(qū)域內(nèi)的選定游戲場景的數(shù)據(jù)信息,如上所述的頂點坐標(biāo)數(shù)據(jù)、紋理數(shù)據(jù)以及變換矩陣數(shù)據(jù)等,進(jìn)而根據(jù)這些數(shù)據(jù)信息可獲得選定游戲場景對應(yīng)的 3D模型。
[0068]當(dāng)然,在其他實施方式中,也可以通過獲取選定游戲場景的目標(biāo)文件的文件編碼, 即索引結(jié)構(gòu)來獲取相應(yīng)的3D模型。此外,在其他實施方式中,還可以通過物理按鍵來進(jìn)行截屏操作,例如對于個人計算機,可以通過按下指定的鍵盤按鍵進(jìn)行截屏,或者,對于移動終端如手機、平板電腦等設(shè)備,可以通過同時按下鎖屏鍵和音量鍵實現(xiàn)截屏操作。
[0069]在本發(fā)明3D打印方法的又一實施方式中,進(jìn)一步地,在接收到用戶在正在運行的 3D游戲應(yīng)用的界面中的截屏選擇指令,并確定正在運行的3D游戲應(yīng)用的界面中的截屏區(qū)域后,不跳出正在運行的3D游戲應(yīng)用的界面,即保持正在運行的3D游戲應(yīng)用的界面為當(dāng)前顯示界面,并使在截屏區(qū)域之外的界面其他區(qū)域保持正常的3D游戲應(yīng)用運行更新顯示,而截屏區(qū)域之內(nèi)則顯示用戶所選擇的游戲場景。
[0070]此外,在接收到用戶在正在運行的3D游戲應(yīng)用的界面中的截屏選擇指令時,根據(jù)用戶的截屏選擇指令在界面中框選用戶所選定的截屏區(qū)域,并使截屏區(qū)域的亮度大于截屏區(qū)域之外的界面其他區(qū)域的亮度,并保持界面其他區(qū)域正常的對3D游戲應(yīng)用的操作處理。
[0071]在本發(fā)明3D打印方法的又一實施方式中,進(jìn)一步地,用戶還可以選擇將其所選擇的游戲場景與其他玩家共享。例如當(dāng)用戶所選擇的游戲場景為:用戶在游戲中的人物角色與其他游戲玩家的人物角色在某一時刻下的攻擊姿勢,或者用戶的人物角色與其他游戲玩家的人物角色的合影。為使得游戲各方對打印的3D模型都較為滿意,可將待打印3D對象發(fā)送給其他玩家以進(jìn)行確認(rèn)。
[0072]具體地,本實施方式中,3D游戲應(yīng)用為在線交互應(yīng)用。在確定截屏區(qū)域并從截屏區(qū)域中選取待打印的3D模型后,將截屏區(qū)域和3D模型的3D預(yù)覽圖共享給3D游戲應(yīng)用的另一交互方或多個交互方。其中,用戶在選擇截屏區(qū)域后,可通過截屏懸浮窗操作界面302 中的共享按鈕發(fā)出共享請求,從而根據(jù)用戶的共享請求將截屏區(qū)域和獲取的3D模型的3D預(yù)覽圖共享給用戶所選擇的另一交互方或多個交互方?;蛘?,也可以是在接收到用戶的截屏選擇指令并從截屏區(qū)域中選取對應(yīng)選定游戲場景才3D模型后,自動將截屏區(qū)域和3D模型的3D預(yù)覽圖共享給其他交互方。其中,共享的方式,例如可以是將截屏區(qū)域以及3D模型的3D預(yù)覽圖在當(dāng)前交互的3D游戲應(yīng)用的界面上對其他交互方進(jìn)行顯示,也可以是將截屏區(qū)域以及3D模型的3D預(yù)覽圖發(fā)送給其他交互方,以在其他交互方的顯示界面上進(jìn)行顯示。 由此,可使得其他交互方獲知用戶所選擇的需要打印的3D對象,從而可以進(jìn)行確認(rèn)或給出意見等。
[0073]在在接收到其他交互方對3D模型的預(yù)覽圖的確認(rèn)指令后,執(zhí)行接收用戶對待打印3D對象的編輯請求的步驟。或者,不需要接收其他交互方對3D模型的預(yù)覽圖的確認(rèn)指令,而是將截屏區(qū)域和3D模型的3D預(yù)覽圖共享給其他交互方后即執(zhí)行接收用戶對待打印 3D對象的編輯請求的步驟。
[0074]另外,還可以將編輯界面及編輯中或編輯后的3D模型的3D預(yù)覽圖共享給3D游戲應(yīng)用的其他交互方。其中,在顯示編輯界面后,用戶可通過點擊編輯界面中的共享按鈕發(fā)出共享請求,由此根據(jù)該共享請求將編輯界面和編輯中或編輯后的3D模型的3D預(yù)覽圖共享給3D游戲應(yīng)用的其他交互方,以使得其他交互方可觀看到用戶對3D模型的編輯,以及編輯后的3D模型的3D預(yù)覽圖。
[0075]此外,用戶也可以將對3D模型的編輯權(quán)授權(quán)給其他交互方,其他交互方可在共享的編輯界面中輸入對3D模型的修改、刪除或增加的編輯指令。通過接收其他交互方的編輯指令,對3D模型進(jìn)行相應(yīng)編輯,并將編輯后的3D模型作為獲取的待打印3D對象。
[0076]在交互的3D游戲應(yīng)用中,每個用戶都有其相應(yīng)的可操縱元素,這些元素例如是人物角色、道具、攻擊動作等,而每個用戶在游戲中也僅能夠操縱其個人的元素,而不能操縱其他交互方的元素。在進(jìn)行3D打印過程中,為了取得更符合心意的3D模型,在某些情況下用戶可能希望其他交互方的元素能夠做出特定的動作或移動到指定位置再做出特定動作等,這就需要其他交互方能夠獲知用戶的意圖而按照用戶意圖操縱其元素做出特定動作或移動到特定位置等。
[0077]為此,在本發(fā)明3D打印方法的又一實施方式中,提出一種交互式的截屏操作方法,從而通過當(dāng)前用戶與正在運行的3D游戲應(yīng)用的另一交互方之間的交互,以取得雙方滿意的待打印的游戲場景。具體地,3D游戲應(yīng)用為交互應(yīng)用,在根據(jù)用戶選擇從預(yù)定應(yīng)用場景中獲取用戶所選擇的待打印3D對象的步驟之前,即在接收用戶的截屏選擇指令之前,從正在運行的3D游戲應(yīng)用的界面中接收當(dāng)前用戶對另一交互方所操縱元素的操縱請求。
[0078]其中,在用戶點擊截屏懸浮窗操作界面302上的截屏按鈕進(jìn)行截屏操作之前,可通過點擊截屏懸浮窗操作界面302中的操縱對方元素的請求按鈕以發(fā)出對另一交互方所操縱元素的操縱請求。其中,在點擊該請求按鈕以觸發(fā)請求后,用戶需選中另一交互方所操縱的元素,并輸入相應(yīng)的操縱指令,例如使其所選中的元素移動至指定位置的操縱指令,或者使其所選中的元素做出指定動作的操縱指令。因此,該操縱請求包括了用戶對另一交互方所操縱元素的選中指令、對所選中的另一交互方的元素做出的操縱指令以及請求另一交互方將其所操縱元素的操縱權(quán)限開放給用戶的請求信息。在接收到用戶的操縱請求后,將所述的請求信息發(fā)送給另一交互方,并接收另一交互方對該請求信息的響應(yīng)動作。當(dāng)接收到另一交互方對該請求信息的允許指令后,根據(jù)用戶的操縱請求中的選中指令以及操縱指令,實施對用戶所選中的另一交互方所操縱元素的操縱。
[0079]為方便、精確打印出用戶最想要的操縱元素的姿勢、狀態(tài)或游戲場景的特點狀態(tài), 可以設(shè)置“慢動作”功能,用戶啟用此功能后,操縱元素或游戲進(jìn)度將會以一個容易被用戶定格的速度演變,甚至還可以倒退,直到操縱元素或游戲進(jìn)度到達(dá)了某個用戶想要的時刻或狀態(tài)。
[0080]在完成對另一交互方的元素的操縱后,接收用戶的截屏選擇指令,以確定包括操縱后的另一交互方的元素在內(nèi)的界面中的截屏區(qū)域,并選取截屏區(qū)域內(nèi)所對應(yīng)選定游戲場景的3D模型,從而獲得待3D打印對象,進(jìn)而實現(xiàn)3D打印。
[0081]或者,在另一實施方式中,所述操縱請求可以是包括用戶對另一交互方所操縱元素的選中指令以及對所選中的另一交互方的元素做出的操縱指令。在接收到用戶的操縱請求后,根據(jù)該操縱請求在正在運行的3D游戲應(yīng)用的界面中向另一交互方演示對用戶所選中的元素的操縱,以使得另一交互方按照該演示對其所操縱的且為用戶所選中的元素進(jìn)行操縱,以得到符合用戶心意的游戲場景,由此用戶可進(jìn)行截屏操作,以對其選定的游戲場景對應(yīng)的3D模型進(jìn)行3D打印。
[0082]當(dāng)然,在編輯界面中,也可以實現(xiàn)上述的交互式編輯,即在用戶完成對3D模型的編輯后,可以選擇將完成編輯的3D模型在正在運行的3D游戲應(yīng)用的界面上向另一交互方進(jìn)行演示,并接收另一交互方對演示的3D模型的確認(rèn)指令,在接收到另一交互方的確認(rèn)指令后執(zhí)行將編輯后的3D模型轉(zhuǎn)變成打印文件的步驟。
[0083]在本發(fā)明3D打印方法的又一實施方式中,用戶還可以對其所選擇的游戲場景對應(yīng)的3D模型進(jìn)行預(yù)置部件的打印設(shè)置。預(yù)置部件是指額外設(shè)置在3D模型中的其他部件, 用于在完成3D模型的3D打印后或打印前放置在打印得到的實體3D模型中的部件。預(yù)置部件可以是非3D打印部件,也可以是3D打印部件。
[0084]具體地,可以在截屏懸浮窗操作界面302或3D模型的編輯界面提供預(yù)置部件選擇按鈕。在根據(jù)編輯指令對獲取的待打印3D對象進(jìn)行相應(yīng)編輯之后,通過預(yù)置部件選擇按鈕接收用戶對預(yù)置部件的設(shè)置請求。其中,用戶在完成對作為待打印3D對象的3D模型的編輯后,可點擊截屏懸浮窗操作界面302的預(yù)置部件選擇按鈕發(fā)出預(yù)置部件的設(shè)置請求。
[0085]其中,在接收到用戶的預(yù)置部件設(shè)置請求后,顯示自定義打印設(shè)置窗口。在自定義打印設(shè)置窗口中提供多種預(yù)置部件,用戶可選擇其中一種或多種進(jìn)行設(shè)置。具體地,接收用戶在自定義打印設(shè)置窗口中選擇預(yù)置部件的選擇指令。其中,該選預(yù)置部件的選擇指令包括用戶選擇預(yù)置部件類型(例如預(yù)置部件為小紅旗、氣球等)的選擇指令,以及在自定義打印設(shè)置窗口中對編輯后的3D模型或其部分部件進(jìn)行選中或?qū)?D模型之外的預(yù)定位置的選中的選擇指令,以根據(jù)用戶選擇預(yù)置部件類型的選擇指令確定用戶所選擇的預(yù)置部件的類型,以及根據(jù)用戶對編輯后的3D模型或其部分部件進(jìn)行選中或?qū)?D模型之外的預(yù)定位置的選中的選擇指令確定預(yù)置部件在3D模型中放置的位置,進(jìn)而得到預(yù)置部件的選擇信息。
[0086]接收到用戶的選擇預(yù)置部件的選擇指令后,接收用戶對其所選擇的預(yù)置部件的確認(rèn)指令,并根據(jù)該確認(rèn)指令將編輯后的3D模型轉(zhuǎn)變成打印文件,其中打印文件包括預(yù)置部件的選擇信息,以使得3D打印機在根據(jù)打印文件進(jìn)行3D打印時,根據(jù)預(yù)置部件的選擇信息選擇不對3D模型中用于放置預(yù)置部件的位置的部分進(jìn)行3D打印。
[0087]具體地,在將編輯后的3D模型轉(zhuǎn)變成打印文件的步驟中,在用戶對所編輯后的3D模型或其部分部件進(jìn)行選中的情況下,將被選中的3D模型或其部分部件作為預(yù)置部件替換部分,將除被選中的3D模型或其部分部件之外的其他3D模型部分作為最終需打印的3D 對象,并將最終需打印的3D對象轉(zhuǎn)變成打印文件,并且在最終需打印的3D對象與預(yù)置部件連接處進(jìn)行方便連接、固定預(yù)置部件的設(shè)計。其中,打印文件中包括在最終需打印的3D對象與預(yù)置部件連接處進(jìn)行的方便連接、固定預(yù)置部件的設(shè)計的信息。由此,在3D打印機根據(jù)該打印文件打印得到的實體3D模型中,可以將預(yù)置部件固定在實體3D模型中。
[0088]舉例而言,假設(shè)用戶選擇的預(yù)置部件為帶旗桿的紅旗。用戶將其所選擇的游戲場景對應(yīng)的3D模型中的某一塊草地進(jìn)行選中,由此根據(jù)用戶的選中操作確定了用戶所選擇的紅旗所放置的位置,即被選中的草地所在的位置。在生成打印文件時,將3D模型中除被選中的草地之外的其他3D模型作為最終需打印的3D模型,即不對被選中的草地進(jìn)行3D打印,以使得在打印得到的實體3D模型中,被選擇的草地所在的位置為留空。將最終需打印的3D模型轉(zhuǎn)變成打印文件。其中,在最終需打印的3D對象與預(yù)置部件連接處進(jìn)行方便、固定預(yù)置部件的設(shè)計為:使被選中的草地所在的位置設(shè)計為與紅旗的旗桿的大小和形狀相匹配的孔洞,打印文件中包括了使被選中的草地所在的位置與紅旗的旗桿的形狀和大小相匹配的信息,由此在3D打印機根據(jù)該打印文件進(jìn)行3D打印得到實體3D模型后,可以將與用戶所選擇的紅旗對應(yīng)的實體紅旗插入并固定在實體3D模型中被選中的草地所在的位置的孔洞中。
[0089]在用戶對編輯后的3D模型之外的預(yù)定位置進(jìn)行選中的情況下,根據(jù)用戶的選中操作,將編輯后的3D模型作為最終需打印的3D對象,并將最終需打印的3D對象轉(zhuǎn)變成打印文件,并且在最終需打印的3D對象的所述預(yù)定位置進(jìn)行方便連接、固定預(yù)置部件的設(shè)計。其中,打印文件中包括在最終需打印的3D對象的預(yù)定位置進(jìn)行的方便連接、固定預(yù)置部件的設(shè)計的信息。
[0090]通過上述方式,用戶可以選擇所喜歡的預(yù)置部件放置在待打印3D對象中,以獲得更具個性化的實體3D模型。并且,通過在最終需打印的3D對象中進(jìn)行方便連接、固定預(yù)置部件的設(shè)計,由此可使得預(yù)置部件與打印得到的實體3D模型更完美結(jié)合,有利于實體3D模型更美觀。
[0091]當(dāng)然,在其他實施方式中,也可以直接在編輯界面中對設(shè)置預(yù)置部件,而不需要額外顯示自定義打印設(shè)置窗口,并且,用戶也可以在對3D模型進(jìn)行編輯之前,對3D模型進(jìn)行預(yù)置部件的設(shè)置。
[0092]在本發(fā)明3D打印方法的又一實施方式中,還可以對3D模型的打印品質(zhì)或打印效果進(jìn)行設(shè)置。其中,打印品質(zhì)類型或打印效果類型的選擇功能可以在編輯界面中實現(xiàn),也可以在自定義打印設(shè)置窗口中實現(xiàn),還可以是在截屏模式下實現(xiàn)。打印品質(zhì)類型包括分辨率類型,分辨率越高打印出來的實體3D模型越精致;打印效果類型包括打印的尺寸類型,選擇的打印尺寸越大打印出來的實體3D模型越大,用戶可選擇不同的分辨率和不同尺寸對 3D模型進(jìn)行3D打印。
[0093]本實施方式中,在將待打印3D對象轉(zhuǎn)變成打印文件之前,接收用戶選擇打印品質(zhì)類型或打印效果類型的選擇信息。其中,用戶可通過點擊3D模型編輯界面或截屏懸浮窗操作界面中的分辨率選擇按鈕和打印尺寸選擇按鈕選擇分辨率類型和打印尺寸類型,從而根據(jù)用戶的選擇得到打印品質(zhì)類型或打印效果類型的選擇信息。進(jìn)一步地,用戶在選擇分辨率類型和打印尺寸類型時,向用戶顯示其所選擇的分辨率類型和打印尺寸類型對應(yīng)的預(yù)覽效果圖。用戶可參考預(yù)覽效果圖選擇其所需的分辨率或打印尺寸。
[0094]其中,在將待打印3D對象轉(zhuǎn)變?yōu)榇蛴∥募r,打印文件中包括用戶所選擇的打印品質(zhì)類型或打印效果類型的選擇信息,以使得3D打印機根據(jù)打印文件打印出符合要求的實體3D模型。
[0095]在本發(fā)明3D打印方法的又一實施方式中,在將編輯后的待打印3D對象轉(zhuǎn)變成打印文件之前,所述方法進(jìn)一步包括:檢測編輯后的3D模型中是否存在兩個以上相互獨立而無直接或間接聯(lián)系的部件;當(dāng)選取的3D模型中存在兩個以上相互獨立而無直接或間接聯(lián)系的部件時,使兩個以上相互獨立而無直接或間接聯(lián)系的部件建立連接關(guān)系,并將建立連接關(guān)系之后的3D模型作為編輯后的待打印3D對象。其中,上述步驟可以是在接收到用戶對其所做的編輯的確認(rèn)指令后執(zhí)行。
[0096]由于3D打印技術(shù)中難以實現(xiàn)懸空部件的打印,因此,本實施方式中,在打印之前對3D模型的可打印性進(jìn)行檢測,以檢測所選取的3D模型是否符合打印要求,并在不符合打印要求時對3D模型自動進(jìn)行修改。其中,當(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模型中的相互獨立的兩個部件分別進(jìn)行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模型不符合打印要求,此時可以對尺寸較小的部件進(jìn)行自動加固或增強處理,以增大該部件的尺寸,使得該部件的尺寸滿足打印要求,并將調(diào)整后的3D模型作為編輯后的待打印3D對象,以將待打印3D對象轉(zhuǎn)變?yōu)榇蛴∥募l(fā)送給3D打印機,實現(xiàn)3D打印。通過上述方式,可以提高實體3D模型的可靠性。 或者,還可以對尺寸小于預(yù)定值的部件進(jìn)行特殊標(biāo)記,以提醒用戶該部件為易破碎部件。
[0103] 此外,也可以在編輯界面中提供檢測按鈕,用戶可通過該檢測按鈕來自主選擇是否對3D模型進(jìn)行可打印性檢測。
[0104] 在本發(fā)明3D打印方法的又一實施方式中,在將打印文件發(fā)送給3D打印機后,還可以顯示打印進(jìn)度示意圖。其中,打印進(jìn)度示意圖的形狀可以和需要打印的3D模型的形狀相同或者為需要打印的3D模型的簡化形狀,例如可以是3D模型的外輪廓縮小圖,從而可以更直觀地顯示目前打印進(jìn)度。并且,在打印進(jìn)度示意圖中,表示未打印部分和表示已打印部分采用不同的標(biāo)記,例如表示已打印部分采用紅色標(biāo)記,表示未打印部分采用綠色標(biāo)記;或者表示已打印部分的圖形線條加粗處理。
[0105]其中,顯示打印進(jìn)度示意圖的步驟還包括:顯示打印進(jìn)度百分比。
[0106]其中,顯示打印進(jìn)度示意圖的步驟還包括:從至少兩個視圖方向分別顯示打印進(jìn)度示意圖,即顯示兩個打印進(jìn)度示意圖,該兩個打印進(jìn)度示意圖分別為不同視角的3D模型的簡化形狀示意圖。
[0107]參閱圖6,本發(fā)明電子設(shè)備一實施方式中,電子設(shè)備包括獲取模塊601、第一接收模塊602、第一顯示模塊603、第二接收模塊604、第一編輯模塊605、第一處理模塊606以及發(fā)送模塊607。其中,獲取模塊601用于根據(jù)用戶選擇從預(yù)定應(yīng)用場景中獲取用戶所選擇的待打印3D對象;第一接收模塊602用于接收用戶對待打印3D對象的編輯請求;第一顯示模塊603用于根據(jù)編輯請求顯示編輯界面;第二接收模塊604用于接收用戶在編輯界面中對獲取的待打印3D對象進(jìn)行修改、刪除或增加的編輯指令;第一編輯模塊605用于根據(jù)編輯指令對獲取的待打印3D對象進(jìn)行相應(yīng)編輯;第一處理模塊606用于將編輯后的待打印3D 對象轉(zhuǎn)變成打印文件;發(fā)送模塊607用于將打印文件發(fā)送至3D打印機,以使得3D打印機根據(jù)打印文件進(jìn)行3D打印。
[0108]其中,電子設(shè)備例如是個人計算機、移動終端、平板電腦等,其與3D打印機通過有線或無線等方式連接,或者還可以是與3D打印機沒有連接,而是通過將打印文件拷貝至3D 打印機的方式實現(xiàn)3D打印機的3D打印。
[0109] 此外,本實施方式中,電子設(shè)備進(jìn)一步包括檢測模塊608、第二編輯模塊609、共享模塊701、第二處理模塊702、預(yù)置部件設(shè)置模塊703、打印設(shè)置模塊704以及第二顯示模塊 705〇
[0110] 在本實施方式中,預(yù)定應(yīng)用場景是3D游戲應(yīng)用場景,獲取模塊601具體用于根據(jù)用戶選擇從正在運行的3D游戲應(yīng)用中獲取對應(yīng)選定游戲場景的待打印3D對象。當(dāng)然,在其他實施方式中,預(yù)定應(yīng)用場景也可以是3D影視場景等其他3D應(yīng)用場景。
[0111] 進(jìn)一步地,獲取模塊601包括接收單元6011和選取單元6012。接收單元6011用于接收用戶的截屏選擇指令,以確定正在運行的3D游戲應(yīng)用的界面中的截屏區(qū)域;選取單元6012用于選取截屏區(qū)域內(nèi)所對應(yīng)選定游戲場景的3D模型,以作為獲取的待打印3D對象。
[0112]其中,可通過在3D游戲應(yīng)用的界面顯示的截屏懸浮窗操作界面來接收用戶的截屏選擇指令。此外,接收單元6011接收到用戶的截屏選擇指令并確定截屏區(qū)域后,不跳出正在運行的3D游戲應(yīng)用的界面,即保持正在運行的3D游戲應(yīng)用的界面為當(dāng)前顯示界面,并使在截屏區(qū)域之外的界面其他區(qū)域保持正常的預(yù)定應(yīng)用運行更新顯示,而截屏區(qū)域之內(nèi)則顯示用戶所選擇的游戲場景。并且,接收單元6011在接收到用戶的截屏選擇指令時,根據(jù)用戶的截屏選擇指令在正在運行的3D游戲應(yīng)用的界面中框選截屏區(qū)域,并使截屏區(qū)域的亮度大于截屏區(qū)域之外的界面其他區(qū)域的亮度,并保持界面其他區(qū)域正常的對3D游戲應(yīng)用的操作處理。
[0113]其中,共享模塊701用于在接收單元6011確定截屏區(qū)域后以及選取單元6012從截屏區(qū)域中選取對應(yīng)選定游戲場景的3D模型后,根據(jù)用戶通過截屏懸浮窗操作界面的共享按鈕發(fā)出的共享操作指令將截屏區(qū)域以及選取的3D模型的3D預(yù)覽圖共享給3D游戲應(yīng)用的另一交互方。
[0114]此外,共享模塊701還用于將第一顯示模塊603顯示的編輯界面共享給3D游戲應(yīng)用的另一交互方,即用戶可在編輯界面中選擇共享按鈕以將編輯界面及編輯中的3D模型的3D預(yù)覽圖共享給另一交互方。
[0115]其中,第二處理模塊702用于在接收單元6011接收用戶的截屏選擇指令之前,接收用戶對當(dāng)前正在運行的3D游戲應(yīng)用的另一交互方所操縱元素的操縱請求,并接收另一交互方對該操縱請求的允許指令,以在接收到允許指令后按照操縱請求實施對另一交互方所操縱元素的操縱?;蛘?,在另一實施方式中,第二處理模塊702也可以不實施對另一交互方多所操縱元素的操縱,而是按照操縱請求在正在運行的3D游戲應(yīng)用的界面中向另一交互方演示對另一交互方所操縱元素的操縱,以使得另一交互方按照該演示對其所操縱元素進(jìn)行操縱。
[0116]在完成操縱元素的操縱后,用戶可通過截屏懸浮窗操作界面輸入截屏選擇按鈕, 以使得接收單元6011接收用戶的截屏選擇指令以確定包括操縱后的另一交互方的元素在內(nèi)的界面中的截屏區(qū)域,從而選取單元6012選取截屏區(qū)域內(nèi)的對應(yīng)選定游戲場景的3D模型,以作為獲取的待打印3D對象。
[0117]進(jìn)一步地,選取單元6012包括第一獲取子單元801、第二獲取子單元802以及第三獲取子單元803。其中,第一獲取子單元801用于獲取截屏區(qū)域內(nèi)組成選定游戲場景的每幀游戲場景對應(yīng)的單一模型的頂點坐標(biāo)數(shù)據(jù)、紋理數(shù)據(jù)以及變換矩陣數(shù)據(jù);第二獲取子單元802用于利用頂點坐標(biāo)數(shù)據(jù)、紋理數(shù)據(jù)以及變換矩陣數(shù)據(jù)獲取每幀游戲場景對應(yīng)的單一模型;第三獲取子單元803用于將組成選定游戲場景的所有幀游戲場景分別對應(yīng)的單一模型按照預(yù)定規(guī)則進(jìn)行組合,進(jìn)而得到選定游戲場景對應(yīng)的3D模型。
[0118]在獲取作為待打印3D對象的3D模型后,第一接收模塊602接收用戶的編輯請求, 進(jìn)而第二編輯模塊605根據(jù)用戶的編輯指令對選取的3D模型進(jìn)行相應(yīng)編輯。
[0119]其中,在完成對3D模型的編輯后,用戶可以通過點擊編輯界面中的預(yù)置部件按鈕進(jìn)行預(yù)置部件的設(shè)置。其中,在第一編輯模塊605完成編輯后,預(yù)置部件設(shè)置模塊703接收用戶的預(yù)置部件設(shè)置請求,并根據(jù)用戶的預(yù)置部件設(shè)置請求顯示自定義打印設(shè)置窗口, 以在自定義打印設(shè)置窗口中接收用戶選擇預(yù)置部件的選擇指令,以獲取預(yù)置部件的選擇信息。當(dāng)然,在其他實施方式中,用戶也可以是在截屏之后通過截屏懸浮窗操作界面上的預(yù)置部件按鈕設(shè)置預(yù)置部件。
[0120]其中,用戶在選擇預(yù)置部件之后,還可以進(jìn)行打印品質(zhì)類型或打印效果類型的設(shè)置。打印設(shè)置模塊704用于在預(yù)置部件設(shè)置模塊703獲取用戶的預(yù)置部件的選擇信息后, 接收用戶選擇打印品質(zhì)類型或打印效果類型的選擇信息。其中打印品質(zhì)類型包括分辨率類型,分辨率越高打印出來的實體3D模型越精致;打印效果類型包括打印的尺寸類型,選擇的打印尺寸越大打印出來的實體3D模型越大,用戶可選擇不同的分辨率和不同尺寸對3D 模型進(jìn)行3D打印。此外,打印設(shè)置模塊704還用于在用戶選擇打印品質(zhì)類型或打印效果類型時,向用戶顯示其所選擇的打印品質(zhì)類型或打印效果類型對應(yīng)的預(yù)覽效果圖,以供用戶參考。
[0121]在接收到用戶對其所選擇的打印品質(zhì)類型或打印效果類型對應(yīng)的預(yù)覽效果圖的確認(rèn)指令后,檢測模塊608用于檢測在第一編輯模塊605進(jìn)行相應(yīng)編輯后的3D模型是否存在兩個以上相互獨立而無直接或間接連接的部件和/或檢測編輯后的3D模型中是否存在尺寸小于預(yù)定值的部件。
[0122]第二編輯模塊609用于當(dāng)3D模型中存在兩個以上相互獨立而無直接或間接連接的部件時,使兩個以上相互獨立而無直接或間接連接的部件建立連接關(guān)系或?qū)ζ渲袘铱盏牟考⒅渭?。以及,第二編輯模塊609用于當(dāng)3D模型中存在尺寸小于預(yù)定值的部件時, 調(diào)整尺寸小于預(yù)定值的部件的尺寸,以使得該部件的尺寸大于或等于預(yù)定值。并且,第二編輯模塊609還用于將建立連接關(guān)系或建立支撐架、和/或調(diào)整尺寸后的3D模型作為編輯后的待打印3D對象,由此,可使得不滿足打印要求的3D模型自動進(jìn)行修改以滿足打印要求, 并且通過對不符合尺寸要求的部件的尺寸進(jìn)行自動調(diào)整,可以提高3D模型部件的可靠性。
[0123]其中,第一處理模塊606用于將建立連接關(guān)系或建立支撐架、和/或調(diào)整尺寸后的 3D模型轉(zhuǎn)變成打印文件。其中,打印文件中包括預(yù)置部件的選擇信息和打印品質(zhì)類型或打印效果類型的選擇信息。從而,在發(fā)送模塊607將打印文件發(fā)送給3D打印機進(jìn)行3D打印后,使得3D打印機根據(jù)打印文件進(jìn)行打印時,根據(jù)預(yù)置部件的選擇信息選擇不對3D模型中放置預(yù)置部件的位置的部分進(jìn)行3D打印,以及根據(jù)打印品質(zhì)類型或打印效果類型的選擇信息打印符合要求的實體3D模型。
[0124]其中,第二顯示模塊705用于在發(fā)送模塊607將打印文件發(fā)送給3D打印機后,在當(dāng)前3D游戲應(yīng)用的界面中顯示打印進(jìn)度示意圖,或者在當(dāng)前桌面上顯示打印進(jìn)度示意圖。 其中,打印進(jìn)度示意圖的形狀與正在打印的3D模型的形狀相同或為其簡化形狀。并且,在打印進(jìn)度示意圖中,表示未打印部分和表示已打印部分采用不同的標(biāo)記,例如表示已打印部分采用紅色標(biāo)記,表示未打印部分采用綠色標(biāo)記;或者表示已打印部分的圖形線條加粗處理。其中,第二顯示模塊705還用于顯示打印進(jìn)度百分比,并且從至少兩個視圖方向分別顯示打印進(jìn)度示意圖,以使得用戶可以直觀獲知目前打印進(jìn)度。
[0125]通過本實施方式的電子設(shè)備,可以直接獲取3D應(yīng)用場景對應(yīng)的3D模型來實現(xiàn)3D 打印,而不需要在三維建模軟件中重新構(gòu)思、構(gòu)建3D應(yīng)用場景對應(yīng)的3D模型,由此可減少 3D打印時間,降低3D打印難度。并且,用戶還可以根據(jù)個人喜好對3D模型進(jìn)行二次編輯, 以及進(jìn)行預(yù)置部件、打印品質(zhì)等設(shè)置,以打印更具個性化的3D產(chǎn)品。
[0126]以上所述僅為本發(fā)明的實施方式,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。
【主權(quán)項】
1.一種3D打印方法,其特征在于,包括:根據(jù)用戶選擇從預(yù)定應(yīng)用場景中獲取用戶所選擇的待打印3D對象;接收用戶對所述待打印3D對象的編輯請求;根據(jù)所述編輯請求顯示編輯界面;接收用戶在所述編輯界面中對獲取的待打印3D對象進(jìn)行修改、刪除或增加的編輯指 令;根據(jù)所述編輯指令對獲取的所述待打印3D對象進(jìn)行相應(yīng)編輯;將編輯后的所述待打印3D對象轉(zhuǎn)變成打印文件;將所述打印文件發(fā)送至3D打印機,以使得所述3D打印機根據(jù)所述打印文件進(jìn)行3D打印。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)用戶選擇從預(yù)定應(yīng)用場景中獲取用戶所選擇的待打印3D對象的步驟包括: 根據(jù)用戶選擇從正在運行的3D游戲應(yīng)用中獲取對應(yīng)選定游戲場景的待打印3D對象。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述根據(jù)用戶選擇從正在運行的3D游戲應(yīng)用中獲取對應(yīng)選定游戲場景的待打印3D對 象的步驟包括:接收用戶的截屏選擇指令,以確定所述正在運行的3D游戲應(yīng)用的界面中的截屏區(qū)域; 選取所述截屏區(qū)域內(nèi)所對應(yīng)選定游戲場景的3D模型,以作為獲取的所述待打印3D對象。4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述選取所述截屏區(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ī)則進(jìn)行 組合,進(jìn)而得到所述選定游戲場景對應(yīng)的3D模型。5.根據(jù)權(quán)利要求3所述的方法,其特征在于,在所述將編輯后的所述待打印3D對象轉(zhuǎn)變成打印文件之前的步驟包括:檢測編輯后的所述3D模型中是否存在兩個以上相互獨立而無直接或間接連接的部件 和/或檢測編輯后的所述3D模型中是否存在尺寸小于預(yù)定值的部件;當(dāng)所述3D模型中存在兩個以上相互獨立而無直接或間接連接的部件時,使所述兩個 以上相互獨立而無直接或間接連接的部件建立連接關(guān)系或?qū)ζ渲袘铱盏牟考⒅渭埽?并將建立連接關(guān)系或建立支撐架之后的3D模型作為編輯后的所述待打印3D對象;當(dāng)所述3D模型中存在尺寸小于預(yù)定值的部件時,調(diào)整所述尺寸小于預(yù)定值的部件的 尺寸,以使得所述部件的尺寸大于或等于所述預(yù)定值,并將調(diào)整之后的3D模型作為編輯后 的所述待打印3D對象。6.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述根據(jù)所述編輯指令對獲取的所述待打印3D對象進(jìn)行相應(yīng)編輯的步驟之后,包括:接收用戶選擇預(yù)置部件的選擇指令,以根據(jù)所述選擇預(yù)置部件的選擇指令獲取預(yù)置部 件的選擇信息;所述將編輯后的所述待打印3D對象轉(zhuǎn)變成打印文件的步驟包括:將編輯后的所述待打印3D對象轉(zhuǎn)變成打印文件,所述打印文件包括所述預(yù)置部件的 選擇信息。7.—種電子設(shè)備,其特征在于,包括:獲取模塊,用于根據(jù)用戶選擇從預(yù)定應(yīng)用場景中獲取用戶所選擇的待打印3D對象; 第一接收模塊,用于接收用戶對所述待打印3D對象的編輯請求;第一顯示模塊,用于根據(jù)所述編輯請求顯示編輯界面;第二接收模塊,用于接收用戶在所述編輯界面中對獲取的待打印3D對象進(jìn)行修改、刪 除或增加的編輯指令;第一編輯模塊,用于根據(jù)所述編輯指令對獲取的所述待打印3D對象進(jìn)行相應(yīng)編輯; 第一處理模塊,用于將編輯后的所述待打印3D對象轉(zhuǎn)變成打印文件;發(fā)送模塊,用于將所述打印文件發(fā)送至3D打印機,以使得所述3D打印機根據(jù)所述打印 文件進(jìn)行3D打印。8.根據(jù)權(quán)利要求7所述的電子設(shè)備,其特征在于,所述獲取模塊用于根據(jù)用戶選擇從正在運行的3D游戲應(yīng)用中獲取對應(yīng)選定游戲場景 的待打印3D對象。9.根據(jù)權(quán)利要求8所述的電子設(shè)備,其特征在于,所述獲取模塊包括:接收單元,用于接收用戶的截屏選擇指令,以確定所述正在運行的3D游戲應(yīng)用的界面 中的截屏區(qū)域;選取單元,用于選取所述截屏區(qū)域內(nèi)所對應(yīng)選定游戲場景的3D模型,以作為獲取的所 述待打印3D對象。10.根據(jù)權(quán)利要求9所述的電子設(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ī)則進(jìn)行組合,進(jìn)而得到所述選定游戲場景對應(yīng)的3D模型。11.根據(jù)權(quán)利要求9所述的電子設(shè)備,其特征在于,進(jìn)一步包括:檢測模塊,用于檢測編輯后的所述3D模型中是否存在兩個以上相互獨立而無直接或 間接連接的部件和/或檢測編輯后的所述3D模型中是否存在尺寸小于預(yù)定值的部件; 第二編輯模塊,用于當(dāng)所述3D模型中存在兩個以上相互獨立而無直接或間接連接的 部件時,使所述兩個以上相互獨立而無直接或間接連接的部件建立連接關(guān)系或?qū)ζ渲袘铱?的部件建立支撐架,并將建立連接關(guān)系或建立支撐架之后的3D模型作為編輯后的所述待 打印3D對象;還用于當(dāng)所述3D模型中存在尺寸小于預(yù)定值的部件時,調(diào)整所述尺寸小于預(yù)定值的部件的尺寸,以使得所述部件的尺寸大于或等于所述預(yù)定值,并將調(diào)整之后的3D模 型作為編輯后的所述待打印3D對象。12.根據(jù)權(quán)利要求9所述的電子設(shè)備,其特征在于,進(jìn)一步包括:預(yù)置部件設(shè)置模塊,用于接收用戶選擇預(yù)置部件的選擇指令,以根據(jù)所述選擇預(yù)置部 件的選擇指令獲取預(yù)置部件的選擇信息;其中,第一處理模塊用于將編輯后的所述待打印3D對象轉(zhuǎn)變成打印文件,所述打印文 件包括所述預(yù)置部件的選擇信息。
【文檔編號】G06T19/20GK105988746SQ201510054948
【公開日】2016年10月5日
【申請日】2015年1月30日
【發(fā)明人】劉美鴻, 高煒, 戴鵬, 陳易華
【申請人】深圳市億思達(dá)科技集團(tuán)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
常熟市| 大邑县| 临江市| 扎鲁特旗| 雅江县| 庄浪县| 西乡县| 祁阳县| 抚松县| 宜丰县| 喀喇沁旗| 分宜县| 六盘水市| 奎屯市| 平阳县| 龙门县| 罗平县| 靖西县| 铅山县| 枣强县| 宽城| 界首市| 乐陵市| 哈尔滨市| 敖汉旗| 顺昌县| 汉川市| 加查县| 昌黎县| 珲春市| 罗山县| 芒康县| 石屏县| 玉林市| 延寿县| 潞城市| 惠水县| 铜梁县| 视频| 三亚市| 广丰县|