林佳一
(廣東交通職業(yè)技術(shù)學(xué)院信息學(xué)院,廣州510650)
新一輪的科技創(chuàng)新大潮的到來(lái),使人們的生活變得更加舒適、便利和快捷。作為前沿科技領(lǐng)域的研究熱點(diǎn)之一的虛擬現(xiàn)實(shí)(Virtual Reality,VR)技術(shù)得到國(guó)家層面的政策大力支持。2016 年3 月,國(guó)家在十三五規(guī)劃綱要中將虛擬現(xiàn)實(shí)列為重點(diǎn)支持的新興支撐產(chǎn)業(yè)。隨著5G 通信網(wǎng)絡(luò)技術(shù)的誕生,為可視化信息數(shù)據(jù)的傳遞進(jìn)一步拓寬了渠道,數(shù)據(jù)的精準(zhǔn)性、可視化程度得到了創(chuàng)新發(fā)展,也促使虛擬現(xiàn)實(shí)技術(shù)在新時(shí)期的發(fā)展建設(shè)提供了更為廣闊的空間[1]。
近年來(lái),虛擬現(xiàn)實(shí)廣泛應(yīng)用于各行各業(yè),如:教育、新聞媒體、游戲、電商和房地產(chǎn)等。虛擬現(xiàn)實(shí)產(chǎn)業(yè)蓬勃發(fā)展,對(duì)人才需求量不斷增大。許多高職院校競(jìng)相設(shè)置虛擬現(xiàn)實(shí)技術(shù)專業(yè)或開設(shè)與之相關(guān)的課程,以拓寬學(xué)生的就業(yè)面。掌握軟件開發(fā)工具Unity3D 是實(shí)現(xiàn)虛擬現(xiàn)實(shí)技術(shù)的必備的核心技能,于是《Unity3D 應(yīng)用開發(fā)》課程成為通往虛擬現(xiàn)實(shí)開發(fā)工程師職業(yè)之路上重要基石。如何從高職院校的學(xué)生實(shí)際情況出發(fā),讓學(xué)生通過(guò)《Unity3D 應(yīng)用開發(fā)》課程的學(xué)習(xí),理解Unity3D引擎的原理和使用方法,按照項(xiàng)目開發(fā)的工作流程進(jìn)行開發(fā),成為從事虛擬現(xiàn)實(shí)這個(gè)新興行業(yè)的專業(yè)人才。本文結(jié)合《Unity3D 應(yīng)用開發(fā)》課程的特點(diǎn),對(duì)在實(shí)際教學(xué)過(guò)程中的存在的問(wèn)題和采用的方法進(jìn)行了深入的分析和探討。
Unity3D 是丹麥Unity Technologies 公司開發(fā)的一款能讓你輕松創(chuàng)建諸如:三維視頻、三維動(dòng)畫等類型互動(dòng)內(nèi)容的多平臺(tái)的游戲開發(fā)工具[2]。Unity 提供了豐富的插件,這些插件可以使Unity 和一些VR 硬件設(shè)備,例如HTC Vive、Oculus、三星Gear 等兼容來(lái)實(shí)現(xiàn)VR 效果。除了Unity 外,Unreal 也是一款德國(guó)公司開發(fā)VR的引擎。相比之下,Unity 更容易學(xué)習(xí),其插件更新速度快,支持跨平臺(tái),產(chǎn)品可發(fā)布在包括iOS、Android、Web、PC、PS3 和Xbox 等多個(gè)平臺(tái)。基于上述特點(diǎn),Unity3D 成為了虛擬現(xiàn)實(shí)產(chǎn)業(yè)中使用率最高的開發(fā)引擎。
為了提升學(xué)生的就業(yè)競(jìng)爭(zhēng)力,伴隨著虛擬現(xiàn)實(shí)技術(shù)的興起,許多學(xué)校把Unity3D 作為虛擬現(xiàn)實(shí)職業(yè)方向基礎(chǔ)骨干課程。目前,在開設(shè)了Unity3D 課程的院校中存在著兩種情況:一種情況是在原有的軟件類各門課程的基礎(chǔ)之上,增加Unity3D 課程。這種方式偏重于技術(shù)開發(fā)層面;另一種情況將是Unity3D 課程設(shè)置在數(shù)字媒體專業(yè)中。這種方式則更強(qiáng)培養(yǎng)學(xué)生的場(chǎng)景建模能力。
我們?cè)谲浖I(yè)里設(shè)置了《Unity3D 應(yīng)用開發(fā)》課程。該課程開設(shè)在三年學(xué)制中的第二學(xué)年,是專業(yè)課程。學(xué)生在學(xué)習(xí)本課程之前,要求掌握C#的基本語(yǔ)法和常用算法。因此,學(xué)生必須先學(xué)習(xí)《程序設(shè)計(jì)基礎(chǔ)》和《數(shù)據(jù)結(jié)構(gòu)》。《Unity3D 應(yīng)用開發(fā)》課程的目標(biāo)是使學(xué)生掌握Unity 基礎(chǔ)與開發(fā)環(huán)境配置、腳本程序的開發(fā)、圖形用戶界面、物理引擎、光影效果、模型與動(dòng)畫、地形與尋路技術(shù)等知識(shí)。要求學(xué)生能夠在Unity 中構(gòu)建三維可視化場(chǎng)景、掌握用C#語(yǔ)言實(shí)現(xiàn)系統(tǒng)互動(dòng)效果各種方法和基本具備使用Unity3D 引擎進(jìn)行開發(fā)的能力。為了能讓學(xué)生更進(jìn)一步掌握Uinty3D 的技術(shù),提高綜合應(yīng)用能力,還開設(shè)了后置課程《Unity3D 高級(jí)應(yīng)用》。
雖然很多學(xué)校已經(jīng)嘗試開展了虛擬現(xiàn)實(shí)專業(yè)的人才培養(yǎng)工作,但有關(guān)Unity 課程還沒(méi)有形成一套成熟的規(guī)范體系,也沒(méi)有太多的教學(xué)經(jīng)驗(yàn)可循,只能是在不斷的實(shí)踐中總結(jié)和完善。下面通過(guò)分析現(xiàn)有的教學(xué)情況,以針對(duì)教學(xué)開展過(guò)程中出現(xiàn)的問(wèn)題,摸索出相應(yīng)的處理對(duì)策,做到有的放矢。
對(duì)于有關(guān)新技術(shù)的課程,最突出的問(wèn)題就是缺乏配套教材。很多學(xué)校直接把Unity3D 項(xiàng)目開發(fā)類型的書籍和資料作為教材,這些面向的是從事虛擬現(xiàn)實(shí)開發(fā)的工作人員。特別是某些翻譯國(guó)外的資料,語(yǔ)言隨意性強(qiáng),內(nèi)容并不是按照高職學(xué)生的學(xué)習(xí)特點(diǎn)來(lái)規(guī)劃,組織松散,不僅不適合學(xué)生理解和掌握,而且給教師教學(xué)帶來(lái)了很多困擾。
在教學(xué)中教師往往只關(guān)注于自己這門課程,忽視了與其它課程的銜接?!禪nity3D 應(yīng)用開發(fā)》課程的內(nèi)容與多門課程都有直接或間接的聯(lián)系。例如:Unity3D 的程序代碼中大量應(yīng)用到集合和泛型,這就需要在前置課程《程序設(shè)計(jì)基礎(chǔ)》中將此部分內(nèi)容講解透徹。而實(shí)際Unity3D 教學(xué)中經(jīng)常要補(bǔ)充強(qiáng)調(diào)原本不屬于本課程范疇的集合和泛型,導(dǎo)致教學(xué)效果大打折扣。
Unity3D 有強(qiáng)大的圖像引擎和逼真的物理特效。真實(shí)的場(chǎng)景效果的背后往往意味著運(yùn)行大量的計(jì)算程序,這對(duì)硬件設(shè)備提出了更高的要求。Unity3D 課程往往開設(shè)在普通的實(shí)驗(yàn)室,由于沒(méi)有配備大容量的硬盤和高速的獨(dú)立顯卡,上課時(shí)運(yùn)行Unity3D 程序出現(xiàn)了卡頓和花屏的現(xiàn)象。
為了適應(yīng)虛擬現(xiàn)實(shí)產(chǎn)業(yè)發(fā)展,培養(yǎng)出更多具備Unity3D 引擎開發(fā)能力的專業(yè)人才,面對(duì)《Unity3D 應(yīng)用開發(fā)》這門新課程,在教學(xué)實(shí)踐中我們始終按照以學(xué)生為中心的教學(xué)理念,結(jié)合教學(xué)的實(shí)際情況,從教學(xué)內(nèi)容、教學(xué)環(huán)節(jié)和教學(xué)方法三個(gè)方面進(jìn)行了有益的探索。
教學(xué)內(nèi)容的確定直接關(guān)系到《Unity3D 應(yīng)用開發(fā)》課程的目標(biāo)的實(shí)現(xiàn)質(zhì)量,不能隨意參考幾本書籍,或者由某幾個(gè)教師來(lái)制定,需要全面系統(tǒng)地進(jìn)行分析。以下是在明確教學(xué)內(nèi)容過(guò)程中,主要考慮的三個(gè)因素和相應(yīng)的具體做法,以及最后得出的課程主要內(nèi)容,如圖1。
圖1 教學(xué)內(nèi)容組織
第一,職業(yè)能力的要求。深入一線企業(yè)走訪調(diào)研,或者把經(jīng)驗(yàn)豐富虛擬現(xiàn)實(shí)開發(fā)工程師請(qǐng)進(jìn)來(lái),通過(guò)與授課教師和已經(jīng)畢業(yè)學(xué)生共同分析崗位職業(yè)能力,最后歸納出本課程培養(yǎng)學(xué)生的職業(yè)能力。分別是Unity3D 資源管理能力、基本設(shè)計(jì)與創(chuàng)建場(chǎng)景能力、物理引擎的使用能力、圖形用戶界面的設(shè)計(jì)能力、基本的模型和動(dòng)畫設(shè)置能力、3D 游戲開發(fā)常用開發(fā)技術(shù)的能力、基本Unity3D 項(xiàng)目的分析、設(shè)計(jì)和發(fā)布的能力、具備Unity API 和幫助文檔的使用能力。
第二,前后課程的銜接。應(yīng)該與前置課程和后置課程的教師一起規(guī)劃教學(xué)內(nèi)容,經(jīng)過(guò)大家多次反復(fù)揣摩和溝通,以保證內(nèi)容不重復(fù),連慣性和一致性。《Unity3D 應(yīng)用開發(fā)》的授課教師除了把常用到的程序設(shè)計(jì)的知識(shí)點(diǎn)告知教授基礎(chǔ)編程的教師,還要把這些知識(shí)作為課前準(zhǔn)備內(nèi)容發(fā)布給學(xué)生,可通過(guò)在線學(xué)習(xí)平臺(tái)或微課,讓學(xué)生提前準(zhǔn)備好前置知識(shí)。
第三,教學(xué)內(nèi)容編排次序。由于沒(méi)有成熟的專業(yè)課程教材,我們?cè)诼殬I(yè)能力分析的基礎(chǔ)上,將現(xiàn)有的一些資料進(jìn)行梳理。打破原有的章節(jié)組織,按照知識(shí)的難易程度,邏輯關(guān)系,重新整合教學(xué)內(nèi)容。例如:為了激發(fā)學(xué)習(xí)熱情,將地形章節(jié)放前面,使學(xué)生能快速體驗(yàn)到完成一個(gè)簡(jiǎn)單項(xiàng)目的樂(lè)趣;此外,根據(jù)教學(xué)內(nèi)容的特點(diǎn),將知識(shí)點(diǎn)分成操作型和編程型,難點(diǎn)大部分在編程型。在不影響前后次序的情況下,交錯(cuò)安排知識(shí)點(diǎn),這樣把難點(diǎn)平均分布在學(xué)習(xí)過(guò)程中,避免因難度過(guò)于集中而使學(xué)生失去學(xué)習(xí)信心;最后,為了加強(qiáng)綜合應(yīng)用能力,引入一個(gè)Unity3D 企業(yè)項(xiàng)目,并不是一味強(qiáng)調(diào)與以前項(xiàng)目開發(fā)的不同,而是帶領(lǐng)學(xué)生從策劃準(zhǔn)備、設(shè)計(jì)開發(fā)到打包上線一起完成項(xiàng)目,潛移默化中讓學(xué)生體會(huì)到Unity3D 項(xiàng)目特有開發(fā)流程。
要把教學(xué)內(nèi)容更有效的讓學(xué)生掌握,實(shí)施好整個(gè)教學(xué)各個(gè)環(huán)節(jié)是十分重要的。整個(gè)教學(xué)環(huán)節(jié)包括理論教學(xué)、上機(jī)實(shí)踐、課后作業(yè)、綜合實(shí)訓(xùn)和考核。
結(jié)合本課程實(shí)踐性強(qiáng)的特點(diǎn),首先采用了一體化的教學(xué)方式,將理論教學(xué)和上機(jī)實(shí)踐融為一體,邊授課邊實(shí)操。例如,講位移與旋轉(zhuǎn)時(shí),初學(xué)者一般對(duì)三維空間的方向感缺乏認(rèn)識(shí),總是弄不清楚對(duì)象的位置,此時(shí)僅一味分析實(shí)現(xiàn)物體運(yùn)動(dòng)代碼,學(xué)生會(huì)感到枯燥乏味。如果用一個(gè)卡通模型直觀展示效果,并讓學(xué)生馬上在課堂上實(shí)踐,會(huì)迅速提升學(xué)習(xí)效率。其次,要提升職業(yè)教育類課程的教學(xué)質(zhì)量,教和學(xué)之間的交互過(guò)程就顯得尤為重要[3]。在課堂上設(shè)置多個(gè)任務(wù)點(diǎn),難度依次遞增,學(xué)生在感受闖關(guān)成功的樂(lè)趣同時(shí)學(xué)習(xí)積極性也調(diào)用起來(lái)。為了增強(qiáng)教學(xué)師生互動(dòng)活躍課堂氣氛,還使用課程App 進(jìn)行點(diǎn)名和提問(wèn)。最后,教師在教學(xué)活動(dòng)結(jié)束后應(yīng)對(duì)本次教學(xué)進(jìn)行總結(jié),分析不足之處,不斷修正后面的課堂教學(xué),
課中的實(shí)踐主要讓學(xué)生理解并基本使用知識(shí),而課后作業(yè)則應(yīng)發(fā)揮學(xué)生的主動(dòng)性和創(chuàng)造性,拓展知識(shí)的廣度和深度。課后作業(yè)應(yīng)具有一定難度,并非簡(jiǎn)單重復(fù),需要上網(wǎng)搜集資料并思考完成。例如,在實(shí)例化游戲?qū)ο蟮恼n后作業(yè)中在沒(méi)有提供任何的素材情況下,要求學(xué)生實(shí)現(xiàn)射擊子彈的效果。
綜合實(shí)訓(xùn)是在學(xué)期末單獨(dú)留出一周時(shí)間讓學(xué)生獨(dú)立完成一個(gè)實(shí)際工作項(xiàng)目。給出學(xué)生更多自由發(fā)揮空間,教師主要起引導(dǎo)和啟發(fā)作用,通過(guò)跟進(jìn)學(xué)生的完成進(jìn)度情況,獲取項(xiàng)目設(shè)計(jì)中的難度,指導(dǎo)他們?nèi)ソ鉀Q問(wèn)題。
課程考核采用過(guò)程性評(píng)價(jià)與總結(jié)性評(píng)價(jià)相結(jié)合[4],過(guò)程性評(píng)價(jià)主要考核每個(gè)教學(xué)單元的表現(xiàn),評(píng)分是根據(jù)小組互評(píng)和教師評(píng)價(jià)綜合而得。每個(gè)教學(xué)單元就像的一個(gè)環(huán),環(huán)環(huán)相扣形成學(xué)習(xí)鏈條,如果一個(gè)環(huán)斷了,意味著某個(gè)教學(xué)單元的考核目標(biāo)沒(méi)有達(dá)到,進(jìn)而影響到整個(gè)教學(xué)預(yù)期效果。過(guò)程評(píng)價(jià)能讓教師及時(shí)了解學(xué)生學(xué)習(xí)狀況,以針對(duì)學(xué)生的特點(diǎn)進(jìn)行精準(zhǔn)教學(xué)??偨Y(jié)性評(píng)價(jià)包括期中考試和期末考試。期中考試后,會(huì)對(duì)成績(jī)不理想的學(xué)生進(jìn)行預(yù)警,督促他們查漏補(bǔ)缺。
授課過(guò)程中混合多種教學(xué)方法,例如案例法、啟發(fā)式教學(xué)法、項(xiàng)目教學(xué)法等。打破以知識(shí)傳授為主要特征的傳統(tǒng)學(xué)科課程模式,在前面基礎(chǔ)知識(shí)的教學(xué)中多采用案例教學(xué)、啟發(fā)式教學(xué)等方式。例如:粒子系統(tǒng),先給學(xué)生展示一個(gè)用搖桿控制小船在湖面行駛的案例[5]。然后給出完成這個(gè)案例需要解決的問(wèn)題,逐步引出各個(gè)知識(shí)點(diǎn)。這里不是簡(jiǎn)單的給出任務(wù)就了事,重要的是要讓學(xué)生學(xué)會(huì)如何用知識(shí)點(diǎn)去解決問(wèn)題。
講解綜合項(xiàng)目開發(fā)內(nèi)容時(shí),我們以一個(gè)實(shí)際項(xiàng)目為主線,隨著課程內(nèi)容的深入,帶領(lǐng)學(xué)生逐步完成這個(gè)項(xiàng)目的主要功能模塊,既能夠訓(xùn)練學(xué)生綜合掌握各知識(shí)點(diǎn),同時(shí),又能夠通過(guò)與企業(yè)項(xiàng)目的結(jié)合,提高學(xué)生實(shí)訓(xùn)效果,更好地培養(yǎng)學(xué)生實(shí)際項(xiàng)目的設(shè)計(jì)技能。項(xiàng)目的選取必須聯(lián)系當(dāng)前先進(jìn)的系統(tǒng)開發(fā)技術(shù),同時(shí)又要兼顧含蓋的知識(shí)點(diǎn)廣泛,不能僅限于某個(gè)行業(yè)。
經(jīng)過(guò)幾個(gè)學(xué)期實(shí)踐,通過(guò)對(duì)學(xué)生的教學(xué)反饋和教學(xué)成果分析,大部分學(xué)生能夠在較短的時(shí)間里逐步地了解、認(rèn)識(shí)、掌握Unity3D 技術(shù)制作三維交互的,效果逼真的虛擬現(xiàn)實(shí)場(chǎng)景。在各種相關(guān)競(jìng)賽中不少學(xué)生取得了優(yōu)異的成績(jī),還有些學(xué)生用Unity3D 技術(shù)來(lái)實(shí)現(xiàn)創(chuàng)新創(chuàng)業(yè)的項(xiàng)目。
在《Unity3D 應(yīng)用開發(fā)》課程教學(xué)實(shí)踐中,已經(jīng)探索出一些好的做法,但目前仍然還存在著一些問(wèn)題。首先,如果對(duì)這門課程的教學(xué)改進(jìn)僅僅停留在某個(gè)課程的局部上是不夠的,應(yīng)該從整個(gè)專業(yè)的全局層面上進(jìn)一步的整合。其次,該課程對(duì)教師的要求較高,需要掌握多門學(xué)科內(nèi)容,因此教師必須堅(jiān)持學(xué)習(xí),及時(shí)更新教學(xué)內(nèi)容。另外,Unity3D 和各種虛擬現(xiàn)實(shí)的教學(xué)實(shí)施有較高的硬件要求,良好的教學(xué)條件是實(shí)施好教學(xué)的有力保證,這需要獲得學(xué)校層面的支持。今后,如何在新的產(chǎn)業(yè)形式下培養(yǎng)出更多的具有創(chuàng)新意識(shí)Unity3D 技術(shù)人才,還需要不斷思考。