舒 堅,楊 勇,吳?;?/p>
(安徽大學 大學計算機教學部,安徽 合肥 230601)
基于Virtools平臺的三維虛擬計算機硬件組裝
舒 堅,楊 勇,吳福虎
(安徽大學 大學計算機教學部,安徽 合肥 230601)
《大學計算機基礎》課程是該校非專業本科生必修公共課,其中硬件知識抽象難懂,加上資金、場地和設備等原因,大部分學生又無法親自動手實驗,使得硬件教學難以取得好的效果,這個問題長期以來困擾著老師和同學們。有鑒于此,從軟件角度著眼,利用3ds Max制作計算機硬件三維模型,導入Virtools虛擬現實軟件中,建立世界坐標系下的虛擬互動實驗場景,開發單機運行或基于B/S的網絡虛擬平臺,使所有學生使用鼠標、鍵盤即可在虛擬場景中模擬安裝計算機硬件的過程。系統初步實現后,為了測試可行性,將其安裝在大學計算機教學部實驗機房,通過一段時間測試,學生反映在虛擬環境下操作簡便、實用,能夠反復操作。對以前那些抽象的硬件,一目了然,非常便于學習。由此可見,三維虛擬現實系統的開發在學生課程實驗中大有作為。
三維模型;虛擬現實;B/S網絡;世界坐標系;虛擬互動
該校大學計算機公共課,面對全校所有非計算機專業4 000多學生,對其進行計算機通識教育。課程內容面對不同專業的學生(如理工類、經管類、文科類及藝術類)而有所取舍,以適應不同專業需求。但是,無論如何總有一個模塊無法跨越,那就是晦澀難懂又非常重要的計算機硬件知識點。每次講到這部分內容時,老師只能在投影上展現有限的圖片,進行抽象講解,大部分學生很難理解,其重要原因就是無法動手拆裝計算機硬件。雖然在省級示范實驗中心建設項目中建立了一個硬件組裝實驗室,但由于場地、設備、經費限制,只能滿足少量學生使用。秉承計算思維方式,對問題抽象、模型建立、算法設計和實現以及問題引申[1],考慮使用三維建模和虛擬現實軟件方法來解決[2]。
虛擬現實技術是仿真技術的一個重要分支,它是仿真技術與計算機圖形學、人機接口技術、多媒體技術、傳感技術、網絡技術等多種技術的有機結合。虛擬現實技術(VR)主要包括模擬環境、感知、自然技能和傳感設備等方面數據,由計算機模擬生成三維立體逼真模型和三維場景,再通過建立交互功能,實現實時動態互動。一個完整的虛擬現實系統應用開發平臺由兩部分組成:硬件開發平臺,即具有一定圖像處理功能的系統;軟件開發平臺,即面向應用對象的虛擬現實應用軟件開發平臺。這個虛擬現實系統,負責整個VR(虛擬)場景的建立、開發、運算、生成,是整個虛擬現實系統的核心基礎,它連接和協調整個系統硬件和網絡的工作和運轉,與它們共同組成一個完整的虛擬現實系統[3]。
文中討論了如何將三維建模和虛擬現實技術進行融合,構建基于網絡和單機版仿真硬件實驗平臺,使學生在虛擬實驗環境中進行操作,培養學生勇于創新、善于動手的能力[4]。
平臺框架圖如圖1所示。

圖1 平臺框架圖
1.1 硬件結構
根據大學計算機公共教學的實際環境,該平臺基于的硬件應該是學生平時實驗用機,這樣的平臺才有真正的實際意義。
1.2 軟件結構
三維模型制作,包括主板、CPU、內存、風扇等的制作,材質/貼圖,輸出。虛擬現實制作,設置攝像機、燈光以及編程控制,實現硬件組裝互動功能[5]。
2.1 三維模型制作
三維模型制作軟件3ds Max是Autodesk公司發布,基于PC系統的三維動畫渲染和制作軟件。文中使用3ds Max 2012-32位系統,以華碩M5A78L-M LX主板為參照。
由于要制作的模型如CPU、主板、內存等多為規整形狀,所以可利用max系統提供的2D基本樣條線、3D標準基本體、復合對象等元素建立基本模型,按比例設置尺寸單位,轉換為可編輯類型,就可以在物體“點”、“邊”、“面”、“元素”等層級,對基本樣線條和三維模型進行擠出、倒角、輪廓、翻轉等變換,根據需要還可添加FFD、彎曲、殼、平滑等修改器,便可以制作出硬件模型。
但是,對風扇一類曲面模型,則可采用NURBS曲線建模方法,以產生不規整模型,比如扇葉(見圖2(a))。先繪制出如圖2(b)所示的三條NURBS曲線,注意上、下曲線要不在一個平面中,制作出來的扇葉才有曲面感。然后再對其中一條NURBS曲線在其余兩個方向上進行單軌放樣,形成如圖2(c)所示的曲面。這樣生成的曲面是沒有厚度的,須添加“殼”、“渦輪平滑”修改器,最終形成如圖2(a)的扇葉模型。

