
摘 要:虛擬現實技術能夠給用戶帶來沉浸式、交互式的感受。本文首先介紹在虛似現實開發中常用的3ds max和Unity 3D兩種工具主要功能。接著,對花卉展仿真系統進行系統需求設定,提出系統設計的模塊功能,最后,給出實現需求的技術和實現策略。
關鍵詞:虛擬現實技術;三維建模;Unity 3D
福建漳州地處東南沿海地區,每年通過舉辦海峽兩岸花博會來推介當地特色花卉,擴大花卉交易量。2020年以來,受新冠疫情的影響,現場參觀人數受到了很大的限制,因此,借助虛擬現實技術來構建一套虛擬化可視化的花卉展覽場景模型,讓用戶產生沉浸式體驗,成為了一種較為可行的展覽替代方案。通過Unity3D 技術開發出花卉展覽應用場景,可使用戶足不出戶地實現對展出花卉的全角度觀賞。
1、相關技術
1.1 建模工具3ds max
3ds Max全稱3D Studio Max,是Autodesk公司開發的基于PC系統的三維動畫渲染和制作軟件,具有較強大的建模和渲染功能,可堆疊的建模步驟功能,使制作模型的過程有非常大的彈性。使用者可在該軟件中進行場景設置、建筑材質設計、場景動畫設置、運動路徑設置、計算動畫長度、創建攝像機并調節動畫游戲等操作,并將操作結果如模型、動畫應用、角色裝備、紋理、材質、LOD、燈光和攝影機等以FBX的文件格式傳輸至游戲引擎(如 Unity、Unreal Engine 和 Stingray)。
1.2 游戲引擎Unity 3D
Unity 3D是Unity Technologies公司開發的三維游戲制作引擎, 是實時3D互動內容創作和運營平臺。包括游戲開發、美術、建筑、汽車設計、影視在內的所有創作者,可借助Unity 3D將創意轉換為虛擬現實成果。Unity3D引擎開發的內容可以運行在瀏覽器、移動設備、游戲主機和增強現實與虛擬現實設備上。
2、系統需求
虛擬花卉展覽系統可為用戶提供第一人稱視角的瀏覽方式,系統按花卉種類劃分展館,客戶通過菜單方式進行展館的選擇。
當用戶靠近花卉時,花盆可緩慢旋轉,并在旁邊列出花卉的情況介紹,讓用戶能夠多角度、全方位的觀賞和了解花卉,為客戶營造出一個寧靜的、令人放松的舒適空間。
3、系統設計
虛擬花卉展覽系統設計功能模塊如圖1所示,可分為3D花卉素材庫和Unity3D漫游展館兩大模塊。其中3D花卉素材庫通過對花卉進行真實拍照后進行建立,3ds max建模出來的3D花卉模型庫和花卉建模所需要的通過Photoshop軟件加工后的花卉貼圖三部分組成。Unity3D漫游則是利用Unity3D引擎實現場館選擇、第一人稱漫游、花卉旋轉展示和人物碰撞檢測四部分功能。最后導出發布生成WebGL。
4、系統實現
4.1 數據采集
虛擬花卉展覽系統中花卉展覽主要是漳州本地的特色花卉,如蘭花、水仙花和三角梅等,由于這幾類花卉的品種繁多,造型各一,因此需要收集大量真實的花卉圖片從而形成分類花卉圖庫。開發人員利用相機到展覽館實地拍攝花卉,特別是花朵和花徑等部位的特寫鏡頭,方便后期3D建模對造型和細節進行控制。
4.2? 三維花卉制作
4.2.1構建花卉造型
花卉建模中,方式主要為幾何建模。開發人員需要再VR中重點對花朵和葉子進行加工處理。首先,選擇現有主流3ds max軟件,利用其強大的建模功能,對花卉進行整體建模,以水仙花為例 ,首先做兩條長方形的平面,兩頭削尖,再進行旋轉,做出葉子。使用圓柱體進行建模花根,再頭頂使用工具擠出放大,做出頭狀;使用線工具勾勒出葉子的形狀,轉化為樣條線進行調整。使用圓柱體制作花瓣,利用圓柱體上面和下面刪除,選擇線將上面花頭部分進行放大,紋路可以使用畫筆工具或者手動隨機選點進行繪制。將葉子進行多次復制,在隨機旋轉,使得葉子的轉動方向不同,更加真實,花瓣進行旋轉復制,將花蕊塞入花瓣中心,加上盆栽地盤,就可初步完成花卉建模工作。
4.2.2 紋理映射
紋理映射即為紋理貼圖技術,此技術可以使制作出來的花卉模型真實感增強。在采集花卉素材時,利用高倍鏡頭采集花卉中的細節,經過UV展開圖將事先采集的圖像“覆蓋”到物體模型的表面,通過對花卉進行貼圖制作提高花卉的真實感。
4.2.3法線帖圖
法線貼圖是三維計算機圖形中一種凹凸貼圖技術的應用,可以在不增加模型多邊形的情況下,在濃淡效果中添加細節,使物體具有特殊的立體視覺效果。利用Photoshop法線貼圖插件將合適的平面貼圖處理生成法線貼圖,然后在3ds max模型烘焙后導入Unity3D中。
4.3 素材導入unity進行交互設計
4.3.1場館選擇
利用Untiy編輯多個場景,每個場景建一個花卉主題館,通過OnGUI系統中Button控件來讓用戶選擇場景,使用Application中的LoadLevel方法實現場景的切換。
4.3.2第一人稱漫游
通過Unity系統中的CharacterControl組件定義第一人稱、第三人稱和隱含角色等功能。在場景中添加第一人稱角色后,攝像機就可像角色的眼睛一樣在世界中漫游。
4.3.3人物碰撞檢測
第一人稱在展館中漫游時,為了能夠真實模仿現實中的場景,Unity3D中提供碰撞體的物理組件,能夠快速解決用戶在漫游中穿墻的問題。Unity3D中提供Box Collider、Spher Collider、Capsule Collider、Mesh Collider等多種碰撞體,場景中的物品和墻體可以根據不同的形狀選擇合適的碰撞體,以達到更好的體驗功能。
4.3.4花卉旋轉展示
在漫游觀賞花卉時,為了讓用戶能夠更直觀、全方位的看到花卉的全貌,系統在實現過程中,利用Untiy3D中射線功能,通過第一人稱中攝像頭發射射線,選擇用戶想觀賞的花卉,使花卉慢速旋轉。實現的部分代碼如下:
if (Physics.Raycast(transform.position, transform.forward, out hit, Mathf.Infinity)) {
if (hit.collider.tag == "hua") {
for (i = 0; i < 100; i++) {
speed += Time.deltaTime;
jiaza.fillAmount = speed * 0.01f;
if (jiaza.fillAmount == 1){
a.gameObject.SetActiveRecursively(true); }} }
else {
speed = 0;
a.gameObject.SetActiveRecursively(false); }
}
4.4 發布
Unity3D支持開發者跨越多平臺,包括臺式機、移動設備、VR設備和Web平臺。Unity3D通過導出WebGL的方式發布到web端,就可以直接在支持html5標準的瀏覽器中運行。
5、總結
本文中利用 3ds Max 等軟件更好地構筑逼真的花卉模型,然后借助于在VR中流行的Unity3D將制作的花卉模型更好的進行融合,使得這些模型對象與人們在 VR 系統中進行交互。VR 與Web技術的融合,構筑一個融合影像、聲音等諸多多媒體元素為一體 3D 虛擬漫游環境,通過Web平臺可以更為便捷地使用VR技術,而VR的加入,其中漫游技術,讓人們產生身臨其境之感。
參考文獻:
[1]趙艷,李康艷.基于 3D Max 和 Unity 3D 的校園漫 游系統的設計與實現 [J] .絲路視野,2017, 000(018):109-109.
[2]姬 喆.基于 VR 虛擬漫游技術的交互設計應用研究[J].現代電子技術,2019,42(15):86-89
[3]李旭洋等.基于Unity3D動畫虛似檢修車間漫游系統開發[J].鐵路計算機應用,2021,30(6):46-51
[4]李婷婷.Unity3D虛擬現實游戲開發[M].北京:清華大學,2018:170-172
作者簡介:簡惠冰(1980--),女,漢族,福建省漳州市人,工程碩士,講師,研究方向是虛擬現實技術.
基金項目:福建省教育廳中青年教師教育科研項目“虛擬現實福建各地市花三維展示系統開發研究”(JZ181190).