生成軌跡線頂點(diǎn)序列的方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,特別是涉及一種生成軌跡線頂點(diǎn)序列的方法和裝置。
【背景技術(shù)】
[0002]隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,網(wǎng)絡(luò)已成為人們生活的一部分,為人們生活帶來了更多的服務(wù)和便捷。各種應(yīng)用服務(wù)應(yīng)運(yùn)而生,例如3D跑酷類游戲。在3D跑酷類游戲的開發(fā)中,虛擬角色需要按照既定賽道移動,該既定賽道移動需要借助一個(gè)工具,即軌跡線。不同的賽道對應(yīng)不同的軌跡線,每制作一條新賽道需要同時(shí)制作軌跡網(wǎng)格,傳統(tǒng)的方式是依賴人工制作軌跡網(wǎng)格和軌跡線,導(dǎo)致開發(fā)效率低下。
【發(fā)明內(nèi)容】
[0003]基于此,有必要針對傳統(tǒng)的依靠人工制作軌跡線,導(dǎo)致開發(fā)效率低下的問題,提供一種生成軌跡線頂點(diǎn)序列的方法和裝置,能節(jié)省人力成本,提高開發(fā)效率。
[0004]一種生成軌跡線頂點(diǎn)序列的方法,包括以下步驟:
[0005]獲取軌跡網(wǎng)格頂點(diǎn)集;
[0006]根據(jù)所述軌跡網(wǎng)格頂點(diǎn)集中頂點(diǎn)生成中點(diǎn)路徑頂點(diǎn)集;
[0007]將所述中點(diǎn)路徑頂點(diǎn)集中頂點(diǎn)進(jìn)行排序,得到軌跡線頂點(diǎn)序列。
[0008]一種生成軌跡線頂點(diǎn)序列的裝置,包括:
[0009]獲取模塊,用于獲取軌跡網(wǎng)格頂點(diǎn)集;
[0010]生成模塊,用于根據(jù)所述軌跡網(wǎng)格頂點(diǎn)集中頂點(diǎn)生成中點(diǎn)路徑頂點(diǎn)集;
[0011]排序模塊,用于將所述中點(diǎn)路徑頂點(diǎn)集中頂點(diǎn)進(jìn)行排序,得到軌跡線頂點(diǎn)序列。
[0012]上述生成軌跡線頂點(diǎn)序列的方法和裝置,根據(jù)軌跡網(wǎng)格頂點(diǎn)集中頂點(diǎn)生成中點(diǎn)路徑頂點(diǎn)集,并將中點(diǎn)路徑頂點(diǎn)集中頂點(diǎn)進(jìn)行排序,得到軌跡線頂點(diǎn)序列,即可生成軌跡線,實(shí)現(xiàn)了根據(jù)軌跡網(wǎng)格自動生成軌跡線,不需人工繪制,節(jié)省人工成本,且提高了開發(fā)效率。
【附圖說明】
[0013]圖1為一個(gè)實(shí)施例中生成軌跡線頂點(diǎn)序列的方法的流程示意圖;
[0014]圖2為軌跡網(wǎng)格的示意圖;
[0015]圖3為軌跡頂點(diǎn)示意圖;
[0016]圖4為軌跡網(wǎng)格中軌跡路徑示意圖;
[0017]圖5為一個(gè)實(shí)施例中根據(jù)軌跡網(wǎng)格頂點(diǎn)集中頂點(diǎn)生成中點(diǎn)路徑頂點(diǎn)集的具體流程圖;
[0018]圖6為另一個(gè)實(shí)施例中根據(jù)軌跡網(wǎng)格頂點(diǎn)集中頂點(diǎn)生成中點(diǎn)路徑頂點(diǎn)集的具體流程圖;
[0019]圖7為一個(gè)實(shí)施例中將中點(diǎn)路徑頂點(diǎn)集中頂點(diǎn)進(jìn)行排序,得到軌跡線頂點(diǎn)序列的具體流程圖;
[0020]圖8為另一個(gè)實(shí)施例中將中點(diǎn)路徑頂點(diǎn)集中頂點(diǎn)進(jìn)行排序,得到軌跡線頂點(diǎn)序列的具體流程圖;
[0021]圖9為拱形路面上制作軌跡網(wǎng)格示意圖;
[0022]圖10為圖9中軌跡網(wǎng)格放大示意圖;
[0023]圖11為采用生成軌跡線頂點(diǎn)序列的方法處理后生成的軌跡線頂點(diǎn)序列示意圖;
[0024]圖12為一個(gè)實(shí)施例中生成軌跡線頂點(diǎn)序列的裝置的結(jié)構(gòu)框圖;
[0025]圖13為一個(gè)實(shí)施例中生成模塊的內(nèi)部結(jié)構(gòu)框圖;
[0026]圖14為一個(gè)實(shí)施例中排序模塊的內(nèi)部結(jié)構(gòu)框圖;
[0027]圖15為終端的內(nèi)部結(jié)構(gòu)框圖;
[0028]圖16為服務(wù)器的內(nèi)部結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0029]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)頂點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0030]圖1為一個(gè)實(shí)施例中生成軌跡線頂點(diǎn)序列的方法的流程示意圖。如圖1所示,該生成軌跡線頂點(diǎn)序列的方法,包括以下步驟:
[0031]步驟102,獲取軌跡網(wǎng)格頂點(diǎn)集。
[0032]軌跡網(wǎng)格是無數(shù)個(gè)三角形。軌跡網(wǎng)格(Mesh)是3D (三維)模型的頂點(diǎn)集,內(nèi)含各個(gè)頂點(diǎn)的三維空間坐標(biāo)數(shù)據(jù)。獲取軌跡網(wǎng)格中頂點(diǎn),并將頂點(diǎn)加入到軌跡網(wǎng)格頂點(diǎn)集中。
[0033]圖2為軌跡網(wǎng)格的示意圖。如圖2所示,軌跡網(wǎng)格由無數(shù)個(gè)三角形組合在一起。圖3為軌跡頂點(diǎn)示意圖,圖3中黑色圓點(diǎn)為軌跡頂點(diǎn)。
[0034]步驟104,根據(jù)該軌跡網(wǎng)格頂點(diǎn)集中頂點(diǎn)生成中點(diǎn)路徑頂點(diǎn)集。
[0035]每個(gè)軌跡網(wǎng)格都包括2條軌跡路徑,如圖4所示,軌跡網(wǎng)格包括Β0->Α0及B1_>A1兩條軌跡路徑,其中,點(diǎn)A為AO和Al的中點(diǎn),點(diǎn)B為BO和BI的中點(diǎn)。為了生成軌跡線,需要中點(diǎn)路徑B->A。軌跡線是由一系列有序的頂點(diǎn)加上樣條曲線算法生成的一種曲線。軌跡線可以連成線的頂點(diǎn)構(gòu)成的。
[0036]通過從軌跡網(wǎng)格頂點(diǎn)集中取出頂點(diǎn)進(jìn)行處理得到中點(diǎn),遍歷完軌跡網(wǎng)格頂點(diǎn)集中所有頂點(diǎn),可生成中點(diǎn)路徑頂點(diǎn)集。中點(diǎn)路徑頂點(diǎn)集中包括中點(diǎn)。
[0037]步驟106,將該中點(diǎn)路徑頂點(diǎn)集中頂點(diǎn)進(jìn)行排序,得到軌跡線頂點(diǎn)序列。
[0038]具體的,從中點(diǎn)路徑頂點(diǎn)集中頂點(diǎn)選取軌跡線的起點(diǎn),再根據(jù)軌跡線的起點(diǎn)選擇起點(diǎn)相鄰的下一頂點(diǎn),再將相鄰的下一頂點(diǎn)作為新的起點(diǎn),如此類推,形成軌跡線頂點(diǎn)序列。
[0039]上述生成軌跡線頂點(diǎn)序列的方法,根據(jù)軌跡網(wǎng)格頂點(diǎn)集中頂點(diǎn)生成中點(diǎn)路徑頂點(diǎn)集,并將中點(diǎn)路徑頂點(diǎn)集中頂點(diǎn)進(jìn)行排序,得到軌跡線頂點(diǎn)序列,即可生成軌跡線,實(shí)現(xiàn)了根據(jù)軌跡網(wǎng)格自動生成軌跡線,不需人工繪制,節(jié)省人工成本,且提高了開發(fā)效率。
[0040]圖5為一個(gè)實(shí)施例中根據(jù)軌跡網(wǎng)格頂點(diǎn)集中頂點(diǎn)生成中點(diǎn)路徑頂點(diǎn)集的具體流程圖。如圖5所示,該根據(jù)軌跡網(wǎng)格頂點(diǎn)集中頂點(diǎn)生成中點(diǎn)路徑頂點(diǎn)集,包括以下步驟:
[0041]步驟502,初始化空的第一集合。
[0042]具體的,可先初始化軌跡網(wǎng)格頂點(diǎn)集A和空的第一集合B。
[0043]步驟504,從該軌跡網(wǎng)格頂點(diǎn)集中依次取出頂點(diǎn)。
[0044]具體的,從軌跡網(wǎng)格頂點(diǎn)集A中依次取出任意頂點(diǎn)P。
[0045]步驟506,判斷在該第一集合中是否存在頂點(diǎn)與該取出的頂點(diǎn)之間距離小于設(shè)定的間距值,若是,則執(zhí)行步驟508,若否,執(zhí)行步驟510。
[0046]具體的,在第一集合B中存在頂點(diǎn)P '與取出的頂點(diǎn)P之間距離小于設(shè)定的間距值,則將第一集合B中頂點(diǎn)P '更新為頂點(diǎn)P'與頂點(diǎn)P的中點(diǎn);在第一集合B中不存在頂點(diǎn)P '與取出的頂點(diǎn)P之間距離小于設(shè)定的間距值,則將頂點(diǎn)P加入第一集合B中。
[0047]在軌跡網(wǎng)格中單側(cè)軌跡路徑前后任意兩點(diǎn)間距大于設(shè)定的間距值,例如設(shè)定的間距值為I米,參圖4,即IAO-BO I > = 1&&I A1-B1|> = I。利用此性質(zhì),可以發(fā)現(xiàn)間距小于I米的2點(diǎn)即為兩條路徑上對應(yīng)的點(diǎn),反映在圖4中即是IAO-Al I〈I。
[0048]設(shè)定的間距值是根據(jù)軌跡網(wǎng)格單側(cè)軌跡路徑前后任意兩點(diǎn)間距確定的。
[0049]步驟508,將該第一集合中的頂點(diǎn)更新為該第一集合中的頂點(diǎn)與該取出的頂點(diǎn)的中點(diǎn)。
[0050]具體的,將第一集合中的與從軌跡網(wǎng)格頂點(diǎn)集取出的頂點(diǎn)距離小于設(shè)定的間距值的頂點(diǎn)更新為該第一集合中的與從軌跡網(wǎng)格頂點(diǎn)集取出的頂點(diǎn)距離小于設(shè)定的間距值的頂點(diǎn)與取出的頂點(diǎn)的中點(diǎn)。
[0051]步驟510,將該取出的頂點(diǎn)加入該第一集合中。
[0052]具體的,將從軌跡網(wǎng)格頂點(diǎn)集中取出的頂點(diǎn)加入第一集合中。
[0053]步驟512,遍歷完該軌跡網(wǎng)格頂點(diǎn)集中頂點(diǎn),將得到的第一集合作為中點(diǎn)路徑頂點(diǎn)集。
[0054]本實(shí)施例中,每次從軌跡網(wǎng)格頂點(diǎn)集中取出一個(gè)頂點(diǎn),并將該頂點(diǎn)與第一集合中