圖2 制作曲面模型
材質/貼圖采用max標準方式,為了表達模型的真實性,對每個配件進行拍照,然后用PS采集圖片顏色、圖案元素,以JPG格式保存,使用位圖方式貼在模型漫反射和凹凸通道上,制作出真實感更好的主板三維模型圖[6],如圖3所示。

圖3 PC主板的三圍模型圖
2.2 虛擬實驗場景的建立
三維場景和互動制作軟件Virtools,是法國達索(Dassault Systmes)公司的一套整合軟件,可以將3D模型、2D圖形等進行整合,利用其提供的豐富互動行為模塊快速制作出不同用途的3D環境虛擬實境產品。上海世博會組委曾選擇3DVIA Virtools作為世博會158年以來第一次網絡博覽會的獨家技術支持平臺,給觀眾提供一個逼真的虛擬3D體驗和實時互動的全球化平臺。
對于虛擬現實技術來說,了解一些3D數學是不可缺少的。向量是3D算法的基礎,設計中必須熟悉向量基本概念:向量位移、長度和歸一化;向量運算:加減、乘法、點積和差積等。在Virtools中有2D和3D兩種向量,2D向量用Vector2D類表示,類似一個結構體數據類型(X,Y),表示一個屏幕二維坐標;3D向量用Vector類表示,它的結構體數據類型為(X,Y,Z),用來表示三維世界坐標[7]。
這里討論的是將上面3dsmax建立的模型導入Virtools中。首先建立一個虛擬場景,再利用系統提供的封裝行為模塊(腳本BB),編程VSL腳本程序,實現在GUI界面通過鼠標和鍵盤操控攝像機從不同方位觀測場景,并使用鼠標拖動安裝各個配件,實現即時互動。
2.2.1 導出模型
3dsmax系統須安裝MaxToVirtools插件,這樣從max導出的模型文件可以保存為(.NMO.CMO.VMO)格式,方可導入Virtools軟件(目前該插件為5.0版,對應3dsMax2012-32位)。
2.2.2 導入模型
在Virtools場景導入三維模型后,場景默認沒有燈光,整個虛擬場景是黑暗的,因此首要設置燈光。為場景設置了七盞燈光,分別照射場景不同位置,調節3D坐標以達到最佳效果,如圖4所示。

圖4 導入模型
2.2.3 攝像機設置
攝像機為觀察者的眼睛,從不同方位觀察場景可看成是攝像機角度和坐標的變化。設置一架主攝像機,使用互動行為模塊控制攝像機隨鼠標和鍵盤而變換角度和世界坐標:在場景中創建三維幀作為參考點,設置主板世界坐標與該幀相符;接著在三維幀上創建Scrip腳本,拖入行為BB“MouseWaiter”設置鼠標滾輪產生每30°旋轉,并將旋轉參數傳送給“MouseCameraOrbit”,就可實現鼠標滾輪控制攝像機圍繞三維幀(也即是主板)來旋轉。鍵盤控制則是用“SwitchOnKey”來確定“Up”、“Down”、“Left”、“Right”四鍵對應“上”、“前”、“左”、“右”方向,由“SwitchOnMessage”接受鍵值,用“SetPosition”按鍵值設置攝像機坐標。這樣從不同角度可觀察虛擬場景和模型,體現了三維虛擬場景的真實感。
注意:場景中各個模型、燈光、攝像機設置初始位置后,必須使用“SetICForSelected”保存,如圖4所示。
2.2.4 互動設計
文中設計的互動流程是主板配件在鍵盤控制下首先自動分離,然后由鼠標拖曳安裝至相應位置。場景中同時包含2D、3D對象,鼠標對2D對象拾取相對簡單,即如果鼠標屏幕坐標Vector2D(X,Y)在2D對象屏幕矩形的范圍內,則可視為選取了該對象。3D場景中鼠標拾取算法較復雜,必須首先獲取鼠標屏幕坐標,通過投影矩陣和觀察矩陣把這個坐標換算成攝像機與鼠標單擊點的一條射入場景的射線,如果射線與3D場景中的物體相交,則獲得相交物體信息:點選的3D物體、交點位置、方向以及交點到攝像機的距離等。
圖5為行為模塊和移動VSL腳本連接圖[8]。

