曾雪松,張婭莉
(信陽職業(yè)技術學院 數(shù)學與計算機科學學院,河南 信陽 464000)
?
基于PV3D引擎的熱點不變形理論研究
曾雪松,張婭莉
(信陽職業(yè)技術學院 數(shù)學與計算機科學學院,河南 信陽 464000)
對三維全景漫游開發(fā)過程中的熱點不變形技術難題進行必要的原因剖析和翔實的理論推導,提出采用基于PV3D免費引擎的函數(shù)或類調(diào)用,通過程序類關鍵代碼的編寫,成功解決三維全景虛擬現(xiàn)實漫游動畫中的熱點視頻的不變形添加難題,為實現(xiàn)三維虛擬漫游動畫中多個功能不同場景融合應用與設計,提供更多借鑒與參考.
全景漫游;PV3D引擎;熱點不變形;視頻添加
全景漫游技術也稱為三維全景虛擬現(xiàn)實技術[1]161-163,它的核心是全景圖,通常采用普通相機或專業(yè)設備取景,然后通過相關軟件制作生成.使用全景漫游可以降低實體模型建模難度,減小系統(tǒng)文件空間資源占用,提高網(wǎng)絡運行速度.常見的全景圖可分為立方體全景圖、圓柱形全景圖和球面全景圖.在三維全景漫游虛擬技術應用開發(fā)過程中,原有的實體模型建模因其實體不規(guī)則或模型復雜導致模型數(shù)據(jù)量激增,從而使得實體模型在渲染輸出時速度變得緩慢,使得很多場景相對復雜的模型不能在現(xiàn)有網(wǎng)絡條件下暢快地展示給民眾.隨著三維建模技術的發(fā)展,圖形與圖像技術的綜合應用不斷融合提升,采用簡單模型建模,然后將材質賦給模型,同時配合全景漫游實現(xiàn)三維虛擬效果,這樣可以節(jié)省開發(fā)時間和降低開發(fā)成本,提高三維虛擬技術的實用性.本文主要采用球面全景圖來做參考剖析熱點的不變形理論依據(jù).
Papervision-3D簡稱PV3D[2]89-92,是由巴西Carlos團隊開發(fā)的一款基于Action Script開源且免費提供給Flash動畫領域應用比較成熟的三維立體引擎項目,其遵循MIT協(xié)議.因其交互能力強,開發(fā)技術簡單,占用系統(tǒng)資源小,功能強大,能實現(xiàn)炫麗美觀的Flash 3D動畫應用程序開發(fā),使得Flash 3D動畫制作難度大大降低,從而使該3D引擎得到廣泛應用.如基于3D模型的船舶駕駛仿真模擬動畫,基于3D模型的機動車駕駛模擬動畫,以及基于3D類人物游戲動畫等.查閱相關資料發(fā)現(xiàn),良好地使用該技術可以實現(xiàn)提高三維虛擬仿真動畫的沉浸性、交互性和逼真性.
PV3D引擎因其效率和功能備受關注,但通過查閱相關資料發(fā)現(xiàn),基于PV3D引擎的全景漫游技術[3]2140-2143存在相關功能不夠完善的問題,主要表現(xiàn)在透視投影中會使熱點隨著相機的運動而變形的缺點,從而影響在實際動畫運行中熱點顯示效果.本文主要通過相關基礎理論分析和程序代碼編寫,成功解決熱點變形問題,并用實例證實該法的可行性.
2.1 熱點的變形問題剖析
目前,使用全景技術實現(xiàn)虛擬場景漫游開發(fā)的方法很多,其中,基于PV3D的全景漫游開發(fā)技術在商業(yè)廣告領域應用頗多,利用該技術能夠實現(xiàn)F1ash3D應用程序開發(fā),效果相當不錯.其動畫運行原理是:在3D動畫運行過程中,全景圖中的圖像處在同一曲面坐標系中,包括全景圖中人為創(chuàng)建的熱點圖像,都參與系統(tǒng)設計的絕對運動.所以,我們看到的將是完整的全部像素點運動,動畫效果逼真.但在現(xiàn)實應用中,往往需要3D動畫中局部不動,也就是人為設計熱點區(qū)域,使之突出顯示,實現(xiàn)動中有靜效果.如何解決動畫運行過程中熱點區(qū)域圖像不變的問題是本研究的重心.破解思路是:采取在全景圖中構建熱點,同時將全景圖中的熱點區(qū)域坐標作對應轉換,生成二維平面圖像,通過PV3D函數(shù)類編程實現(xiàn)三維圖像動畫運行中能正常讓二維圖像在三維空間的局部顯示的方法實現(xiàn).為此,需要解決兩個問題,一是熱點的選取,二是對應熱點坐標的轉換.熱點的選取將根據(jù)需要容易解決,在此不再敘述,下面從理論上推理實現(xiàn)熱點的不變形方法與技巧.
2.2 熱點的不變形研究
設二維平面圖中任意一點A(x,y),當采用球面全景圖技術[4]45-68生成全景圖時,與A點對應的球面上點A′(x′,y′,z′)對應幾何關系,如圖1、圖2所示.
圖1 平面圖中任意點A的位置
圖2 對應球面上點A′的位置
依據(jù)左手定則笛卡爾坐標系對應算法,可以算出A′(x′,y′,z′)的坐標值.如公式(1)所示.
(1)
利用上述數(shù)學公式,進一步代入計算,可得平面點A與曲面點A′的關系,如公式(2)所示.
(2)
通過推理與計算,得出三維球面全景圖中的點A′在對應的二維平面圖中的點A位置顯示,從而實現(xiàn)立體圖中任意一點與平面圖中某點形成的完全一一映射關系.三維虛擬漫游技術中,要實現(xiàn)動中有靜,則需要全景漫游動畫中局部“不變”區(qū)域被人為保留出來,通過編寫類代碼來實現(xiàn),且不影響其他區(qū)域動畫效果.
2.3 熱點的不變形添加
依據(jù)上述理論,通過編寫程序類代碼,實現(xiàn)求解平面上點A與球面全景圖上點A′對應,本文采用PV3D引擎提供的calculateScreenCoords( )方法類和計時器Timer類[5]31-49綜合應用,即時獲取A′點在屏幕上的同步二維坐標A顯示,進而完成熱點的不變形添加.熱點的不變形添加關鍵代碼如下:
Varreal2dx:Number=0;
Varreal2dy:Number=0;
Plane.calculateScreenCoords(camera);
Real2dx=plane.screen.x+viewpoint.width/2;
Real2dy=plane.screen.y+viewpoint.height/2.
在實際應用中,常常需要在3D虛擬漫游場景中播放視頻資料,以提升虛擬仿真效果.本文利用PV3D 提供的平面類Plane和視頻流材質類VideoStreamMaterial兩個對象[5]31-43引擎實現(xiàn),簡述過程:首先實例化VideoStreamMaterial 對象中參數(shù)Video 對象和NetStream 對象,然后將VideoStreamMaterial 對象作為材質賦給Plane 對象,最后將Plane對象作為一個熱點,即應用熱點的不變形添加原理實現(xiàn)視頻的不變形添加功能.視頻的不變形添加關鍵代碼如下:
Var video:video=new video();
Var NC:netconnection=new netconnection();
NC.connect(null);
Var NS:netstream=new netstream(NC);
NS.play(“/video/shiping.flv”);
Video.attzchnetstream(NS).
本文主要對三維全景漫游開發(fā)過程中的熱點不變形技術難題進行必要的原因剖析和翔實的理論推導,提出采用基于PV3D免費引擎的函數(shù)或類調(diào)用,通過程序類關鍵代碼的編寫,成功解決三維全景虛擬現(xiàn)實漫游動畫中的熱點,視頻的不變形添加難題,為實現(xiàn)三維虛擬漫游動畫中多個功能不同場景融合應用與設計提供更多借鑒與參考.本研究將對三維虛擬漫游場景中的文本、圖片、流媒體等信息的拓展開發(fā)設計與應用提供更為豐富多彩的方法.
[1] 文衛(wèi)民,江朝偉,童獻文.基于三維全景技術的虛擬校園漫游系統(tǒng)設計及藝術表現(xiàn)探究[J].藝術與設計,2011,2(4).
[2] 李 衛(wèi),袁 銘.Flash Papervision3D中3D Web應用程序設計[J].現(xiàn)代電子技術,2012,35(21).
[3] 陳 寧,龔蘇斌.基于PV3D的全景漫游關鍵技術研究[J].系統(tǒng)仿真學報,2013,25(9).
[4] 丁 雄.球面全景圖技術研究[D].哈爾濱:國防科學技術大學,2002.
[5] 龔蘇斌.基于視景重現(xiàn)的艦船IETM系統(tǒng)開發(fā)[D].鎮(zhèn)江:江蘇科技大學,2014.
[責任編輯 冰 竹]
Hot Deformation Theory Based on PV3D Engine Research
ZENG Xuesong, ZHANG Yali
(SchoolofMathematicsandComputerScience,XinyangVocationalandTechnicalCollege,Xinyang464000,China)
The paper made the necessary reason analysis and detailed theoretical derivation for the difficult problems in the process of development of three-dimensional panoramic roaming the hot deformation technology. It proposed that, through the written application class key code, function calls or class——which are based on PV3D free engine——successfully solved the heat in three-dimensional virtual reality panorama roaming animation and video deformation added problem, which provided more reference for the realization of the three-dimensional virtual roaming animation fusion applications with multiple functions in different scenario.
panoramic roaming; PV3D engine; hot spot deformation; video addition
2016-08-02
2016年度河南省教育科學“十三五”規(guī)劃課題“三維數(shù)字化校園動漫設計與實現(xiàn)”(項目編號[2016-JKGHB-0394])
曾雪松(1980-),男,河南光山人,信陽職業(yè)技術學院講師,主要從事三維虛擬技術與網(wǎng)絡技術研究。
1671-8127(2016)05-0032-03
TP393.09
A