亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

多客戶端聯(lián)網(wǎng)控制下三維場(chǎng)景協(xié)作搬運(yùn)的實(shí)現(xiàn)方法

文檔序號(hào):6492495閱讀:263來源:國(guó)知局
多客戶端聯(lián)網(wǎng)控制下三維場(chǎng)景協(xié)作搬運(yùn)的實(shí)現(xiàn)方法
【專利摘要】多客戶端聯(lián)網(wǎng)控制下三維場(chǎng)景協(xié)作搬運(yùn)的實(shí)現(xiàn)方法,在服務(wù)器中設(shè)置三維場(chǎng)景及人物,多個(gè)客戶端通過一個(gè)客服端與服務(wù)器聯(lián)網(wǎng),每一個(gè)客戶端在三維場(chǎng)景中對(duì)應(yīng)一個(gè)虛擬人物,在三維場(chǎng)景中模擬多人協(xié)作對(duì)物體的搬運(yùn)操作。本發(fā)明使用了現(xiàn)有的三維渲染技術(shù)及網(wǎng)絡(luò)環(huán)境,通過一系列的腳本動(dòng)作狀態(tài)控制、統(tǒng)一的計(jì)算機(jī)實(shí)時(shí)同步、三維人物渲染及搬運(yùn)物體微調(diào),使計(jì)算機(jī)模擬多人搬運(yùn)物體行為細(xì)節(jié)表現(xiàn)更為真實(shí),效率更高。
【專利說明】多客戶端聯(lián)網(wǎng)控制下三維場(chǎng)景協(xié)作搬運(yùn)的實(shí)現(xiàn)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于計(jì)算機(jī)三維模擬【技術(shù)領(lǐng)域】,涉及計(jì)算機(jī)模擬多人搬運(yùn)物體行為技術(shù),以聯(lián)機(jī)協(xié)作的控制方式和三維表現(xiàn)方式模擬并顯示多人搬運(yùn)物體的行為,為一種多客戶端聯(lián)網(wǎng)控制下三維場(chǎng)景協(xié)作搬運(yùn)的實(shí)現(xiàn)方法。
【背景技術(shù)】
[0002]在電力虛擬仿真三維培訓(xùn)項(xiàng)目中涉及多人協(xié)作對(duì)物體進(jìn)行搬運(yùn)的環(huán)節(jié),現(xiàn)有的三維技術(shù)在對(duì)單人物體搬運(yùn)的控制方面已經(jīng)比較成熟,使用腳本觸發(fā)動(dòng)畫播放,使用程序控制物體與人物的綁定。在多人協(xié)作方面由于涉及場(chǎng)景同步、腳本動(dòng)作同步、網(wǎng)絡(luò)命令同步及物體位移計(jì)算等多方面的內(nèi)容,使得計(jì)算機(jī)網(wǎng)絡(luò)多人協(xié)作在虛擬仿真的環(huán)境下模擬多人搬運(yùn)物體行為一直是一個(gè)困難的問題。

【發(fā)明內(nèi)容】

