本技術(shù)涉及計算機,特別涉及一種虛擬場景中道路資源的生成方法、裝置及計算機設(shè)備。
背景技術(shù):
1、隨著計算機技術(shù)的發(fā)展和終端功能的多樣化,終端經(jīng)常需要在虛擬場景中顯示虛擬道路,比如在游戲應用中繪制虛擬道路,或者在地圖應用中繪制虛擬道具。
2、當虛擬場景中多條虛擬道路形成交叉路口時,有可能在交叉路口處會出現(xiàn)銜接不平整的現(xiàn)象,通常需要由技術(shù)人員來對交叉路口的幾何體進行人工調(diào)整或修復,這樣道路資源的生成效率低,虛擬場景的開發(fā)效率低。
技術(shù)實現(xiàn)思路
1、本技術(shù)實施例提供了一種虛擬場景中道路資源的生成方法、裝置及計算機設(shè)備,能夠提升道路資源的生成效率,從而提升虛擬場景的開發(fā)效率。該技術(shù)方案如下:
2、一方面,提供了一種虛擬場景中道路資源的生成方法,所述方法包括:
3、對虛擬場景中多條虛擬道路的交叉路口,獲取每條所述虛擬道路在所述交叉路口中交叉路段的道路中心線,所述道路中心線的兩個端點中至少有一個路口端點,所述路口端點與所述虛擬道路中非交叉路段相鄰接;
4、基于各個交叉路段的法線向量,在所述虛擬場景中確定所述交叉路口的投影平面;
5、基于各條所述道路中心線在所述投影平面中的投影相交點,對各條所述道路中心線進行切割,得到多條切割中心線;
6、基于所述多條切割中心線和每個交叉路段的道路寬度,生成所述交叉路口的道路資源。
7、一方面,提供了一種虛擬場景中道路資源的生成裝置,所述裝置包括:
8、獲取模塊,用于對虛擬場景中多條虛擬道路的交叉路口,獲取每條所述虛擬道路在所述交叉路口中交叉路段的道路中心線,所述道路中心線的兩個端點中至少有一個路口端點,所述路口端點與所述虛擬道路中非交叉路段相鄰接;
9、確定模塊,用于基于各個交叉路段的法線向量,在所述虛擬場景中確定所述交叉路口的投影平面;
10、切割模塊,用于基于各條所述道路中心線在所述投影平面中的投影相交點,對各條所述道路中心線進行切割,得到多條切割中心線;
11、生成模塊,用于基于所述多條切割中心線和每個交叉路段的道路寬度,生成所述交叉路口的道路資源。
12、在一些實施例中,所述獲取模塊用于:
13、對所述交叉路口中的每個所述交叉路段,從所述交叉路段的路口曲線參數(shù)中讀取所述道路中心線的三維幾何數(shù)據(jù),所述路口曲線參數(shù)用于指示所述交叉路段在所述交叉路口中的路口曲線;
14、基于所述三維幾何數(shù)據(jù),將所述道路中心線重采樣為多段線,以使重采樣后的多段線中相鄰的三維點之間的距離相同。
15、在一些實施例中,所述路口曲線參數(shù)包括:所述道路中心線的三維幾何數(shù)據(jù)、所述交叉路段的路口標識、所述交叉路段的法線向量以及所述交叉路段的道路寬度。
16、在一些實施例中,所述確定模塊用于:
17、對各個交叉路段的法線向量進行歸一化,得到各個交叉路段的第一法向量;
18、以各個交叉路段的道路寬度為權(quán)重系數(shù),對各個交叉路段的第一法向量進行加權(quán)平均,得到各個交叉路段的第二法向量;
19、對各個交叉路段的第二法向量進行歸一化,得到各個交叉路段的第三法向量;
20、基于各個交叉路段的第三法向量的平均法向量,從所述虛擬場景中確定所述投影平面,以使所述投影平面垂直于所述平均法向量,且穿過所述虛擬場景中世界坐標系的原點。
21、在一些實施例中,所述切割模塊包括:
22、投影子模塊,用于將每條所述道路中心線投影到所述投影平面,得到一條投影中心線;
23、第一確定子模塊,用于在所述投影平面中,確定各條投影中心線構(gòu)成的至少一個投影相交點,所述投影相交點是指多條投影中心線在所述投影平面中的交點;
24、切割子模塊,用于基于所述至少一個投影相交點,對各條投影中心線進行切割,得到多條投影切割線;
25、所述投影子模塊,還用于將所述多條投影切割線投影回所述虛擬場景,得到所述多條切割中心線。
26、在一些實施例中,所述切割子模塊包括:
27、確定單元,用于對每條所述投影中心線,在所述投影中心線或者所述投影中心線的延長線上確定至少一個投影相交點,以所述至少一個投影相交點作為切割點,將所述投影中心線切割成至少一條投影切割線;
28、剔除單元,用于從各條投影切割線中,剔除符合清理條件的投影切割線。
29、在一些實施例中,所述確定單元用于:
30、如果所述投影中心線與其他的投影中心線之間存在交點,將所述交點確定為所述投影相交點;
31、如果所述投影中心線與其他的投影中心線之間不存在交點,將所述投影中心線標記為未切割多段線,對于所述投影平面中標記的各條未切割多段線,如果所述未切割多段線的延長線與其他的未切割多段線的延長線之間存在延長線交點,將所述延長線交點確定為所述投影相交點。
32、在一些實施例中,所述確定單元還用于:
33、如果所述未切割多段線的延長線與其他的未切割多段線的延長線之間不存在延長線交點,從所述未切割多段線中確定第一鄰近點,從其他的未切割多段線中確定第二鄰近點,以使所述未切割多段線中任一三維點與所述其他的未切割多段線中任一三維點之間的距離不小于最小距離,所述最小距離是指所述第一鄰近點與所述第二鄰近點之間的距離;
34、將所述第一鄰近點和所述第二鄰近點均確定為所述投影相交點。
35、在一些實施例中,所述清理條件包括:投影切割線的兩個端點中包含一個所述投影相交點和一個孤立端點,所述孤立端點是指既不是所述路口端點也不是所述投影相交點的端點。
36、在一些實施例中,所述生成模塊包括:
37、第二確定子模塊,用于對每條所述切割中心線,基于所述切割中心線所來源的交叉路段的道路寬度和法線向量,確定所述交叉路段的道路曲面;
38、第三確定子模塊,用于基于各個道路曲面,確定所述交叉路口在所述虛擬場景中的交叉路面;
39、生成子模塊,用于基于所述交叉路面的輪廓多段線,生成所述交叉路面的輪廓曲線;
40、合成子模塊,用于基于所述交叉路面的輪廓曲線,合成所述交叉路口的道路資源。
41、在一些實施例中,所述第二確定子模塊用于:
42、基于所述道路寬度和所述法線向量,將所述切割中心線進行偏移,得到兩條道路邊緣線,其中,所述道路邊緣線的兩個端點標記為交匯點,所述道路邊緣線上除了所述兩個端點以外的三維點標記為邊緣點;
43、以所述兩條道路邊緣線為雙側(cè)道路邊緣,確定圍成的所述道路曲面。
44、在一些實施例中,所述第三確定子模塊用于:
45、將每個所述道路曲面投影至所述投影平面,得到一個投影路面;
46、在所述投影平面中,確定各個投影路面之間的并集路面;
47、將所述并集路面投影回所述虛擬場景,得到所述交叉路面。
48、在一些實施例中,所述生成子模塊用于:
49、從所述交叉路面的輪廓多段線的各個線段中,剔除符合刪除條件的線段;
50、對剔除后的輪廓多段線進行平滑,得到輪廓平滑線;
51、基于所述輪廓平滑線,生成所述交叉路面的輪廓曲線,所述輪廓曲線中除了所述輪廓平滑線以外還包括多條連接線,每條連接線均由一組來源點相同的路口端點連接得到。
52、在一些實施例中,所述交匯點包括所述路口端點、所述投影相交點、所述孤立端點以及輪廓相交點,所述輪廓相交點是指所述并集路面中輪廓線的交點;所述刪除條件包括:線段的兩個端點均屬于所述交匯點。
53、在一些實施例中,所述裝置還包括:
54、連接標記模塊,用于從所述交叉路面的輪廓多段線中,如果存在任意一對交匯點符合修復條件,刪除所述一對交匯點之間的三維點,連接所述一對交匯點,將所述一對交匯點均標記為邊緣點。
55、在一些實施例中,所述修復條件包括下述至少一項:任意一對輪廓相交點之間不存在其他的輪廓相交點,且所述一對輪廓相交點之間有且僅有一個不屬于路口端點的交匯點;或,任意一對指定交匯點之間不存在邊緣點,所述指定交匯點是指所述投影相交點或所述孤立端點。
56、在一些實施例中,所述合成子模塊用于:
57、對所述輪廓曲線進行填充,得到封閉路面;
58、對所述封閉路面進行重拓撲,得到拓撲路面;
59、對所述拓撲路面進行平滑,得到平滑路面;
60、基于所述平滑路面,合成所述交叉路口的道路資源。
61、一方面,提供了一種計算機設(shè)備,該計算機設(shè)備包括一個或多個處理器和一個或多個存儲器,該一個或多個存儲器中存儲有至少一條計算機程序,該至少一條計算機程序由該一個或多個處理器加載并執(zhí)行以實現(xiàn)如上述虛擬場景中道路資源的生成方法。
62、一方面,提供了一種計算機可讀存儲介質(zhì),該計算機可讀存儲介質(zhì)中存儲有至少一條計算機程序,該至少一條計算機程序由處理器加載并執(zhí)行以實現(xiàn)如上述虛擬場景中道路資源的生成方法。
63、一方面,提供一種計算機程序產(chǎn)品,所述計算機程序產(chǎn)品包括一條或多條計算機程序,所述一條或多條計算機程序存儲在計算機可讀存儲介質(zhì)中。計算機設(shè)備的一個或多個處理器能夠從計算機可讀存儲介質(zhì)中讀取所述一條或多條計算機程序,所述一個或多個處理器執(zhí)行所述一條或多條計算機程序,使得計算機設(shè)備能夠執(zhí)行上述虛擬場景中道路資源的生成方法。
64、本技術(shù)實施例提供的技術(shù)方案帶來的有益效果至少包括:
65、通過交叉路口中各個交叉路段的法線向量,在虛擬場景中找到一個投影平面,使得能夠通過各個交叉路段的道路中心線在投影平面中的投影相交點,對每條道路中心線切割產(chǎn)生切割中心線,從而通過在投影平面中標記的投影相交點,能夠在三維空間中切割掉道路中心線上可能會引起路面外凸或內(nèi)凹等影響邊緣平整度的部分,最終根據(jù)各個切割中心線來生產(chǎn)交叉路口的道路資源,計算機程序在給定各個交叉路段的道路中心線的情況下能夠自動執(zhí)行并生產(chǎn)道路資源,無需人工建模路口幾何體等道路資源,節(jié)約了場景開發(fā)的人力成本,極大提升了道路資源的生成效率,從而提升了虛擬場景的開發(fā)效率。