?

基于Playmake可視化交互實現Unity3D場景漫游

2020-12-08 03:44杜凱
數碼設計 2020年16期

杜凱

摘要:在Unity3D學習中基于Playmake 插件高效快速實現場景漫游,通過案例使學生利用Playmake為切入點來進行學習,能運用有限元狀態機的設計思路在Unity3D中設計并培養交互邏輯。

關鍵詞:Playmake;可視化交互設計;FSM編程策略

中圖分類號:TP391.9?? 文獻標識碼:A? ?文章編號:1672-9129(2020)16-0061-01

虛擬現實(VR)技術作為數字媒體技術的一種表現終端及形式,用來創建與體驗虛擬世界的計算機仿真系統,它利用計算機生成一種模擬環境,是以多源信息融合交互式的三維動態視景和實體行為的系統仿真,使體驗者能沉浸到環境中。而Unity3D正是目前非常流行的三維游戲開發引擎,具有軟件操作學習容易,開發包較多的優勢。在設計虛擬現實漫游開發項目中應用十分廣泛,是開發虛擬現實項目優先選擇的工具,也是數字媒體技術專業學生需要掌握和運用的新技術。

在教學和學習過程中如何讓專業學生系統學習和掌握虛擬現實開發相關技術,熟悉與了解Unity開發各種相關的插件,可以更高效快速的完成效果呈現,對學生在學習Unity3D游戲引擎中培養學習興趣起到關鍵性作用,也能在后期利用Unity3D開發項目中能夠起到事半功倍的效果。本文以數字媒體技術專業學生為研究對象進行教學探索,在Unity3D中基于Playmake 插件高效快速實現場景漫游,并通過簡單案例使學生利用Playmake為切入點進行學習,使學生能運用有限元狀態機的設計思路在Unity3D中設計并培養交互邏輯。

1 Playmake 概述及實現效果

PlayMaker是Unity3D的一款可視化的有限元狀態機(Finite-state machine,簡稱FSM) 插件,通常用來進行交互設計,既是可視化腳本工具,又可以分層邏輯框架,能夠很快地進行游戲原型制作,能夠大大提高開發效率和成果展現。它的優點:(1)具備較多動作行為,例如通過狀態機FSM實現,跑、跳、攻擊等動作行為。(2)集成幫助,可以快速進行查看行為說明。(3)設置斷點和單步執行狀態。(4)方便編寫自定義行為。(5)支持各類插件配合使用,加速開發進程。(6)方便簡潔的圖表管理每個狀態機。(7)預覽播放游戲,進行實時錯誤檢查。

2 快速掌握培養學習興趣

在使用Unity3D相關插件的時候,與學習C#編寫Unity中的腳本代碼相比,開發的時候可利用Playmaker內置的眾多Action,在C#中代碼編寫中需要多行代碼才能完成的一個功能,而用Playermaker通常幾個步驟就能完成。所以Playmaker更容易在短時間掌握,快速上手。學生在學習Unity3D的同時基于這兩個有點,無論是學習者獨立開發,還是快速做出產品原型來說,Playmaker都是很好學習工具。

3 技術路線及學習操作步驟

通過對Unity3D引擎以及相關,建立虛擬的三維模型,然后基于Unity3D 引擎實現第一人稱交互。廣泛運用范圍例如實現室內及場景漫游。

首先搭建基礎場景,可以利用Cube搭建一個基礎場景或利用以及建好的場景模型為案例,利用playmaker實現環境的晝夜更替。

(1)為DirectionalLight添加FSM。

利用FSM將被設對象的復雜行為特征歸納為有限個不同的“狀態”,然后在每個狀態中分別指定一系列“行為”讓處于該狀態的被設對象來執行,同時設置相對于的“條件”,而在FSM中稱做“事件”,當設置條件被滿足時事件能夠被觸發,被設對象從當前狀態變換為另一個狀態,由此帶來其所執行“行為”的變化。

(2)為sun rotate狀態添加“Rotate” Action。

(3)新增Variables參數。

(4)設置“Rotate” Action。

(5)測試查看效果。

再例如:利用Playmake添加手電筒,實現開關手電筒交互。

(1)導入人物標準資源包。

(2)導入人物(FPS Controller)。

(3)新建聚光燈。

(4)綁定聚光燈。

(5)調整聚光燈位置。

(6)測試手電筒效果。

(7)添加Play Maker FSM。

(8)新建事件。

(9)為light close狀態添加Action,為light on狀態添加“Activate Game Object”Action。

(10)light close狀態綁定手電關閉,將“Activate Game Object”Action內的Game Object矩形框綁定Spot Light,并將Activate后的矩形框的√去掉。

(11)利用“Get Key Down”Action設置鏈接,分別為兩個狀態添加將“Get Key Down”Action,響應按鍵均為“F”,索引的事件分別為“on”和“close”,達成。

(12)測試查看效果。

4 培養學習邏輯

在Unity3D 中,是以層次關系來組織相關物體的。使用者以第一人稱視角在構建的場景中進行漫游,按住鼠標左鍵,攝像機可以隨鼠標轉動方向來觀察環境位置,按住鍵盤W(前)、S(后)、A(左)、D(右)鍵攝像機對應范圍移動,按住空格鍵可以實現跳躍的控制。不同狀態下的行為設計是相互獨立的,而且與交互邏輯的設計本身也是相互獨立的??梢栽谶M行行為設計之前就完成完整的交互邏輯設計,然后再逐步添加從簡單到復雜的各狀態行為。另外系統中加入了背景音樂距離變化、不同位置環境光源變化等,從而增強了環境的真實感。

通過Playmake案例的實施,在學習中使腳本可視化,對邏輯框架進行分層,讓學生對構建場景物件和事物更加直觀的學習與使用。與此同時,Unity3D的學習中還可以通過其他插件來進行快速開發項目,比如;環境、地形構建類插件Gaia 、MapMagic World Generator 、World Creator等。在素材、動畫設計類插件Amplify Shader Editor、Surforge 、NGUI、UMotion Pro 等。再如;虛擬現實插件VR Panorama 360 PRO Renderer、Final IK等。

學習與使用PlayMaker可視化交互工具方法只是第一步,更重要的是利用這類工具去鍛煉學生學習一種交互設計的思維方法。而PlayMaker可視化交互設計插件,使用FSM“編程策略”的設計思路給學習者提供一個較為快速制作玩法原型的工具,讓學生能夠獨立把腦海中想象的玩法設計實現出來,提高學習興趣,降低入門難度。而掌握PlayMaker的特性和功能建立一種思維習慣,這種思維方法和思維習慣,是可以運用到其他軟件工具中,從而可以高效的解決實際問題。

參考文獻:

[1]宣雨松,Unity 3D游戲開發(第2 版)[M].人民郵電出版社,2018

[2]董濤,張瑛,基于Unity3D的第三視角射擊類手游設計與實現[J].通訊世界,2019(11)

[3]陳睿,基于SketchUp 和Unity3D 的虛擬校園漫游系統[J].2019年 第 06 期

[4]李維,張二虎,郭宸磊,三維可視化設備輔助的《Unity3D開發》教學探索[J].中國教育信息化,2020(04)

91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合