圖5 腳本連接圖
2.2.5 互動設計的曲線移動
3D場景中,風扇電源線是柔性線纜,移動特性與上面所提剛性物體不同,有彎曲和扭曲等變化,移動時各部分是非線性漸進式。因此這種情況下必須采取編輯曲線(Curve)節點(CurvePoint)的方法,如圖6中的“Ropc_Point0000(X,Y,Z)”至“Ropc_Point000i(X,Y,Z)”,0至i是創建曲線的各節點,控制著整個曲線的走向。編程時根據節點移動情況加上一個△3D坐標參數,腳本編程設計思路是每個節點移動總是在前一個節點移動3D坐標上的正負增量上的變化[9]。
2.2.6 打包發布
虛擬場景制作完成后,使用Virtools菜單“ExporttoVirtoolsplayer”制作EXE文件,使用系統自帶播放器“3DVIA_player”播放?;蚴怯谩癈reateWebpage”制作網頁,在瀏覽器中瀏覽,目前版本支持32位瀏覽器[10-11],如圖7所示。

圖6 空間坐標圖

圖7 打包發布
文中討論使用3dsMax與Virtools結合,制作出基于網絡或單機版計算機硬件組裝虛擬實驗場景,可以使用鍵盤、鼠標完成組裝基本任務。此系統初步完成,需進一步完善推廣,便能夠惠及更多學生。在此過程中或可以考慮嘗試其他方式實現同樣功能,如:Maya、unity3D等軟件[12-13],以取長補短,將虛擬現實技術應用到各種教學工作中,充分享受其帶來的便利。
[1] 吳 蕾,欽明皖,楊 勇.基于計算思維能力培養的程序設計基礎課程教學新模式[J].計算機教育,2015(7):1-3.
[2] 龔沛曾,楊志強.大學計算機基礎教學中的計算思維培養[J].中國大學教學,2012(5):51-54.
[3] 許 鋒,單大國.基于虛擬現實技術的刑事影像教學平臺研究[J].計算機教育,2014(19):57-59.
[4] 安維華.虛擬現實技術及其應用[M].北京:清華大學出版社,2014.
[5] 張雯雰,肖 娟,劉華艷,等.計算機組成原理虛擬實驗系統的設計與實現[J].實驗室研究與探索,2014,33(5):62-66.
[6] 王盼盼,張 宏.基于Virtools的虛擬測繪系統的設計[J].實驗技術與管理,2015,32(3):148-151.
[7] 李 濤,趙志剛.3dsMax2012案例教學[M].北京:高等教育出版社,2013.
[8] 覃伯明.Virtools引擎3D游戲程序設計[M].北京:清華大學出版社,2013.
[9] 楊 琳,朱元昌,邸彥強.基于Virtools的柔性線纜建模及其運動仿真[J].微電子學與計算機,2009,26(9):153-156.
[10] 張占軍,程行甫,柳 平,等.電臺三維虛擬維修仿真系統的研究[J].計算機技術與發展,2011,21(2):250-252.
[11] 蔡 偉,李龍華.水電站機電設備運行檢修3D仿真培訓界面設計[J].計算機技術與發展,2011,21(11):170-172.
[12] 張朝陽,竇俊霞.基于三維交互式服裝設計系統[J].實驗室研究與探索,2014,33(12):117-120.
[13] 魏迎梅,王 涌,吳泉源,等.手術仿真中的碰撞檢測研究[J].計算機研究與發展,2002,39(1):114-119.
3D Virtual Computer Hardware Assembly Based on Virtools Platform
SHU Jian,YANG Yong,WU Fu-hu
(Computer Studies Department,Anhui University,Hefei 230601,China)
College Basic Computer is a required course of nonprofessional undergraduate compulsory in school,in which the hardware knowledge is abstract and difficult,and with money,venues and equipment reasons,most of the students can’t do the experiments themselves,making the hardware is hard to get good teaching effect.The problem has long plagued the teachers and students.Because of this,focused on the software perspective,using 3ds Max to make 3d model of computer hardware and importing Virtools to virtual reality software,the virtual interactive scenario in World Coordinate System is set up.Development of running standalone or network virtual platform based on B/S,all students can simulate the installation process of computer hardware in virtual scene by using mouse and keyboard.After the initial system implementation,in order to test the feasibility,it is installed in the University Department of Computer Teaching Experiment room.Through a period of testing,students reflect operating in a virtual environment is simple and practical,and able to repeat.Those previous hardware abstraction is clear and easy to learn.It follows that 3D virtual reality system developing can give great contribution to students’ experiment courses.
3D model;virtual reality;B/S network;World Coordinate System;virtual interaction
2015-11-13
2016-03-16
時間:2017-01-04
安徽省2014年本科教育質量提升計劃項目(xjjyxm14020)
舒 堅(1965-),男,高級實驗師,研究方向為計算機應用技術。
http://www.cnki.net/kcms/detail/61.1450.TP.20170104.1023.026.html
TP302
A
1673-629X(2017)01-0156-04
10.3969/j.issn.1673-629X.2017.01.035