杜凱
摘要:在Unity3D學(xué)習(xí)中基于Playmake 插件高效快速實(shí)現(xiàn)場(chǎng)景漫游,通過(guò)案例使學(xué)生利用Playmake為切入點(diǎn)來(lái)進(jìn)行學(xué)習(xí),能運(yùn)用有限元狀態(tài)機(jī)的設(shè)計(jì)思路在Unity3D中設(shè)計(jì)并培養(yǎng)交互邏輯。
關(guān)鍵詞:Playmake;可視化交互設(shè)計(jì);FSM編程策略
中圖分類號(hào):TP391.9?? 文獻(xiàn)標(biāo)識(shí)碼:A? ?文章編號(hào):1672-9129(2020)16-0061-01
虛擬現(xiàn)實(shí)(VR)技術(shù)作為數(shù)字媒體技術(shù)的一種表現(xiàn)終端及形式,用來(lái)創(chuàng)建與體驗(yàn)虛擬世界的計(jì)算機(jī)仿真系統(tǒng),它利用計(jì)算機(jī)生成一種模擬環(huán)境,是以多源信息融合交互式的三維動(dòng)態(tài)視景和實(shí)體行為的系統(tǒng)仿真,使體驗(yàn)者能沉浸到環(huán)境中。而Unity3D正是目前非常流行的三維游戲開發(fā)引擎,具有軟件操作學(xué)習(xí)容易,開發(fā)包較多的優(yōu)勢(shì)。在設(shè)計(jì)虛擬現(xiàn)實(shí)漫游開發(fā)項(xiàng)目中應(yīng)用十分廣泛,是開發(fā)虛擬現(xiàn)實(shí)項(xiàng)目?jī)?yōu)先選擇的工具,也是數(shù)字媒體技術(shù)專業(yè)學(xué)生需要掌握和運(yùn)用的新技術(shù)。
在教學(xué)和學(xué)習(xí)過(guò)程中如何讓專業(yè)學(xué)生系統(tǒng)學(xué)習(xí)和掌握虛擬現(xiàn)實(shí)開發(fā)相關(guān)技術(shù),熟悉與了解Unity開發(fā)各種相關(guān)的插件,可以更高效快速的完成效果呈現(xiàn),對(duì)學(xué)生在學(xué)習(xí)Unity3D游戲引擎中培養(yǎng)學(xué)習(xí)興趣起到關(guān)鍵性作用,也能在后期利用Unity3D開發(fā)項(xiàng)目中能夠起到事半功倍的效果。本文以數(shù)字媒體技術(shù)專業(yè)學(xué)生為研究對(duì)象進(jìn)行教學(xué)探索,在Unity3D中基于Playmake 插件高效快速實(shí)現(xiàn)場(chǎng)景漫游,并通過(guò)簡(jiǎn)單案例使學(xué)生利用Playmake為切入點(diǎn)進(jìn)行學(xué)習(xí),使學(xué)生能運(yùn)用有限元狀態(tài)機(jī)的設(shè)計(jì)思路在Unity3D中設(shè)計(jì)并培養(yǎng)交互邏輯。
1 Playmake 概述及實(shí)現(xiàn)效果
PlayMaker是Unity3D的一款可視化的有限元狀態(tài)機(jī)(Finite-state machine,簡(jiǎn)稱FSM) 插件,通常用來(lái)進(jìn)行交互設(shè)計(jì),既是可視化腳本工具,又可以分層邏輯框架,能夠很快地進(jìn)行游戲原型制作,能夠大大提高開發(fā)效率和成果展現(xiàn)。它的優(yōu)點(diǎn):(1)具備較多動(dòng)作行為,例如通過(guò)狀態(tài)機(jī)FSM實(shí)現(xiàn),跑、跳、攻擊等動(dòng)作行為。(2)集成幫助,可以快速進(jìn)行查看行為說(shuō)明。(3)設(shè)置斷點(diǎn)和單步執(zhí)行狀態(tài)。(4)方便編寫自定義行為。(5)支持各類插件配合使用,加速開發(fā)進(jìn)程。(6)方便簡(jiǎn)潔的圖表管理每個(gè)狀態(tài)機(jī)。(7)預(yù)覽播放游戲,進(jìn)行實(shí)時(shí)錯(cuò)誤檢查。
2 快速掌握培養(yǎng)學(xué)習(xí)興趣
在使用Unity3D相關(guān)插件的時(shí)候,與學(xué)習(xí)C#編寫Unity中的腳本代碼相比,開發(fā)的時(shí)候可利用Playmaker內(nèi)置的眾多Action,在C#中代碼編寫中需要多行代碼才能完成的一個(gè)功能,而用Playermaker通常幾個(gè)步驟就能完成。所以Playmaker更容易在短時(shí)間掌握,快速上手。學(xué)生在學(xué)習(xí)Unity3D的同時(shí)基于這兩個(gè)有點(diǎn),無(wú)論是學(xué)習(xí)者獨(dú)立開發(fā),還是快速做出產(chǎn)品原型來(lái)說(shuō),Playmaker都是很好學(xué)習(xí)工具。
3 技術(shù)路線及學(xué)習(xí)操作步驟
通過(guò)對(duì)Unity3D引擎以及相關(guān),建立虛擬的三維模型,然后基于Unity3D 引擎實(shí)現(xiàn)第一人稱交互。廣泛運(yùn)用范圍例如實(shí)現(xiàn)室內(nèi)及場(chǎng)景漫游。
首先搭建基礎(chǔ)場(chǎng)景,可以利用Cube搭建一個(gè)基礎(chǔ)場(chǎng)景或利用以及建好的場(chǎng)景模型為案例,利用playmaker實(shí)現(xiàn)環(huán)境的晝夜更替。
(1)為DirectionalLight添加FSM。
利用FSM將被設(shè)對(duì)象的復(fù)雜行為特征歸納為有限個(gè)不同的“狀態(tài)”,然后在每個(gè)狀態(tài)中分別指定一系列“行為”讓處于該狀態(tài)的被設(shè)對(duì)象來(lái)執(zhí)行,同時(shí)設(shè)置相對(duì)于的“條件”,而在FSM中稱做“事件”,當(dāng)設(shè)置條件被滿足時(shí)事件能夠被觸發(fā),被設(shè)對(duì)象從當(dāng)前狀態(tài)變換為另一個(gè)狀態(tài),由此帶來(lái)其所執(zhí)行“行為”的變化。
(2)為sun rotate狀態(tài)添加“Rotate” Action。
(3)新增Variables參數(shù)。
(4)設(shè)置“Rotate” Action。
(5)測(cè)試查看效果。
再例如:利用Playmake添加手電筒,實(shí)現(xiàn)開關(guān)手電筒交互。
(1)導(dǎo)入人物標(biāo)準(zhǔn)資源包。
(2)導(dǎo)入人物(FPS Controller)。
(3)新建聚光燈。
(4)綁定聚光燈。
(5)調(diào)整聚光燈位置。
(6)測(cè)試手電筒效果。
(7)添加Play Maker FSM。
(8)新建事件。
(9)為light close狀態(tài)添加Action,為light on狀態(tài)添加“Activate Game Object”Action。
(10)light close狀態(tài)綁定手電關(guān)閉,將“Activate Game Object”Action內(nèi)的Game Object矩形框綁定Spot Light,并將Activate后的矩形框的√去掉。
(11)利用“Get Key Down”Action設(shè)置鏈接,分別為兩個(gè)狀態(tài)添加將“Get Key Down”Action,響應(yīng)按鍵均為“F”,索引的事件分別為“on”和“close”,達(dá)成。
(12)測(cè)試查看效果。
4 培養(yǎng)學(xué)習(xí)邏輯
在Unity3D 中,是以層次關(guān)系來(lái)組織相關(guān)物體的。使用者以第一人稱視角在構(gòu)建的場(chǎng)景中進(jìn)行漫游,按住鼠標(biāo)左鍵,攝像機(jī)可以隨鼠標(biāo)轉(zhuǎn)動(dòng)方向來(lái)觀察環(huán)境位置,按住鍵盤W(前)、S(后)、A(左)、D(右)鍵攝像機(jī)對(duì)應(yīng)范圍移動(dòng),按住空格鍵可以實(shí)現(xiàn)跳躍的控制。不同狀態(tài)下的行為設(shè)計(jì)是相互獨(dú)立的,而且與交互邏輯的設(shè)計(jì)本身也是相互獨(dú)立的??梢栽谶M(jìn)行行為設(shè)計(jì)之前就完成完整的交互邏輯設(shè)計(jì),然后再逐步添加從簡(jiǎn)單到復(fù)雜的各狀態(tài)行為。另外系統(tǒng)中加入了背景音樂(lè)距離變化、不同位置環(huán)境光源變化等,從而增強(qiáng)了環(huán)境的真實(shí)感。
通過(guò)Playmake案例的實(shí)施,在學(xué)習(xí)中使腳本可視化,對(duì)邏輯框架進(jìn)行分層,讓學(xué)生對(duì)構(gòu)建場(chǎng)景物件和事物更加直觀的學(xué)習(xí)與使用。與此同時(shí),Unity3D的學(xué)習(xí)中還可以通過(guò)其他插件來(lái)進(jìn)行快速開發(fā)項(xiàng)目,比如;環(huán)境、地形構(gòu)建類插件Gaia 、MapMagic World Generator 、World Creator等。在素材、動(dòng)畫設(shè)計(jì)類插件Amplify Shader Editor、Surforge 、NGUI、UMotion Pro 等。再如;虛擬現(xiàn)實(shí)插件VR Panorama 360 PRO Renderer、Final IK等。
學(xué)習(xí)與使用PlayMaker可視化交互工具方法只是第一步,更重要的是利用這類工具去鍛煉學(xué)生學(xué)習(xí)一種交互設(shè)計(jì)的思維方法。而PlayMaker可視化交互設(shè)計(jì)插件,使用FSM“編程策略”的設(shè)計(jì)思路給學(xué)習(xí)者提供一個(gè)較為快速制作玩法原型的工具,讓學(xué)生能夠獨(dú)立把腦海中想象的玩法設(shè)計(jì)實(shí)現(xiàn)出來(lái),提高學(xué)習(xí)興趣,降低入門難度。而掌握PlayMaker的特性和功能建立一種思維習(xí)慣,這種思維方法和思維習(xí)慣,是可以運(yùn)用到其他軟件工具中,從而可以高效的解決實(shí)際問(wèn)題。
參考文獻(xiàn):
[1]宣雨松,Unity 3D游戲開發(fā)(第2 版)[M].人民郵電出版社,2018
[2]董濤,張瑛,基于Unity3D的第三視角射擊類手游設(shè)計(jì)與實(shí)現(xiàn)[J].通訊世界,2019(11)
[3]陳睿,基于SketchUp 和Unity3D 的虛擬校園漫游系統(tǒng)[J].2019年 第 06 期
[4]李維,張二虎,郭宸磊,三維可視化設(shè)備輔助的《Unity3D開發(fā)》教學(xué)探索[J].中國(guó)教育信息化,2020(04)