• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      虛擬商城漫游系統(tǒng)設計模式及應用

      2016-05-14 00:24李輝
      現(xiàn)代電子技術 2016年8期
      關鍵詞:商城漫游鼠標

      李輝

      摘 要: 對虛擬商城漫游系統(tǒng)設計模式與流程進行分析,以3DS MAX和Virtools為開發(fā)工具進行了系統(tǒng)開發(fā)與實現(xiàn)。根據(jù)漫游系統(tǒng)的特點和需求,采用了多邊形建模技術、紋理貼圖技術和烘焙技術實現(xiàn)商城場景和模型細節(jié)制作?;赩irtools內嵌腳本語言和內置行為交互模塊相結合的方式,實現(xiàn)了商城漫游、商品展示、碰撞檢測等交互性能,有助于節(jié)約系統(tǒng)資源,提高系統(tǒng)開發(fā)效率,提升系統(tǒng)程序的復用性和可維護性,增強用戶沉浸感、交互性、構想性。

      關鍵詞: 虛擬商城漫游系統(tǒng); 3DS MAX軟件; Virtools工具; 設計模式

      中圖分類號: TN911?34 文獻標識碼: A 文章編號: 1004?373X(2016)08?0045?03

      Design mode of virtual mall roaming system and its application

      LI Hui

      (Department of Information Technology, Chengdu Agricultural College, Chengdu 611130, China)

      Abstract: The design pattern and process of virtual mall roaming system are analyzed in this paper. The development and implementation of system are completed by 3DS MAX and Virtools. According to the characteristics and demand of roaming system, polygon modeling, texture mapping technology and baking technology are adopted to realize mall scenarios and model details. interactive performances of mall roaming, commodity exhibition and collision detection, were realized based on a combination of Virtools embedded scripting language (VSL) and built?in behavior (BB) interaction module. It is conductive to system resources saving, improvement ment of system development efficiency, reusability and maintainability of the system program, and enhancement of the user immersion and interaction.

      Keywords: virtual mall roaming system; 3DS MAX software; Virtools tool; design mode

      虛擬現(xiàn)實技術是一種集合多傳感器技術、仿真技術、多媒體技術、人工智能技術等為一體的工具,借助計算機建立比較真實的虛擬環(huán)境,設置人機接口,確保用戶與虛擬環(huán)境直接交互,用戶感受更直觀、立體的現(xiàn)實場景[1]。虛擬商城漫游系統(tǒng)能展現(xiàn)逼真的商城環(huán)境和商品信息,支持用戶借助網(wǎng)絡展開遠程訪問,在商城產品環(huán)境、對外宣傳方面起著重要的作用。

      1 設計虛擬商場漫游系統(tǒng)所用工具

      1.1 3DS MAX軟件

      3DS MAX是基于PC系統(tǒng)開發(fā)出現(xiàn)的三維動畫制作軟件,該軟件廣泛應用于廣告、動漫、建筑設計、游戲開發(fā)、教學等多個領域。相比較而言,我國采用3DS MAX軟件設計建筑效果圖、動畫技術比較成熟,該軟件具有擴展性能好、插件豐富、便于操作、功能強大等優(yōu)點,成為設計、開發(fā)虛擬環(huán)境的必然選擇。

      1.2 Virtools軟件

      Virtools軟件是包含多種功能的三維開發(fā)工具,可以把已有的檔案格式進行整合,主要由開發(fā)、生成、發(fā)布三個模塊相互組合完成。開發(fā)模塊包含大量的應用程序、軟件開發(fā)的工具包,其中主要的創(chuàng)作工具有Virtools Dev。在上述開發(fā)環(huán)境中,用戶能夠快速、準確地建立應用程序,并依據(jù)自身需求,對三維模型、圖片、聲音等對象展開各項操作[2]。

      在Virtools開發(fā)模塊中,用戶能夠快速、簡便地創(chuàng)建應用程序,并依據(jù)自身的需要,生成模塊主要有行為引擎、渲染引擎兩個部分。行為引擎實現(xiàn)管理、處理對象、輸入?yún)?shù)、設置屬性等操作。發(fā)布模塊主要包括EXE文件生成器、Web播放器,前者可將應用程序直接打包成為EXE文件,后者能夠創(chuàng)建以B/S為基礎的網(wǎng)絡虛擬環(huán)境,如圖1所示。Virtools軟件具有強大、方便的交互、實時響應能力,但其自身不具備為三維實體建模或制作動畫能力,因此,開發(fā)3D產品時,該軟件必須與Maya,3DS MAX軟件結合使用。

      2 設計虛擬商場漫游系統(tǒng)的步驟

      虛擬商場漫游系統(tǒng)設計主要流程如圖2所示。

      2.1 三維場景建模

      對整個虛擬場景建設是進行商場漫游系統(tǒng)設計的基礎,場景建模質量與系統(tǒng)運行效果、三維畫面的逼真程度密切相關,必須對真實的商場場景布局進行研究、分析,確定設計的漫游系統(tǒng)所需的場景和范圍[3]。采用3DS MAX軟件中的點、線、面、體等工具,逐步構建虛擬場景的各個區(qū)域。對于必須精細建模的物體,必須采用精確的幾何圖形進行創(chuàng)建,如圖3所示。

      部分非重點對象在確保其視覺不失真的基礎上,構建一系列簡單的模型,盡量使用參數(shù)化辦法進行構建。必須注意,構建對象時,盡量減少使用幾何體分段數(shù),復雜的幾何對象可以采用紋理貼圖進行代替,并將場景內部不可見的面展開刪除操作。在圖4中,場景中建設的盆栽,借助貼圖方式替代傳統(tǒng)建模形式,并將該虛擬場景內家具不可見面進行刪除,基于不影響整體效果狀態(tài)下,有效節(jié)省創(chuàng)建場景所用時間,提升場景的實時渲染效果和渲染速度。使用3DS MAX軟件操作時,一般借助復制的方式增多相同物體數(shù)量。進行復制操作時,主要采用Copy(復制)、Reference(參考)、Instance(實例)三種復制方法。文中使用Instance對物體進行復制,如圖3中的設計的床頭柜,借助Instance形式對物體實施復制操作,所復制的物體可隨原物體的改變而變化[4]。因此,根據(jù)一個物體就能合理控制所有復制物體,進而輸出成為.nmo模式,編輯器自行把上述復制的物體包含原物體輸出一個物體狀態(tài)展開存儲操作,能夠縮減編譯所用時間,緩解或解決存儲文件過大、過小的問題。

      創(chuàng)建好上述模型后,觀看模型發(fā)現(xiàn)其逼真度較低。因此,在導入Virtools操作前,必須對創(chuàng)建的模型進行材質、貼圖、烘焙等各項操作。材質具有模擬各種材料視覺效果的功能,貼圖作為物體表面紋理,采用增設模型紋理、質地、色彩等操作,確保模型具有較強的真實感。在3DS MAX軟件中,建立、編輯模型材質或貼圖均借助材質編輯器(Meterial)進行操作。因Virtools Dev工具缺少雙重材質導入功能,換句話來說,對多維、多面材質模型展開操作,實施烘焙后即可順利將材料導入Virtools中。烘焙是指將模型場景內的光照等信息渲染形成一張貼圖的方式,之后將烘焙完成的貼圖重新貼到場景內的技術,上述操作可在實時3D應用系統(tǒng)中降低渲染器負擔,提高操作的幀速率。常見的烘焙方式主要包括Complete Map,Lighting Map兩種形式。本文使用Complete Map方式展開烘焙操作,該工具幾乎支持3DS MAX多數(shù)材質,例如:復合材質、多維材質等,烘焙完成的圖片光感效果極好。必須注意,想要獲得最佳的烘焙效果,需合理設計烘焙尺寸,盡可能做大一些,否則比較模糊,效果不佳。若烘焙完成的物體曝光度過大,必須再次調整燈光倍增值、材質高光等各項參數(shù)。物品再次實施烘焙操作時,必須清除上一次物體烘焙結果,不然會出現(xiàn)烘焙貼圖錯誤的情況。烘焙操作流程如下:將編輯器內自動出現(xiàn)的貼圖坐標進行刪除操作,如果在Render To Textures面板中對烘焙結果實施清除。合理設置再次烘焙各項參數(shù),導出并存儲相關數(shù)據(jù)信息[5]。

      3 虛擬商城漫游系統(tǒng)實現(xiàn)效果

      3.1 場景模型導入到Virtools

      對模型或角色動畫進行導出操作前,必須在3DS MAX軟件中安裝相應的3DS MAX Exporer.exe,同時對是否安裝MAX2 Virtools.DLE文件加載項進行檢測。對所創(chuàng)建的模型或角色動畫進行數(shù)據(jù)轉換,保存成Virtools Dev工具默認的.nmo格式文件。導入Virtools后,若發(fā)現(xiàn)導入的圖片或模型顯示黑色,需在材質設置選項中合理調整自發(fā)光參數(shù),即能恢復正常的貼圖效果[6]。

      3.2 商城漫游場景的交互實現(xiàn)

      基于Virtools的虛擬現(xiàn)實系統(tǒng)交互方式主要有內置的行為交互模塊(Building Blocks,BB)和Virtools腳本語言(VSL)兩種。BB方法操作簡便,流程清晰,但模塊及功能有限,容易出現(xiàn)參數(shù)繁瑣,程序臃腫,復用性差等問題;VSL靈活自由,復用率高,有助于提高系統(tǒng)運行效率。本系統(tǒng)中較為常見、簡單的交互,采用內置BB實現(xiàn);對于繁雜場景下靈活多變,可重用性需求高的交互功能,采用VSL實現(xiàn)。

      系統(tǒng)采用鍵盤控制角色動作,一旦用戶觸發(fā)相應按鍵,系統(tǒng)就會完成用戶指令響應。為實現(xiàn)虛擬角色站在地面上,并避免其在行走過程中與墻壁等障礙物發(fā)生碰撞,通過Virtools內置BB實現(xiàn)。增設Character Controler至虛擬角色的Script內,對虛擬角色各項參數(shù)實施編輯。增加Prevent Collision,Object Slider至虛擬場景角色的Script,并對各項輸入?yún)?shù)展開編輯。這時,應該對地面設置“Floor”屬性,并對可能出現(xiàn)的碰撞物體賦予“Obstacles”屬性[7]。

      系統(tǒng)采用一個第一人稱攝像機作為用戶視角,為角色和攝像機創(chuàng)建Parent關系,攝像機跟隨角色產生運動,通過鍵盤控制角色運動方向,通過鼠標動作控制漫游視角變化。虛擬角色漫游交互采用VSL實現(xiàn),主要代碼如下:

      Void main( ){GUID inputguid=GetInputManagerGuid();

      InputManager iM=InputManager.Cast(bc.GetManagerByGuid(inputguid);

      Vector oldPos,newPos;

      Vector SpeedW(0,0,-0.2), SpeedL(-0.2,0,0), SpeedY(0, -0.2,0), SpeedZ(0,0,-0.2)); //定義各個方向的轉動速度

      Float rotateAngle=0.02; //定義轉動的角度系數(shù)

      Vector2D MPin;

      Vector MosPos;

      iM.GetMouseRelativePosition(MosPos);

      //獲取鼠標實時位移向量MosPos

      iM.GetMousePosition(MPin,false); //獲取鼠標當前坐標

      bool IsMosIn;

      if(Mpin.x>=0&&Mpin.x<=800&& Mpin.y>=0&&Mpin.y<=600) IsMosIn=true;

      else IsMosIn=false; //判定鼠標是否在窗口內

      if(iM.IsMouseButtonDown(CK_MouseButton_Left)&& IsMosIn)

      {Vector AxisY(0,1,0);

      floatRotateAngleX=MosPos.x*(-0.005);

      floatRotateAngleY=MosPos.y*(-0.005);

      Man.rotate(AxisY,RotateAngleX); //Man為VSL模塊的輸入

      參數(shù),類型為Character,控制人物在左右方向上移動

      VectorAxis;

      MyCamera.GetOrientation(Null, Null,Axis, Null);

      MyCamera.Rotate(Axis, -rotateAngleY);

      //MyCamera為VSL模塊輸入?yún)?shù),類型為Camera??刂茢z像

      機在上下方向上轉動

      }

      //當鼠標在窗口內,且按下鼠標左鍵時,控制視角方向變動

      If(iM.isKeyDown(CKKEY_W)) Man.Translate(SpeedW, Man); //當按下W鍵,人物向前移動

      …… //其他方向移動,同理 }}

      3.3 虛擬商品模型三維交互展示實現(xiàn)

      商品模型三維展示交互效果包括模型移動、旋轉、縮放等。例如:用戶進行商品觀摩時,可通過鼠標按鍵對模型進行旋轉觀看,有助于全方位、多角度了解商品外觀和特點。模型角度旋轉操作使用基于VSL開發(fā)的自定義BB“MouseRotate”和“While”循環(huán),可實現(xiàn)用鼠標按一定軸向(“1”為y軸)和單位角度來旋轉模型。

      inputManager iM =InputManager.Cast(bc.GetManagerByGuid(GetInputManagerGuid()));

      RenderContext rc=bc.GetPlayerRenderContext();

      IntersectionDesc desc;

      rcx.Pick(x,y,desc);

      //根據(jù)鼠標的位移來旋轉模型,x和y是鼠標的位置坐標

      ent=desc.Object; //當鼠標左鍵點選模型,先將“ent”初始

      化為模型的位移

      iM.GetMouseRelativePosition(speed);

      speed.x*=RSpeed; //RSpeed為單位旋轉角度

      float delta=bc.GetDeltaTime()/1000;

      If(axis==1){ ent.Rotate(1,0,0,0,ent);

      //以y軸為旋轉軸方向,對模型進行旋轉

      ent.Rotate(0,1,0,speed.x*delta,ent);

      ent.Rotate(0,0,1,0,ent); }

      3.4 虛擬商場中自動開關門的實現(xiàn)

      采用虛擬場景行為模塊內的Proximity判定創(chuàng)設角色與商城門兩者間的距離,如果虛擬對象和門之間距離比設置閾值小,自動執(zhí)行“開門”操作。如果兩者距離明顯大于所設定閾值,實施“關門”操作。采用“Rotate”對門旋轉狀態(tài)進行控制,如圖5所示。

      系統(tǒng)以VMO文件格式保存,發(fā)布成HTML網(wǎng)頁格式,用戶可以在瀏覽器上進行多視點、多場景的交互式漫游瀏覽,最大程度地提高漫游的真實感,對商城的宣傳發(fā)揮著重要作用。

      4 結 語

      本文對虛擬商城漫游系統(tǒng)設計模式與流程進行分析總結,基于3DS MAX和Virtools開發(fā)工具進行了系統(tǒng)開發(fā)與實現(xiàn)。對復雜場景的虛擬漫游研究是計算機圖形學領域的一個重要課題,在確保在線實時漫游速度和漫游真實感的同時,漫游系統(tǒng)的場景優(yōu)化策略和碰撞檢測技術將是本文下一步的研究方向。

      參考文獻

      [1] 朱玉.基于 Unity3D 漫游系統(tǒng)的設計與研究[J].信息安全與技術,2014,23(12):78?81.

      [2] 陳山.基于街景地圖服務的虛擬實景漫游系統(tǒng)設計[J].計算機與數(shù)字工程,2015,13(6):1121?1124.

      [3] 唐菲菲,果連成,張珣.智能家居系統(tǒng)全景界面可控點自動識別的研究[J].現(xiàn)代電子技術,2013,36(2):32?35.

      [4] 歐陽攀,李強,盧秀慧.基于Unity3D的虛擬校園開發(fā)研究與實現(xiàn)[J].現(xiàn)代電子技術,2013,36(4):19?22.

      [5] 肖君,霍超塵.基于3DS MAX與VRP的虛擬商城漫游系統(tǒng)的優(yōu)化[J].中國電子商務,2013,11(2):61?62.

      [6] 于力超,張賢鋒.基于WebGL的網(wǎng)上虛擬太陽系漫游系統(tǒng)的設計與實現(xiàn)[J].電腦與信息技術,2015,23(1):49?53.

      [7] 胡春花,陳曉梅.基于虛擬現(xiàn)實的3D演出場館漫游系統(tǒng)的設計與實現(xiàn)[J].電腦知識與技術,2014,37(31):7473?7476.

      猜你喜歡
      商城漫游鼠標
      Progress in Neural NLP: Modeling, Learning, and Reasoning
      霹靂漫游堂
      商城
      NASA漫游記
      悅居商城
      悅居商城shop
      51,商城
      邊走邊看:漫游海底 夢想成真
      45歲的鼠標
      超能力鼠標
      崇文区| 讷河市| 德化县| 万州区| 偏关县| 莱芜市| 大石桥市| 江孜县| 田林县| 清苑县| 孝昌县| 吴江市| 永兴县| 孝义市| 孝昌县| 静乐县| 调兵山市| 麻城市| 巫山县| 板桥市| 墨江| 会泽县| 轮台县| 安福县| 江西省| 新兴县| 关岭| 嘉荫县| 西充县| 土默特右旗| 鹤山市| 金平| 大田县| 沅江市| 怀柔区| 潜山县| 东平县| 黔西县| 高雄县| 石景山区| 成武县|