[0003]本發(fā)明要解決的問題是:在電力虛擬仿真三維培訓(xùn)項(xiàng)目中,實(shí)現(xiàn)多客戶端操作模擬多人協(xié)作搬運(yùn)的三維場(chǎng)景,并在各客戶端同步顯示模擬搬運(yùn)的結(jié)果。
[0004]本發(fā)明的技術(shù)方案為:多客戶端聯(lián)網(wǎng)控制下三維場(chǎng)景協(xié)作搬運(yùn)的實(shí)現(xiàn)方法,在服務(wù)器中設(shè)置三維場(chǎng)景及人物,多個(gè)客戶端通過一個(gè)客服端與服務(wù)器聯(lián)網(wǎng),每一個(gè)客戶端在三維場(chǎng)景中對(duì)應(yīng)一個(gè)虛擬人物,在三維場(chǎng)景中模擬多人協(xié)作對(duì)物體的搬運(yùn)操作,具體為:
[0005]I)用腳本定義所有人物動(dòng)作的骨骼動(dòng)畫,對(duì)應(yīng)不同的動(dòng)作設(shè)定不同的狀態(tài)標(biāo)記,骨骼動(dòng)畫分為只播放一次、循環(huán)播放和播放直到某條件觸發(fā)停止三種,骨骼動(dòng)畫與狀態(tài)標(biāo)記以及設(shè)定的觸發(fā)條件構(gòu)成腳本動(dòng)畫;
[0006]2)對(duì)被搬運(yùn)物體進(jìn)行分類,根據(jù)搬運(yùn)方式和搬運(yùn)人數(shù)進(jìn)行區(qū)分;
[0007]3)對(duì)腳本動(dòng)畫、骨骼動(dòng)畫,以及它們的初始化屬性參數(shù)進(jìn)行本地定義;
[0008]4)建立三維場(chǎng)景,初始化場(chǎng)景參數(shù),所有被移動(dòng)物體及人物的位置、狀態(tài)、參數(shù)的更新全部通過客服端進(jìn)行,即所有每臺(tái)客戶端對(duì)虛擬人物的控制命令發(fā)送至客服端,客服端再傳輸至服務(wù)器及其它客戶端,更新對(duì)應(yīng)的虛擬人物的狀態(tài)標(biāo)記,服務(wù)器對(duì)應(yīng)收到的所有控制命令更新三維場(chǎng)景狀態(tài),服務(wù)器將三維場(chǎng)景狀態(tài)通過客服端同步至各客戶端,實(shí)現(xiàn)所有客戶端的同步更新;
[0009]5)客戶端通過客服端與服務(wù)器聯(lián)網(wǎng),載人三維場(chǎng)景,從客服端更新所有同步信息,同時(shí)進(jìn)行同步渲染,使所有客戶端與服務(wù)器中渲染的三維場(chǎng)景保持一致;
[0010]6)客戶端控制對(duì)應(yīng)的虛擬人物,通過狀態(tài)標(biāo)記控制腳本動(dòng)畫,狀態(tài)標(biāo)記的改變通過客服端發(fā)送至服務(wù)器,服務(wù)器對(duì)收到的同一時(shí)間的各虛擬人物的狀態(tài)標(biāo)記變更進(jìn)行處理,得到對(duì)應(yīng)的協(xié)作搬運(yùn)動(dòng)作,更新人物及被搬運(yùn)物體的位置信息,服務(wù)器將所述人物及被搬運(yùn)物體的位置信息通過客服端同步至各客戶端,客戶端通過從客服端同步得到的其它客戶端的對(duì)應(yīng)虛擬人物的狀態(tài)標(biāo)記,以及所述人物及被搬運(yùn)物體的位置信息,在本客戶端進(jìn)行三維場(chǎng)景協(xié)作搬運(yùn)的顯示。[0011]在步驟6)三維場(chǎng)景協(xié)作搬運(yùn)的顯示過程中,被搬運(yùn)物體和虛擬人物上設(shè)有對(duì)應(yīng)的搬運(yùn)節(jié)點(diǎn),虛擬人物根據(jù)狀態(tài)標(biāo)記進(jìn)行動(dòng)作,當(dāng)虛擬人物的搬運(yùn)節(jié)點(diǎn)與被搬運(yùn)物體的搬運(yùn)節(jié)點(diǎn)重合時(shí),就位成功,綁定這兩個(gè)搬運(yùn)節(jié)點(diǎn);在單人搬運(yùn)模式下,直接固定虛擬人物與被搬運(yùn)物體的位置,再播放骨骼動(dòng)畫實(shí)現(xiàn)虛擬人物的后續(xù)動(dòng)作變化,被搬運(yùn)物體隨虛擬人物的動(dòng)作移動(dòng);在多人模式下,等待全部虛擬人物就位成功后,固定擬人物與被搬運(yùn)物體的位置,再播放骨骼動(dòng)畫實(shí)現(xiàn)虛擬人物的后續(xù)動(dòng)作變化,被搬運(yùn)物體隨虛擬人物的動(dòng)作移動(dòng)。
[0012]在多人搬運(yùn)模式中,實(shí)時(shí)計(jì)算每個(gè)虛擬人物對(duì)被搬運(yùn)物體產(chǎn)生的作用力,在三維場(chǎng)景協(xié)作搬運(yùn)的顯示中進(jìn)行對(duì)應(yīng)表現(xiàn)。
[0013]客戶端與服務(wù)器及客服端的數(shù)據(jù)同步頻率在微秒級(jí)。
[0014]本發(fā)明使用了現(xiàn)有的三維渲染技術(shù)及網(wǎng)絡(luò)環(huán)境,通過一系列的腳本動(dòng)作狀態(tài)控制、統(tǒng)一的計(jì)算機(jī)實(shí)時(shí)同步、三維人物渲染及搬運(yùn)物體微調(diào),使計(jì)算機(jī)模擬多人搬運(yùn)物體行為細(xì)節(jié)表現(xiàn)更為真實(shí),效率更高。【具體實(shí)施方式】
[0015]本發(fā)明在三維虛擬場(chǎng)景中,模擬多人協(xié)作對(duì)物體的搬運(yùn)。
[0016]涉及的模擬對(duì)象包括:物體搬運(yùn)姿勢(shì)、多人移動(dòng)方向?qū)ξ矬w移動(dòng)的影響、多人動(dòng)作或位置對(duì)物體移動(dòng)的影響、物體及人物位置變化的相互影響。
[0017]模擬搬運(yùn)方式包括:拎、捧、扛。
[0018]本發(fā)明中,多個(gè)客戶端通過一個(gè)客服端與服務(wù)器聯(lián)網(wǎng),每一個(gè)客戶端在三維場(chǎng)景中對(duì)應(yīng)一個(gè)虛擬人物,使用骨骼動(dòng)畫確定動(dòng)作,網(wǎng)絡(luò)同步實(shí)現(xiàn)狀態(tài)及屬性同步,腳本觸發(fā)實(shí)現(xiàn)命令傳遞。使用客服端和客戶端分離的方式實(shí)現(xiàn)場(chǎng)景內(nèi)容同步。包括被搬運(yùn)物體運(yùn)動(dòng)及狀態(tài)的統(tǒng)一、所有客戶端控制人物位置、動(dòng)作、狀態(tài)的同步。
[0019]具體過程如下:
[0020]1、前期定義所有的人物動(dòng)作的骨骼動(dòng)畫,骨骼動(dòng)畫就是在模型里面的控制模型運(yùn)動(dòng)的一系列關(guān)鍵幀描述。對(duì)應(yīng)不同的動(dòng)作設(shè)定不同的狀態(tài)標(biāo)記,骨骼動(dòng)畫分為只播放一次、循環(huán)播放和播放直到某條件觸發(fā)停止三種,骨骼動(dòng)畫與狀態(tài)標(biāo)記以及設(shè)定的觸發(fā)條件構(gòu)成腳本動(dòng)畫,在不同的狀態(tài)標(biāo)記下自動(dòng)播放不同的骨骼腳本動(dòng)畫。
[0021]不同的狀態(tài)指對(duì)人物當(dāng)前不同狀態(tài)的定義,例如:行走狀態(tài)、撿起狀態(tài)、放下狀態(tài)、跑步狀態(tài)……,所有的狀態(tài)對(duì)應(yīng)一個(gè)過程動(dòng)作,過程動(dòng)作有的是循環(huán)的,例如走路,有的是播放一次,例如撿起。
[0022]2、其次對(duì)被搬運(yùn)物體進(jìn)行分類,主要區(qū)分搬運(yùn)方式和搬運(yùn)人數(shù)。
[0023]3、所有的前期定義腳本、骨骼動(dòng)畫、初始化屬性參數(shù)都定義本地。
[0024]本地定義指的是固定的狀態(tài)對(duì)應(yīng)的骨骼動(dòng)畫,腳本動(dòng)畫定義的內(nèi)容,一些固定的定義都寫在本地,即服務(wù)器,同時(shí)每個(gè)客戶端都拷貝一份??蛻舳伺c服務(wù)器同步的時(shí)候,只同步狀態(tài)標(biāo)記,然后本地通過狀態(tài)標(biāo)記調(diào)用腳本動(dòng)畫。
[0025]4、客服端建立場(chǎng)景,初始化所有參數(shù),對(duì)所有被移動(dòng)物體及人物的位置、狀態(tài)、參數(shù)進(jìn)行實(shí)時(shí)更新。
[0026]本發(fā)明中,狀態(tài)標(biāo)記的更改全部以網(wǎng)絡(luò)中的一臺(tái)客戶端為標(biāo)準(zhǔn),所有客戶端要求的改變,全部由這臺(tái)機(jī)器執(zhí)行,然后將改變后的狀態(tài)同步發(fā)送給所有其他的客戶端。[0027]所有參數(shù)有固定參數(shù),有一些是根據(jù)場(chǎng)景改變的,例如在2人搬運(yùn)物體中,當(dāng)?shù)谌齻€(gè)人如場(chǎng)景時(shí),需要初始化的參數(shù)是第一、第二個(gè)人的位置信息,動(dòng)作狀態(tài)信息,被搬運(yùn)物體的位置信息(包括朝向),還有本身自己進(jìn)入場(chǎng)景后的位置信息及動(dòng)作信息。這樣初始化后用來渲染同步其他的計(jì)算機(jī),使得大家看到的畫面是同一幅。
[0028]5、客戶端通過客服端鏈接服務(wù)器,載入三維場(chǎng)景,從客服端更新所有同步信息,同時(shí)進(jìn)行同步渲染。使所有客戶端包括服務(wù)器渲染的三維場(chǎng)景保持一致。
[0029]所述同步信息就是同步狀態(tài)標(biāo)記信息。例如一個(gè)人物甲,他的狀態(tài)是走動(dòng)改變至跑動(dòng),那么需要有客服端把這個(gè)狀態(tài)同步到所有的其他客戶端,目的是讓所有的客戶端中同一人物甲擁有相同的狀態(tài),相同的狀態(tài)就會(huì)對(duì)應(yīng)播放相同的腳本動(dòng)畫,對(duì)應(yīng)相同的動(dòng)作。
[0030]本發(fā)明中渲染都在本地,由三維引擎渲染,因?yàn)闋顟B(tài)同步,所以各自本地都會(huì)渲染相同的動(dòng)畫,相當(dāng)于同步渲染。
[0031]6、客戶端選擇人物角色進(jìn)行控制,所有狀態(tài)控制動(dòng)畫,在腳本中規(guī)定,每幀檢查一下狀態(tài),不同的狀態(tài)下播放不同的動(dòng)畫,當(dāng)狀態(tài)被改變,第一時(shí)間會(huì)替換播放的骨骼動(dòng)畫。狀態(tài)的改變通過服務(wù)器進(jìn)行改變,改變后同步所有客戶端角色,當(dāng)客戶端在一臺(tái)機(jī)器上控制人物甲拿東西或者放下東西的時(shí)候,本地先不進(jìn)行狀態(tài)的改變(狀態(tài)不改變動(dòng)作就不會(huì)變),這個(gè)改變的要求送給服務(wù)客戶端,然后執(zhí)行對(duì)應(yīng)改變,最后把改變后的狀態(tài)發(fā)到所有的客戶端。。同時(shí)實(shí)時(shí)更新位置信息,使得移動(dòng)與動(dòng)畫協(xié)調(diào)。位置信息是人物或者物體的移動(dòng)在三維中的坐標(biāo)信息,包括位置(xyz)和朝向。當(dāng)位置移動(dòng)速度和動(dòng)畫播放速度協(xié)調(diào)的時(shí)候就是最佳,例如光移動(dòng)位置不做動(dòng)作就變成平移,如果光做動(dòng)作不動(dòng)位置就變成原地太空步。
[0032]7、被搬運(yùn)物體和虛擬人物上設(shè)有搬運(yùn)節(jié)點(diǎn),搬運(yùn)節(jié)點(diǎn)的作用是將物體綁定到人物模型的對(duì)應(yīng)位置,例如抗一個(gè)東西,最后要講物體綁定到人物模型的肩膀上,如果是捧東西就是綁定到人物模型的手掌上。當(dāng)人物角色上的搬運(yùn)節(jié)點(diǎn)跟物體上的搬運(yùn)節(jié)點(diǎn)重合時(shí),就位成功,綁定這2個(gè)搬運(yùn)節(jié)點(diǎn),物體在人物上固定,開始播放動(dòng)作動(dòng)畫,例如撿起東西,先開始播放蹲下的動(dòng)作然后播放手伸出來的動(dòng)作,讓人物蹲下伸手,將手握住被撿東西的時(shí)候就是就位成功,這個(gè)時(shí)候綁定,然后物體跟手部的動(dòng)作一起運(yùn)動(dòng)。在單人搬運(yùn)的模式下,直接固定位置。在多人模式下,等待多人全部就位,然后各自播放骨骼動(dòng)畫實(shí)現(xiàn)動(dòng)作變化。當(dāng)人物角色上的搬運(yùn)節(jié)點(diǎn)靠近到物體的搬運(yùn)節(jié)點(diǎn)位置,在容忍值范圍內(nèi)自動(dòng)固定。當(dāng)容忍值適當(dāng),搬運(yùn)時(shí)就能實(shí)現(xiàn)畫面上的協(xié)調(diào)操作。適當(dāng)?shù)闹凳且粋€(gè)視覺上的容忍值,當(dāng)撿起物體,當(dāng)物體大小改變時(shí),蹲下后握住物體的動(dòng)作未必跟物體緊密結(jié)合,這個(gè)時(shí)候設(shè)置一個(gè)容忍值,當(dāng)手靠近物體至多少范圍時(shí),物體也自動(dòng)往手部移動(dòng)。這個(gè)值不能隨便設(shè)置,標(biāo)準(zhǔn)是視覺上看不出物體的主動(dòng)移動(dòng)。
[0033]8、在移動(dòng)的過程中,單人搬運(yùn)模式直接將被搬運(yùn)物體綁定到人物角色模型跟隨人物動(dòng)作的移動(dòng)。
[0034]9、在多人搬運(yùn)模式中,需要實(shí)時(shí)計(jì)算每個(gè)人物角色對(duì)被搬運(yùn)物體產(chǎn)生的作用,從力的角度分析,實(shí)現(xiàn)相互作用的結(jié)果,然后進(jìn)行表現(xiàn)。當(dāng)2人搬運(yùn)物體的時(shí)候,同時(shí)作用于同一個(gè)物體,因?yàn)槲矬w不可形變,并且人在扛起物體后,人與物體間的距離保持不變。最后所有的控制轉(zhuǎn)化為兩個(gè)人及物體的移動(dòng),其中人物與物體間的距離保持不變。在三維場(chǎng)景中,控制人物移動(dòng)使用大小相同的一個(gè)力,只有方向在不停的改變。在計(jì)算這個(gè)力的時(shí)候,將2個(gè)力分解成沿著2個(gè)人物的搬運(yùn)節(jié)點(diǎn)和垂直于2個(gè)人物的搬運(yùn)節(jié)點(diǎn)方向。在沿著2個(gè)人物的搬運(yùn)節(jié)點(diǎn)方向,當(dāng)力的方向相同的時(shí)候則忘同一個(gè)方向移動(dòng),如果力的方向不相同的時(shí)候相減,然后沿著力大的方向移動(dòng)。垂直于2個(gè)人物的搬運(yùn)節(jié)點(diǎn)上的力如果是同一方向則直接移動(dòng),如果在不同方向先確定轉(zhuǎn)動(dòng),當(dāng)旋轉(zhuǎn)至沿著2個(gè)人物的搬運(yùn)節(jié)點(diǎn)方向時(shí),再通過加減計(jì)算物體移動(dòng)方向。
[0035]例如2人搬運(yùn),其中一人不動(dòng),在固定搬運(yùn)節(jié)點(diǎn)與人物節(jié)點(diǎn)的基礎(chǔ)上,另一個(gè)人不能靠近或者原理,只能實(shí)現(xiàn)右移和右移,左右移動(dòng)的結(jié)果也將轉(zhuǎn)化為以另一個(gè)人為圓心的旋轉(zhuǎn)。當(dāng)2個(gè)人同時(shí)移動(dòng)的時(shí)候分析移動(dòng)的方向,分解成沿著被搬運(yùn)物體方向和垂直物體方向。假設(shè)人物給出的力相等,根據(jù)角度算出分項(xiàng)力,合并前后分項(xiàng)力決定物體整體移動(dòng)方向,然后前側(cè)分項(xiàng)力決定物體前端移動(dòng)方向,后側(cè)分項(xiàng)力決定物體后端移動(dòng)方向,其中實(shí)時(shí)保證前后連接點(diǎn)之間的距離。
[0036]10、在超過3人的搬運(yùn)模式中使用與2人搬運(yùn)同樣的方式。作用于同一點(diǎn)的分項(xiàng)力可以合并,不作用于同一點(diǎn)的分項(xiàng)力則影響旋轉(zhuǎn)。這里將人物作用于搬運(yùn)節(jié)點(diǎn)的力分解為水平于節(jié)點(diǎn)連線和垂直于節(jié)點(diǎn)連線。因?yàn)榭偭Υ笮∠嗟龋鶕?jù)角度不同,分解出來的力就會(huì)不同,然后可以用一定的單位進(jìn)行差量計(jì)算。影響旋轉(zhuǎn)的是被搬運(yùn)物體,由分項(xiàng)力的方向決定。
[0037]11、網(wǎng)絡(luò)實(shí)時(shí)同步人物角色和被搬運(yùn)的物體位置數(shù)據(jù),同步頻率在微秒級(jí)。其他屬性狀態(tài)的改變,例如動(dòng)畫狀態(tài),類別,快慢,播放時(shí)間等,都是由各自客戶端所控制的虛擬人物觸發(fā),主要是根據(jù)不同狀態(tài)確定不同骨骼動(dòng)畫的播放、播放方式等,這里所述觸發(fā)不是改變,所有狀態(tài)標(biāo)記的變更由客服端改變后統(tǒng)一對(duì)各個(gè)客戶端進(jìn)行更新。在角色操控觸發(fā)后,客戶端申請(qǐng)改變狀態(tài),提交服務(wù)器,在服務(wù)器計(jì)算后,將狀態(tài)同步給所有的操控客戶端。服務(wù)器計(jì)算有2種,一種是直接的改變的,如播放狀態(tài)。另一種是需要計(jì)算的,如分項(xiàng)力大小方向,然后確定被搬運(yùn)物體旋轉(zhuǎn)的角度移動(dòng)的速度等。然后客戶端播放不同的動(dòng)作骨骼動(dòng)畫。結(jié)合實(shí)時(shí)同步的位置信息,包括三維空間位置及朝向。實(shí)現(xiàn)多人協(xié)作搬運(yùn)物體的三維虛擬仿真。
[0038]本發(fā)明具體實(shí)施時(shí),各客戶端在同一網(wǎng)絡(luò)中進(jìn)行聯(lián)機(jī),打開同一幅場(chǎng)景地形,進(jìn)入場(chǎng)景后,各自選擇不同的人物角色進(jìn)行控制。所有角色進(jìn)入場(chǎng)景時(shí)首先進(jìn)行狀態(tài)和位置同步。各自通過操作對(duì)自己控制的人物角色發(fā)布命令,進(jìn)行相關(guān)動(dòng)作的執(zhí)行。在搬運(yùn)物體的時(shí)候,點(diǎn)擊被搬運(yùn)物體,獲取該物體的位置,然后自動(dòng)走到物體附近,根據(jù)定義的不同搬運(yùn)方式,把物體搬運(yùn)起來,然后點(diǎn)擊不同的場(chǎng)景位置,角色將手中的物體搬運(yùn)至指定地點(diǎn),在此過程中場(chǎng)景中所有角色的控制端機(jī)器上同步顯示搬運(yùn)過程及具體細(xì)節(jié)。動(dòng)作協(xié)調(diào)、過程平滑。所有動(dòng)作及狀態(tài)改變實(shí)時(shí)同步性高、無滯留、無誤動(dòng)作。
[0039]如果被搬運(yùn)物體需要多人合作進(jìn)行,人數(shù)不夠時(shí)點(diǎn)擊被搬運(yùn)物體自動(dòng)走到物體旁邊就位,等人數(shù)夠并都就位以后,各自執(zhí)行各自的動(dòng)作腳本。同時(shí)進(jìn)行動(dòng)作播放,同時(shí)各自的動(dòng)作實(shí)時(shí)作用于被搬運(yùn)物體。被搬運(yùn)物體根據(jù)所有參與角色的動(dòng)作調(diào)整位置及狀態(tài)。使被搬運(yùn)物體及相關(guān)角色都能平滑運(yùn)動(dòng)。包括地形起伏時(shí)的運(yùn)動(dòng)處理。
[0040]同步時(shí)間能達(dá)到微秒級(jí),在動(dòng)作的流暢度上能達(dá)到平衡過度,被搬運(yùn)物體運(yùn)動(dòng)軌跡符合物理學(xué)原理。同時(shí)逼真的實(shí)現(xiàn)了現(xiàn)實(shí)運(yùn)動(dòng)狀態(tài)的模擬。
【權(quán)利要求】
1.多客戶端聯(lián)網(wǎng)控制下三維場(chǎng)景協(xié)作搬運(yùn)的實(shí)現(xiàn)方法,其特征是在服務(wù)器中設(shè)置三維場(chǎng)景及人物,多個(gè)客戶端通過一個(gè)客服端與服務(wù)器聯(lián)網(wǎng),每一個(gè)客戶端在三維場(chǎng)景中對(duì)應(yīng)一個(gè)虛擬人物,在三維場(chǎng)景中模擬多人協(xié)作對(duì)物體的搬運(yùn)操作,具體為: 1)用腳本定義所有人物動(dòng)作的骨骼動(dòng)畫,對(duì)應(yīng)不同的動(dòng)作設(shè)定不同的狀態(tài)標(biāo)記,骨骼動(dòng)畫分為只播放一次、循環(huán)播放和播放直到某條件觸發(fā)停止三種,骨骼動(dòng)畫與狀態(tài)標(biāo)記以及設(shè)定的觸發(fā)條件構(gòu)成腳本動(dòng)畫; 2)對(duì)被搬運(yùn)物體進(jìn)行分類,根據(jù)搬運(yùn)方式和搬運(yùn)人數(shù)進(jìn)行區(qū)分; 3)對(duì)腳本動(dòng)畫、骨骼動(dòng)畫,以及它們的初始化屬性參數(shù)進(jìn)行本地定義; 4)建立三維場(chǎng)景,初始化場(chǎng)景參數(shù),所有被移動(dòng)物體及人物的位置、狀態(tài)、參數(shù)的更新全部通過客服端進(jìn)行,即所有每臺(tái)客戶端對(duì)虛擬人物的控制命令發(fā)送至客服端,客服端再傳輸至服務(wù)器及其它客戶端,更新對(duì)應(yīng)的虛擬人物的狀態(tài)標(biāo)記,服務(wù)器對(duì)應(yīng)收到的所有控制命令更新三維場(chǎng)景狀態(tài),服務(wù)器將三維場(chǎng)景狀態(tài)通過客服端同步至各客戶端,實(shí)現(xiàn)所有客戶端的同步更新; 5)客戶端通過客服端與服務(wù)器聯(lián)網(wǎng),載人三維場(chǎng)景,從客服端更新所有同步信息,同時(shí)進(jìn)行同步渲染,使所有客戶端與服務(wù)器中渲染的三維場(chǎng)景保持一致; 6)客戶端控制對(duì)應(yīng)的虛擬人物,通過狀態(tài)標(biāo)記控制腳本動(dòng)畫,狀態(tài)標(biāo)記的改變通過客服端發(fā)送至服務(wù)器,服務(wù)器對(duì)收到的同一時(shí)間的各虛擬人物的狀態(tài)標(biāo)記變更進(jìn)行處理,得到對(duì)應(yīng)的協(xié)作搬運(yùn)動(dòng)作,更新人物及被搬運(yùn)物體的位置信息,服務(wù)器將所述人物及被搬運(yùn)物體的位置信息通過客服端同步至各客戶端,客戶端通過從客服端同步得到的其它客戶端的對(duì)應(yīng)虛擬人物的狀態(tài)標(biāo)記,以及所述人物及被搬運(yùn)物體的位置信息,在本客戶端進(jìn)行三維場(chǎng)景協(xié)作搬運(yùn)的顯示。
2.根據(jù)權(quán)利要求1所述的多客戶端聯(lián)網(wǎng)控制下三維場(chǎng)景協(xié)作搬運(yùn)的實(shí)現(xiàn)方法,其特征是在步驟6)三維場(chǎng)景協(xié)作搬運(yùn)的顯示過程中,被搬運(yùn)物體和虛擬人物上設(shè)有對(duì)應(yīng)的搬運(yùn)節(jié)點(diǎn),虛擬人物根據(jù)狀態(tài)標(biāo)記進(jìn)行動(dòng)作,當(dāng)虛擬人物的搬運(yùn)節(jié)點(diǎn)與被搬運(yùn)物體的搬運(yùn)節(jié)點(diǎn)重合時(shí),就位成功,綁定這兩個(gè)搬運(yùn)節(jié)點(diǎn);在單人搬運(yùn)模式下,直接固定虛擬人物與被搬運(yùn)物體的位置,再播放骨骼動(dòng)畫實(shí)現(xiàn)虛擬人物的后續(xù)動(dòng)作變化,被搬運(yùn)物體隨虛擬人物的動(dòng)作移動(dòng);在多人模式下,等待全部虛擬人物就位成功后,固定擬人物與被搬運(yùn)物體的位置,再播放骨骼動(dòng)畫實(shí)現(xiàn)虛擬人物的后續(xù)動(dòng)作變化,被搬運(yùn)物體隨虛擬人物的動(dòng)作移動(dòng)。
3.根據(jù)權(quán)利要求2所述的多客戶端聯(lián)網(wǎng)控制下三維場(chǎng)景協(xié)作搬運(yùn)的實(shí)現(xiàn)方法,其特征是在多人搬運(yùn)模式中,實(shí)時(shí)計(jì)算每個(gè)虛擬人物對(duì)被搬運(yùn)物體產(chǎn)生的作用力,在三維場(chǎng)景協(xié)作搬運(yùn)的顯示中進(jìn)行對(duì)應(yīng)表現(xiàn)。
4.根據(jù)權(quán)利要求1一 3任一項(xiàng)所述的多客戶端聯(lián)網(wǎng)控制下三維場(chǎng)景協(xié)作搬運(yùn)的實(shí)現(xiàn)方法,其特征是客戶端與服務(wù)器及客服端的數(shù)據(jù)同步頻率在微秒級(jí)。
【文檔編號(hào)】G06T13/40GK103854300SQ201210523698
【公開日】2014年6月11日 申請(qǐng)日期:2012年12月7日 優(yōu)先權(quán)日:2012年12月7日
【發(fā)明者】顧曉峰, 馬駿, 吳強(qiáng), 胡林寶, 陶安余, 李世倩, 王德海, 倪衛(wèi)良, 韓峰 申請(qǐng)人:江蘇省電力公司, 國(guó)家電網(wǎng)公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1