版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、基于基于 unity 的的 3D 校園的設(shè)計與實(shí)現(xiàn)校園的設(shè)計與實(shí)現(xiàn) Design and implementation of 3D campus based on unity 隨著互聯(lián)網(wǎng)高新技術(shù)的發(fā)展,越來越多便民利民的軟件與程序被開發(fā)出來,上到國家軍事,下到居家旅行,計算機(jī)的技術(shù)已經(jīng)滲透入我們生活中的每個角落,于此同時每年都會一大批高考生需要在網(wǎng)上找到自己心儀的學(xué)校,網(wǎng)絡(luò)的的發(fā)展注定了信息量的爆炸迸發(fā),各種各樣的無用信息也會浮現(xiàn)出來。畢業(yè)生們在這么多繁雜的信息里很難有效的獲取到自己想要了解的信息。而此時市場上需要的是一款能夠更好統(tǒng)合這些信息的軟件來讓學(xué)生或者家長們了解詳情,而我們基于 uni
2、ty3D 開發(fā)工具的 3D 校園就應(yīng)運(yùn)而生,使用 C#腳本語言開發(fā)和實(shí)現(xiàn)人機(jī)交互的過程,能夠讓用戶更加有代入感同時還能了解本校的歷史與外觀以及其他等。 本研究項(xiàng)目的實(shí)現(xiàn)是基于 unity3D 開發(fā)工具,開發(fā)語言是 C#編程語言,以 3Dmax 建模軟件為設(shè)計,使用 Photoshop 進(jìn)行項(xiàng)目 UI 設(shè)計。本項(xiàng)目的工作流程為:對于項(xiàng)目制作的初期的規(guī)劃和設(shè)計、項(xiàng)目所需物件的建模與設(shè)計、unity 內(nèi)的場景搭建。 關(guān)鍵詞:關(guān)鍵詞: 3D 校園 Unity3d 人機(jī)交互 3DmaxAbstract With the development of the Internet of new and hig
3、h technology, more and more with the convenience and benefit of the software program is developed, on to the national military, down to the travel that occupy the home, the computer technology has penetrated into every corner of our life, at the same time every year a large number of students need t
4、o find their loved ones online schools, the explosion of the network to the development of the information explosion, all kinds of useless information will emerge. It is difficult for graduates to effectively obtain the information they want to know in so many multifarious information. At a time whe
5、n the market need is a better integration of the information software to make students or their parents for details, and we are based on unity3D development tool 3 d campus was born, using c # script language to develop and implement process of human-computer interaction, can let the user more have
6、the sense at the same time also can understand the history of the school and appearance as well as other etc.The implementation of this research project is based on the unity3D development tool, the development language is C# programming language, the 3Dmax modeling software as the design, using Pho
7、toshop to carry out the UI design of the project. The workflow of this project is: the initial planning and design of the project, the modeling and design of the objects needed for the project, and the scene construction within unity.KeyKey wordswords: Virtual campus unity3d The human-computer inter
8、action 3dmax目目 錄錄第一章第一章 緒論緒論 .11.11.1 開發(fā)背景及意義開發(fā)背景及意義.1 11.21.2 國內(nèi)外的研究現(xiàn)狀國內(nèi)外的研究現(xiàn)狀.1 11.31.3 本項(xiàng)目的主要工作本項(xiàng)目的主要工作.2 21.41.4 論文的組織結(jié)構(gòu)論文的組織結(jié)構(gòu).2 2第二章第二章 制作工具及技術(shù)介紹制作工具及技術(shù)介紹 .32.12.1 Unity3DUnity3D 引擎引擎 .32.1.1 簡介 .32.1.2 引擎優(yōu)勢 .32.1.3 Unity3D 國內(nèi)外研究狀況.42.22.2 3DMAX3DMAX 建模工具建模工具 .42.32.3 PhotoshopPhotoshop.5第三章第三
9、章 需求與可行性分析需求與可行性分析 .63.13.1 需求分析需求分析.63.23.2 可行性分析可行性分析.63.2.1 技術(shù)可行性 .63.2.2 經(jīng)濟(jì)可行性 .63.2.3 操作可行性 .6第四章第四章 3D3D 校園項(xiàng)目設(shè)計校園項(xiàng)目設(shè)計 .84.14.1 UIUI 設(shè)計設(shè)計 .84.1.1 主界面的實(shí)現(xiàn) .84.1.2 景點(diǎn)介紹界面的實(shí)現(xiàn) .84.1.3 小游戲界面的實(shí)現(xiàn) .84.24.2 用戶使用流程用戶使用流程.94.34.3 模型設(shè)計模型設(shè)計.104.3.1 教學(xué)樓 .104.3.2 宿舍區(qū) .104.3.3 體育館、圖書館 .104.44.4 交互功能的設(shè)計交互功能的設(shè)計.1
10、24.4.1 角色動作控制 .124.4.2 開場視頻的設(shè)計 .124.4.3 景點(diǎn)介紹窗口的設(shè)計 .124.4.4 小游戲的設(shè)計 .124.4.5 按鍵、鼠標(biāo)交互的設(shè)計 .13第五章第五章 3D3D 校園功能實(shí)現(xiàn)校園功能實(shí)現(xiàn) .145.15.1 場景搭建過程場景搭建過程.145.1.1 場景劃分 .145.1.2 場景建筑建模 .145.1.3 場景地面制作 .185.1.4 校園場景搭建 .195.1.5 場景碰撞體添加 .205.1.6 光照及天空盒子的添加 .205.25.2 UIUI 界面的實(shí)現(xiàn)界面的實(shí)現(xiàn) .215.2.1 主界面的實(shí)現(xiàn) .215.2.2 景點(diǎn)介紹界面的實(shí)現(xiàn) .225
11、.2.3 小游戲界面的實(shí)現(xiàn) .225.35.3 交互模塊的實(shí)現(xiàn)交互模塊的實(shí)現(xiàn).235.3.1 開場動畫的觸發(fā) .235.3.2 角色動作控制 .245.3.3 小游戲的實(shí)現(xiàn) .245.3.4 其他功能的實(shí)現(xiàn) .27第六章第六章 功能測試功能測試 .296.16.1 測試環(huán)境測試環(huán)境.296.26.2 測試用例以及結(jié)果測試用例以及結(jié)果.29第七章第七章 總結(jié)總結(jié) .30參參 考考 文文 獻(xiàn)獻(xiàn) .31附附 錄錄 .33致致 謝謝 .321第一章第一章緒論緒論1.11.1 開發(fā)背景及意義開發(fā)背景及意義中國經(jīng)濟(jì)的飛躍發(fā)展下,越多越多的高校以及不單單滿足于師資力量與教學(xué)質(zhì)量的提升,同時也為了展現(xiàn)自身風(fēng)采
12、,提高知名度,提升校園文化等作宣傳,與傳統(tǒng)的宣傳手段相比 3D 校園技術(shù)要來的更加直觀形象,更加能體現(xiàn)校園的實(shí)景,讓人們感覺身臨其境,而近些年越來越多的高校與企業(yè)都開始發(fā)展了虛擬校園建設(shè)工作?;?unity3D 開發(fā) 3D 校園系統(tǒng)就能向用戶展現(xiàn)一個更全面的大學(xué)校園,相比起傳統(tǒng)的平面圖、沙盒模型、效果圖等,虛擬校園漫游使用的是一種全新的知識技術(shù)在屏幕上呈現(xiàn)一個可視化的校園環(huán)境模型,具有較強(qiáng)的交互性和讓用戶有更深的沉浸式體驗(yàn),使用戶仿佛就身處在校園中,并且可以在虛擬校園內(nèi)進(jìn)行全方位的觀察體驗(yàn),可以不受約束的在校園內(nèi)走動以此來或許信息,且我們能夠在準(zhǔn)備在場景中的建筑詳情板上了解到我們各個校園建筑
13、與景觀的背景資料、歷史情況等信息。系統(tǒng)的建立能夠很好的給學(xué)校樹立大眾形象,提高學(xué)校的知名度,方便新生即使足不出戶也能為來學(xué)校報到提前熟悉學(xué)校的環(huán)境與具體規(guī)劃,不會像一個無頭蒼蠅一樣到處亂竄。3D 校園會成為一個助力學(xué)校對外宣傳與校園建設(shè)的輔助型工具,對校園管理以及現(xiàn)代化的發(fā)展有著推動作用。 1.21.2 國內(nèi)外的研究現(xiàn)狀國內(nèi)外的研究現(xiàn)狀 美國作為技術(shù)研究的先驅(qū)所以發(fā)展是比較發(fā)達(dá)與完善的,互聯(lián)網(wǎng)的技術(shù)已經(jīng)滲透到了美國大學(xué)校園的教學(xué)、科研、管理、學(xué)習(xí)等,在改變傳統(tǒng)方式的地位與習(xí)慣,而且取得了很多矚目的成績。而國內(nèi)的 3d 技術(shù)起步比較晚,但是近年來政府相關(guān)部門與科研院校和各大高校以及開始重視并發(fā)展
14、起來,國內(nèi)研究協(xié)會以及將其列入研究項(xiàng)目,在圖形學(xué)算法、建模、視景技術(shù)和 3D 技術(shù)等取得了一定的成果。我國高校使用 3D 校園的類型一般用于展示校園風(fēng)景和研究工具環(huán)境。國外研究比較多的集中在教育方面,國內(nèi)的研究則主要集中在展示校園方面,比如清華大學(xué)、上海交大、北京大學(xué)等都是利用 360 全景漫游技術(shù)配合路線的計算機(jī)技術(shù)來制作的。1.31.3 本項(xiàng)目的主要工作本項(xiàng)目的主要工作2本項(xiàng)目主要是使用 3DMAX 的三維建模功能結(jié)合 Unity3D 腳本編程技術(shù)結(jié)合,設(shè)計與搭建一個能夠讓用戶在環(huán)境中自由移動的校園漫游場景且在其中加入一些互動元素,以沉浸性和交互性來構(gòu)建一個不同于傳統(tǒng)的虛擬校園游歷體驗(yàn),讓
15、用戶擁有更真實(shí)的使用經(jīng)歷。(1) 構(gòu)思搭建所需物件的設(shè)計和擺放,以及項(xiàng)目所需要的功能分析和開發(fā)設(shè)計。(2) 在 3DMAX 中把需要的模型建出來。(3) 在 Unity3D 里搭建剩下所需的地形、路面、樹木、植被等。(4) 角色的基本移動,角色與場景間的物體碰撞檢測。(5) 角色與建筑、景點(diǎn)之間的交互還有其他與場景間的觸發(fā)機(jī)制。(6) 系統(tǒng)的 UI 1.41.4 論文的組織結(jié)構(gòu)論文的組織結(jié)構(gòu) 本文共有六個章節(jié)來介紹,各章的主要內(nèi)容如下:第一章:緒論,主要介紹了課題的背景和意義、國內(nèi)外的研究現(xiàn)狀、論文的主要研究內(nèi)容、論文的組織結(jié)構(gòu)。第二章:介紹了開發(fā)系統(tǒng)所需要的各種工具,比如建模工具、開發(fā)引擎、
16、圖片處理工具等;第三章:簡單的分析了一下系統(tǒng)在市場上的需求同時包括幾種可行性的分析;第四章:主要是介紹了一些關(guān)于系統(tǒng)的功能設(shè)計部分,比如 ui 設(shè)計、模型的設(shè)計、交互設(shè)計和觸發(fā)設(shè)計,然后剩下的實(shí)現(xiàn)部分就是第五章的內(nèi)容。第六章:實(shí)際測試,測試項(xiàng)目中的各種功能是否出現(xiàn)錯誤和誤差等結(jié)果。第七章:總結(jié),對于本次開發(fā)過程中遇到的問題與困難做出總結(jié),同時也對工作的的展望。 3第二章第二章 制作工具以及介紹制作工具以及介紹2.12.1 UnityUnity 引擎引擎2.1.1 介紹Unity3D 是集開發(fā)和設(shè)計發(fā)布與一身的一個多功能引擎,它能夠在創(chuàng)建場景時實(shí)時的可視 2D 或 3D 的游戲得到廣大用戶的青睞
17、,是全球最受歡迎的一款游戲引擎。它可以支持開發(fā)者直接在 PC 端上發(fā)布自己的游戲,可以利用插件來發(fā)布網(wǎng)頁游戲。這是他的跨平臺性的高度體現(xiàn),他給用戶提供了一個多平臺的專業(yè)游戲開發(fā)工具和一個高度整合的開發(fā)引擎。因?yàn)楦鱾€開發(fā)平臺的差異會直接影響到開發(fā)的進(jìn)度,針對這個平臺間移植的問題開發(fā)者往往會花費(fèi)大量不必要的時間來解決。Unity 的跨平臺性就完美的處理了這個難題,使得開發(fā)時間得到了大大的縮減,加大了開發(fā)者的研發(fā)力度。2.1.2 引擎優(yōu)勢(a)交互性:作為一款游戲引擎,Unity 強(qiáng)大的交互功能和它完善的操作機(jī)制,我們可以在 unity3D 中調(diào)用網(wǎng)頁的 JS 函數(shù)達(dá)到數(shù)據(jù)交互,也可以直接使用 3d
18、max中的模型來搭建,而且 untiy 腳本兼容 C#、JavaScript 等大眾語言的編寫,它的工作模式簡潔且直觀,并且自帶著強(qiáng)大的插件與工具箱,使得開發(fā)變得流暢,大大縮短開發(fā)周期。(b)物理引擎:物理引擎的好壞是一個游戲或者系統(tǒng)的真實(shí)性的重要因素之一,好的引擎它的功能的合理性才能更好的切合開發(fā)者對游戲的邏輯性處理,通過unity3D 更好的還原現(xiàn)實(shí)世界的的實(shí)體,物體與物體之間的擠壓、碰撞、摩擦等聯(lián)系,加之 unity 特有的光源、動畫、材質(zhì)、聲音等組件的結(jié)合,能夠逼真的還原現(xiàn)實(shí)世界中的物體體驗(yàn)符合現(xiàn)實(shí)中的物理法則。(c) 強(qiáng)大的跨平臺性:unity3D 可以說是實(shí)現(xiàn)了全平臺發(fā)布的壯舉,幾
19、乎熱門的平臺上都會有其開發(fā)游戲的身影,比如蘋果、安卓等,當(dāng)然電腦端就更加不用說,這得多虧了引擎本身所具備的強(qiáng)大兼容性,能夠允許多種熱門語言的編寫和各種其他軟件的互通性,這不僅節(jié)約了開發(fā)者大量時間還為市場推動了助力。(d) C#腳本開發(fā)的優(yōu)勢:因?yàn)槭褂玫牡氖墙y(tǒng)一的操作符,簡化了很多情況下的操作,其簡潔的風(fēng)格受到大眾的喜愛,同時許多的錯誤規(guī)范和開發(fā)漏洞它都能很好的解決,讓開發(fā)者有更好的容錯率和開發(fā)空間。2.1.3 國內(nèi)外研究現(xiàn)狀4在 Unity 對于各個平臺的支持和持續(xù)更新版本下,unity 已經(jīng)成為全球最換推崇的引擎,它占據(jù)了全功能游戲市場的 45%的份額,全球用戶已經(jīng)達(dá)到了 330 萬人。全球
20、有 6 億的玩家在玩 unity 制作的游戲,在如此龐大的數(shù)據(jù)量下,越來越多的開發(fā)者愿意使用 unity 引擎來進(jìn)行開發(fā),而很多用戶認(rèn)為這款工具容易學(xué),容易用,一個月就能大概掌握其功能,因此再往后的時間里 unity 在市場中的地位也會不斷上升。Unity3D 是一款全功能性的游戲引擎,無論是在移動端還是其他媒介上都有很多的用戶,在其他行業(yè)上他也發(fā)揮著自己強(qiáng)大無比的功能,它在國內(nèi)外的地位都是舉足輕重的,由暴雪公司發(fā)行爐石傳說卡牌游戲便是一個很好的例子。越來越多的人認(rèn)為它是 21 世界重要的技術(shù)發(fā)展之一。通過這么多年的努力我國在這方面的發(fā)展已經(jīng)取得了不錯的成效,但還是與早期就開始研發(fā)的發(fā)達(dá)國家有
21、一定差距?,F(xiàn)在計算機(jī)圖形學(xué)和軟件工程學(xué)的發(fā)展使得虛擬現(xiàn)實(shí)技術(shù)得到了重視,虛擬場景模型的開發(fā)也正朝著更深入和更廣闊的方向進(jìn)行發(fā)展。目前,在國內(nèi)外使用 Unity 3D 進(jìn)行游戲開發(fā)的人員都很多。據(jù)調(diào)查國內(nèi)最近相繼開盤的小區(qū),都是運(yùn)用 unity3D 技術(shù)來實(shí)現(xiàn)的,這一現(xiàn)象,我們看到了 unity 引擎開始在中國成長,越來越多的行業(yè)會需要用到它的技術(shù),也證明了“是金子總會發(fā)亮”這句話,自身的優(yōu)異性帶來的獨(dú)特優(yōu)勢下,人們意識到自身的需求和審美。 發(fā)展趨勢:Unity 是利用圖型開發(fā)環(huán)境為首要方式的軟件。Unity 的缺點(diǎn)目前就在于 AI 系統(tǒng)和服務(wù)器端不夠完善,也是其需要重點(diǎn)改進(jìn)的地方6。Unity
22、3d 能做虛擬現(xiàn)實(shí),但是對于硬件的要求很高,暫時只有很少一部分的設(shè)備能達(dá)到這樣的效果。相對在國內(nèi)來說,Unity 基本是剛起步的階段,但其成本低廉便成為了眾多開發(fā)者青睞的理由。在物理引擎方面,流體效果以及布料效果也是 Unity 引擎還未開發(fā)的部分,是一個較大的遺憾。隨著 3d 技術(shù)在各個領(lǐng)域的蓬勃發(fā)展,國內(nèi)對其的注視程度也日益加重,許多高校都開始紛紛設(shè)立 VR 系統(tǒng)開發(fā),unity 游戲開發(fā)等課程,可見對于 3D 技術(shù)人才的培養(yǎng)與渴望。同時在國內(nèi)的各種研究所也開始研究自己的虛擬漫游系統(tǒng),發(fā)展技術(shù)可謂是一日千里,相信在不就得將來里,3D 技術(shù)在中國會發(fā)展壯大造福神州大地。2.22.2 3DMA
23、X3DMAX 建模工具建模工具3D Studio Max,一般稱為 3DMAX,現(xiàn)在各個行業(yè)領(lǐng)域都有應(yīng)用到其功能,作為一款基于 PC 端的三維動畫渲染和建模軟件,它可以用的地方都很好,其次它的性價比也非常高,廉價的價格帶來的是強(qiáng)大的功能,需要的電腦配置也不會太高,在國內(nèi)這款軟件和 Maya 比較多人使用在網(wǎng)上教程或者交流的也會很多,因此想要學(xué)習(xí)或者了解會是一個很好的途徑。其次就是 3DMAX 比較容易上手操作也不會太復(fù)雜,簡介的用戶界面很適合我們這種初學(xué)者,這次主要是用來建模我們所需要的場景等。 52.32.3 PhotoshopPhotoshopAdobe Photoshop,簡稱“PS”,
24、一般用于處理圖像和修復(fù)圖像像素,也就是平常我們所說的“修圖”,但是在更專業(yè)的地方他的用處可不止這點(diǎn),不論是圖片制作還是工業(yè)設(shè)計等它都可以完美勝任,適用領(lǐng)域非常廣泛,此次項(xiàng)目中主要用來進(jìn)行 UI 的設(shè)計以及模型的貼圖美化。6第三章第三章 需求和可行性分析需求和可行性分析3.13.1 需求分析需求分析經(jīng)過多年的互聯(lián)網(wǎng)發(fā)展,人們已經(jīng)不單單滿足于網(wǎng)站文字與二維平面的單一敘述,越來越多的人渴望更加了解他們所感興趣的學(xué)校,通過自己的主觀來了解學(xué)院風(fēng)貌與學(xué)校生活,以往的宣傳方式太過于單調(diào)不能夠吸引大眾眼球,而且信息巨多不適合人們吸收了解,而如果我們適用虛擬 3D 校園技術(shù)不單單大大縮減了大眾了解校園的時間,
25、而且還可以足不出戶就能了解都外面的世界,對于現(xiàn)在生活節(jié)奏如此之快的社會,這項(xiàng)技術(shù)的存在。而且在這幾年越來越多的高校開始意識到這個問題,并且以及開始了它們自己的 3D 校園系統(tǒng)。3.23.2 可行性分析可行性分析3.2.1 技術(shù)可行性在 U3D 中對象的行為實(shí)現(xiàn)依靠的是附加在上面的腳本來達(dá)到效果的,我們可以通過編寫腳本來控制一切對象的移動和創(chuàng)建,unity3D 主要支持 JavaScript、C#和 Boo Script 三種腳本,因?yàn)槲覀儗W(xué)習(xí)過 C#編寫腳本的方法,所以項(xiàng)目接下來會用的也是C#語言完成。此項(xiàng)目也需要進(jìn)行模型搭建等手工活,但基于 unity 的包容性,3Dmax內(nèi)的模型也能夠?qū)?/p>
26、其中使用,所以使得我們的計劃也更加的順利,目前為止的學(xué)習(xí)知識與技術(shù)都能滿足本次開發(fā)的要求,因此我覺得這個項(xiàng)目的制作是可行的。3.2.2 經(jīng)濟(jì)可行性 U3D 軟件的開發(fā)分為個人版和企業(yè)版,我們學(xué)生使用個人版是不需要收費(fèi)的,這比起其他軟件來說是一個很好的地方,而他所生成的本地文件為 exe 格式,用戶只要一臺電腦就可以運(yùn)行它。Unity 引擎的收費(fèi)相比起虛幻、寒霜等其他引擎來說收費(fèi)少很多,就是我們通常所說的極致的性價比,所以說主要的花費(fèi)也就只有人工時長,而相比起其他傳統(tǒng)的平面圖、效果圖等來說收益不是一星半點(diǎn)的高。3.2.3 操作可行性U3D 的界面風(fēng)格設(shè)計的十分簡潔精悍,一眼望下去你所能用到的都已
27、經(jīng)劃分好了給用戶,我們能夠很直觀的知道操作界面,也是非常容易上手,其操作便利也是它近年來越來越受歡迎的一個特點(diǎn),通過 PC 端的操作我們能夠?qū)崟r的看到場景的變化,因?yàn)樗前凑彰恳粠瑏碜兓乃允欠浅5膰?yán)謹(jǐn)?shù)囊豢钴浖?,同時他還可以在 Windows、蘋果和安卓等上運(yùn)行,也可以利用插件發(fā)布網(wǎng)頁游戲也能支持 PC 瀏覽,所以我們只需潛7心在 PC 端上的開發(fā),通過 U3D 的強(qiáng)大交互性和腳本功能來讓我們系統(tǒng)更加簡潔明了讓人喜愛。8第四章第四章 3D3D 校園項(xiàng)目設(shè)計校園項(xiàng)目設(shè)計3D 校園漫游系統(tǒng)的開發(fā)主要包括兩大部分,開發(fā)流程如下圖(4.1)。圖 4.1 系統(tǒng)開發(fā)流程圖4.14.1 UIUI 設(shè)計設(shè)
28、計 4.1.1 主界面 因?yàn)槲覀冞@些項(xiàng)目的主題是模仿廣東東軟學(xué)院進(jìn)行的一個 3D 建模所以我的想法是將我們這些系統(tǒng)的主界面 UI 設(shè)計成以藍(lán)白為主色調(diào)的一個封面,而在我們心目中東軟的一個象征便是正門處的 Neusoft 校牌,因此我會以這個圖片的元素為封面設(shè)計的靈感,主界面會有兩個 button 按鈕給選取包含進(jìn)入校園和退出使用兩個功能,兩個功能的效果也就像字面意思一樣進(jìn)入和退出。994.1.2 景點(diǎn)介紹界面當(dāng)用戶接觸到觸發(fā)開關(guān)時就會彈出我們的景點(diǎn)介紹界面,當(dāng)用戶打開了之后首先會看到的是一個一張所在建筑的圖片然后在其下面能夠獲取到他的相關(guān)信息比如背景資料、具體作用等。4.1.3 小游戲界面的實(shí)
29、現(xiàn)為了使我們的項(xiàng)目更具有趣味性,因此我們加入了一個趣味小游戲,然后他的選擇界面比較單調(diào),會彈出一個框然后有兩個按鈕,框里的內(nèi)容為是或否,效果當(dāng)然就是進(jìn)入小游戲場景或者說拒絕進(jìn)入。4.24.2 用戶的使用流程用戶的使用流程 10圖 4-2 流程圖4.34.3 模型設(shè)計模型設(shè)計114-3 模型平面圖 4.3.1 教學(xué)區(qū) 這里說的教學(xué)區(qū)就是 A、B、C、D、E、F 六座建筑,因?yàn)檫@些建筑群造型比較獨(dú)特,所以我們需要分解成數(shù)個部分來降低我們的建模工作量有些重復(fù)的地方也可以復(fù)制粘貼,有些復(fù)雜一點(diǎn)的需要我們單獨(dú)拿出來建模,建筑,大型建筑的建模思路就是二維變?yōu)槿S的的轉(zhuǎn)換,需要有較強(qiáng)的空間感和反復(fù)的觀察,先
30、用長方體初步建立模型的外觀然后在慢慢調(diào)整細(xì)節(jié)還有外形,接著深化一下其他細(xì)節(jié),設(shè)置門窗還有他的位置以及樓層高度等最后再給房群加上玻璃、墻布等材質(zhì)和貼圖。4.3.2 宿舍區(qū)具體做法和教學(xué)區(qū)的做法和上述差不多,相比起來反而簡單了不少因?yàn)橛胁簧僦貜?fù)的地方。 4.3.3 體育館、圖書館12 這兩種建筑相比起上面兩種更多的是建筑風(fēng)格的差異,它們更加的注重的是風(fēng)格,因此我將盡可能的還原模仿外觀上的獨(dú)特。4.44.4 交互功能的設(shè)計交互功能的設(shè)計 4.4.1 角色動作控制 角色行動是我們這個項(xiàng)目的重中之重,我們通過方向按鍵響應(yīng)來移動本體,適用鼠標(biāo)來達(dá)到方向改變,通過給物體和角色掛上剛體(rigidbody)組
31、件和碰撞器,然后將主攝像機(jī)調(diào)整位置到角色前方處營造一種第一人稱視角的感覺,達(dá)到我們想要的物體效果,最終實(shí)現(xiàn)具有真實(shí)感的沉浸式體驗(yàn),具體做法如下。通過跟隨腳本的作用下攝像機(jī)能夠達(dá)到即使隨便移動和旋轉(zhuǎn)也能固定在角色的位置不變。碰撞器就是用來檢測用戶和場景之間的交互,比如設(shè)定當(dāng)角色與其他物體的碰撞器相撞時發(fā)生特定的事件來反饋,此外還需要設(shè)定好角色的移動速度、跑步速度、視角高度和重力等,讓模擬角色更加真實(shí)。 4.4.2 校園宣傳視頻彈出功能的設(shè)計當(dāng)經(jīng)過校門處時我們會觸發(fā)一個自動播放的校園宣傳視頻,通過腳本實(shí)現(xiàn)一個可自動播放的,我們可以寫一個延時播放視頻的腳本或者整個接收器來給我們的角色觸發(fā)然后開始播放
32、視頻。 4.4.3 景點(diǎn)介紹功能設(shè)計 我們在漫游的過程中會在各個景點(diǎn)和建筑群前方于告示牌一樣的東西,我們可以在告示牌上放置一個 button 按鈕,然后我們點(diǎn)擊按鈕觸發(fā)事件會彈出一個新的窗口然后里面會有建筑對應(yīng)的相關(guān)圖片,在圖片下方顯示會有其相關(guān)信息,然后點(diǎn)擊右上角可以退出界面。4.4.3 小游戲的設(shè)計游戲背景:在操場處設(shè)立一個 NPC 或者提示牌然后過去查看會彈出一個提示框內(nèi)容是,是否要參與這個小游戲,假如我們選擇是的話就可以進(jìn)行一場與 AI 的趣味障礙跑比賽,如果我們不選擇通過游戲,在接下來的地點(diǎn)前會出現(xiàn)透明墻來阻擋我們前進(jìn)。 游戲玩法:(a)操作機(jī)制:游戲以第一人稱視角控制,鍵盤 WSA
33、D 控制人物進(jìn)行上下左右移動,鼠標(biāo)控制視角的移動以及旋轉(zhuǎn),空格鍵可以跳躍,按 shift 鍵可以加速,ESC 鍵調(diào)用菜單。(b)流程設(shè)計:進(jìn)入游戲場景后,我們需要等待三秒鐘的準(zhǔn)備視角倒數(shù)。倒數(shù)完畢后我們需要通過自己靈巧的走位和操作超過身邊的對手得到第一名。13游戲流程圖如下 4-4: 圖 4-4 游戲流程圖當(dāng)我們通關(guān)游戲后場景回彈出一個恭喜第一名的小框,然后點(diǎn)擊確定就會返回主場景內(nèi),接下來就可以繼續(xù)前進(jìn)參觀之后的風(fēng)景。4.4.4 按鍵、鼠標(biāo)交互的設(shè)計(a)視角切換:可以通過按鍵觸發(fā)來切換用戶是第一人稱視角還是第三人稱視角,按 T 鍵切換。 (b)背景音樂開關(guān):可以通過點(diǎn)擊來開關(guān)音樂,鼠標(biāo)左鍵點(diǎn)
34、擊右上角喇叭圖片。(c)小地圖開關(guān):可通過按鍵 M 開關(guān)小地圖。(d)音樂魔方觸發(fā):場景中會生成 3 處懸空的立方體模型,在我們看見立方體后,通過鼠標(biāo)左鍵點(diǎn)擊可以觸發(fā)立方體效果,切換成另一首背景音樂。14第五章第五章 3D3D 校園功能實(shí)現(xiàn)校園功能實(shí)現(xiàn)5.15.1 場景搭建過程場景搭建過程5.1.1 場景劃分在建模之前我們需要先在腦海里構(gòu)思好如何開始工作,首先我會分成建族群、路面地形和自然風(fēng)景三個部分來完成。(1) 在進(jìn)行建筑群建模時比較常用的是線、面轉(zhuǎn)換的思路,可以通過修改器列表里的擠出和創(chuàng)建多邊形來編輯物體,通過對于空間的觀察,使用轉(zhuǎn)化為可編輯多邊形中的點(diǎn)線面屬性來調(diào)整形狀,然后布爾運(yùn)行來
35、讓幾個不同的模型組合在一起來達(dá)到自己想要的效果,在 3DMAX 中大多數(shù)物體都可以用這樣的方法進(jìn)行調(diào)整,而這也是我比較擅長的一種方法,因此我們的建模都會遵循這個原則其他特殊的模型會做相應(yīng)的改變。(2) 對于路面和地形的建模 unity3D 自帶的地形編輯器 Terrain 組件就能很好的實(shí)現(xiàn)我們所需要的效果因此我們會在 U3D 里完成。(3) 其他風(fēng)景比如河流、植被、樹木等的 U3D 也有提供素材幫助我們的搭建場景。5.1.2 場景建筑建模 因?yàn)槲覀兊膸讉€建筑群的建模過程都比較雷同,有的只是部分細(xì)節(jié)的不同,所以這里我們主要詳細(xì)講解 A、B 棟建筑群的建模,其他的就不需要細(xì)說了。 圖 5-1 A
36、、B 棟正面圖15首先我打算先從圖 5-1 的 A、B 棟建筑開始,通過觀察我決定先從兩邊的樓柱開始,而我的思維是從上到下完成,因此我先搭建屋頂?shù)乃慕峭げ糠?。圖 5-2打開 3DMAX 工具然后在頂視圖里面新建標(biāo)準(zhǔn)基本體中的長方體如上圖 5-2,然后將觀察所得的長寬等數(shù)值填入修改器面板處,將長方體屬性改為可編輯多邊形然后在選擇里面選取邊(圖 5-3),圖 5-3選擇左右兩條邊在邊屬性下面有個塌陷功能點(diǎn)擊塌陷會使物體變成下圖 5-4 的樣子。16 圖 5-4再選取頂點(diǎn)屬性就可以控制物體的的頂點(diǎn)處,通過移動調(diào)節(jié)頂點(diǎn)的位置我們可以得到一個四腳亭的模型,然后我們在給它的下方創(chuàng)建兩個圓柱體充當(dāng)支柱,調(diào)整
37、圓柱體的數(shù)值然后復(fù)制粘貼成四份放在長方體的四角,在移動場景中物件的時候要結(jié)合幾個視圖來看,頂視圖用來觀察左右移動,前視圖觀察它的上下位置是否有偏差,這樣做能更好的幫助在建模時的模型精確程度和工作效率,然后我們將外形建好之后我們需要打開材質(zhì)編輯器(圖 5-5) 圖 5-5 材質(zhì)編輯器給物件的外表穿上“衣服”,使用我們調(diào)好的材質(zhì)球和貼圖拉動鼠標(biāo)放在涼亭的頂部或者點(diǎn)擊編輯器中的“將材質(zhì)放入場景“的按鈕就完成了,下圖 5-6 示. 圖 5-6 四腳亭接下來需要完成的四腳亭下部的主樓部分,要達(dá)到兩座樓相互連通的外觀效果需要三個長方體切換成可編輯多邊形然后通過布爾運(yùn)算功能做到讓它們疊加在一起,將他們連接起
38、來之后切換到頂視圖,選擇最左邊的一個將他切換到多邊形屬性選擇它的面使用多邊形自帶的擠出和倒角功能將面往內(nèi)部擠入制造一個凹槽來讓我們的涼亭能夠放10入其中看起來更加美觀,然后給另外一邊的樓也做一樣的處理調(diào)整好位置進(jìn)行下一步,因?yàn)槲覀兛磮D 5-1 的樓外表有一三個大玻璃圍成的口子的造型所以也需要給前視17圖的兩個面改造一下,選取其中一邊的面切換成邊屬性然后給他們的表面插入幾個頂點(diǎn)將頂點(diǎn)圍城下凹的模樣,然后切換成點(diǎn)屬性使用連接功能把這些點(diǎn)連起來,再把視角切換成頂視圖拖動剛剛生成的幾條邊就能達(dá)到想要的效果,然后再用材質(zhì)編輯器給它添加玻璃的材質(zhì)。下一步我們要做好兩個樓中間的模型效果,需要做兩個墻充當(dāng)墻面
39、和支柱,因?yàn)檫@個構(gòu)造比較特殊所以我選擇了使用樣條線的方法來編輯,需要做兩個墻充當(dāng)墻面和支柱,因?yàn)檫@個構(gòu)造比較特殊所以我選擇了使用樣條線的方法來編輯,然后我們可以通過調(diào)整數(shù)值也可以手動調(diào)整軸方向?qū)⒛P蛢?nèi)部的凹槽往里面壓,在前視圖框選好需要擠壓的部分再切換回頂視圖按 F3 選取 Y 軸往上拉,調(diào)整位置就額可以了,需要注意的是這樣的樣條線必須要是閉合的,我們可以切換成頂點(diǎn)鼠標(biāo)框選沒有閉合起來的頂點(diǎn)選擇工具里面的熔合然后再用焊接工具,就可以將兩個點(diǎn)焊接在一起,最后就在修改器列表選擠出功能,得到我們需要的墻體和支柱。用相同的做法制作多一個,但是需要比之前的大上一倍把他們兩個疊在一起營造層次感。最后在前視
40、圖中間的連接處長方體選擇它的面在上面使用布爾運(yùn)算扣一排共 6 個方形的洞口用來放置窗戶,不過要小心的是在場景中繪制兩個圖形,并且他們有相交的地方才可以使用布爾運(yùn)算,所以我們可以使用附加來讓他們先連在一起。選取布爾中的差集(A-B)選項(xiàng),然后用拾取圖形選擇扣洞用的圖形。將上面幾個物件擺放好,最后正面效果如下圖 5-7。 圖 5-7 a、b 棟正面圖 建筑的側(cè)面部分是一個呈階梯式的樓層分布,但其實(shí)只要建一片其他兩片建筑都可以復(fù)制然后再修改一些小細(xì)節(jié)。首先先要是屋頂,新建長方體,屬性改為可編輯多邊形然后在選擇里面選取邊選擇左右兩條邊在邊屬性選擇塌陷,塌陷生成的新圖形會多一條新的邊,選擇這條新邊的兩個
41、頂點(diǎn),然后將他們汪中間靠攏移動,一個屋頂完成。然后給房子制作走廊通過走廊可以達(dá)到分層的效果,用長方形疊加一起就會有很好的層次感,然后再用圓柱和長方體組合搭建在一起做成欄桿,使用幾何體中AEC 擴(kuò)展中的門模型,右鍵打開捕捉開關(guān)選取邊/線段,移動門可以自動附加再墻壁上。最后的效果圖如下 5-8.18 圖 5-8 A、B 側(cè)面圖5.1.3 場景地面制作第一步,打開 unity,建一個項(xiàng)目,點(diǎn)擊 SampleScence 中的空白,右鍵鼠標(biāo),選擇 3D Object,然后他的下拉列表里面有一個 Terrain(地形),點(diǎn)擊即可,緊接著就會在右側(cè)的場景中看見有白色的長方形,圖 5-9。 圖 5-9Ter
42、rain 地形選取19第二步,點(diǎn)擊剛剛創(chuàng)建的Terrain 地形組件就會出現(xiàn)如下圖 5-10 所示,它分別有七個按鈕的功能,他們的功能的各不一樣。首先我們需要做的就是選擇第二個抹平功能選項(xiàng)下的 Height 功能給我們的地形給予一個高度然后在按右邊的 flatten 按鈕,這樣做的目的是為了讓我們在制作地圖時可以有一個高低差。 圖 5-10 高度固定調(diào)整第三步,之后我們換回第一個抬高按鈕里,在其下方的 brushes 刷子模型里選擇一個合適的來涂刷我們的地形,點(diǎn)擊左鍵不放往上抬可以制作山峰,而如果我們需要在地面開一個洞或者把地面往下壓則需要按著鍵盤 shift 鍵再點(diǎn)鼠標(biāo)左鍵不放,然后我們可以
43、通過第二按鈕或者第三按鈕來給模型的表面抹平或者銳化,讓地形看起來更加真實(shí)美觀。第四步,選擇第四個按鈕筆刷工具,選擇 edit Textures-add Textures,在文件夾中選擇一個草面貼圖給地形覆蓋上一層貼圖,使用我們準(zhǔn)備好的水模型加上,通過這項(xiàng)功能我們可以初步呈現(xiàn)制作場景需要的山峰和湖泊等自然景觀如圖 5-11,但往我們都需要放大了來觀看,因以我們要把控好視距。放置樹木,使用方式大同小異,之后等我們把馬路建好再將樹木擺放. 圖 5-11 初步風(fēng)景圖5.1.4 校園場景搭建 (1)將提前準(zhǔn)備好的場景素材導(dǎo)入,我們的場景馬路比較多可以用馬路來劃分不同的區(qū)域段,20(2)在提前準(zhǔn)備好導(dǎo)入的
44、預(yù)設(shè)場景中,選擇不同的建筑群,鋪設(shè)進(jìn)入場景中,一樣采用的是對稱的擺放方法,為了實(shí)現(xiàn)正確的碰撞體積,我們用的建筑多為方體,建筑擺放完畢后,加入一些細(xì)節(jié)元素如:路燈、交通燈、圍欄等。(3)完善場景細(xì)節(jié),增加樹木等植被,交通燈等的擺放規(guī)律以及場景空地的補(bǔ)齊。5.1.5 場景碰撞體添加(1)為所有擺放在場景內(nèi)的所有建筑物以及樹木、交通燈以及地面等的模型添加碰撞體,增加了 Box Collider 組件,調(diào)整模型,為的是不會產(chǎn)生穿模,或者影響系統(tǒng)合理性。 圖 5-12 box 碰撞體 (2)為了測試碰撞體,創(chuàng)建了一個第一人稱視角的角色控制器,調(diào)整相機(jī)高度、相機(jī)視角后,增加剛體,進(jìn)行測試:控制第一人稱角色
45、控制器去碰撞所有的建筑物、樹木和擺設(shè),測試其碰撞體積是否正確。經(jīng)過測試,所有場景中的建筑物、樹木和交通燈等的陳列的碰撞體都添加完畢,與第一人稱視覺的角色控制器控制的碰撞體之間的碰撞沒有任何問題,5.1.5 天空盒子的添加(1)在 GameObject 選項(xiàng)菜單中新建 Light-Directional Light,作為基礎(chǔ)的環(huán)境光照。(2)導(dǎo)入提前準(zhǔn)備好的天空盒子(SkyBox),選中第一人稱角色控制器的相機(jī),在 Component 選項(xiàng)菜單中點(diǎn)擊 Rendering-Skybox 新建 Skybox 組件,將天空盒子的預(yù)設(shè)導(dǎo)入,天空盒子實(shí)際是使用了 Shader 材質(zhì)的特殊類型,就像一個巨大
46、的立方體包裹了整個場景然后在內(nèi)測加上貼圖來模擬天空的效果,增加了真實(shí)感看起來更加美觀。具體效果如圖 5-13 所示。圖 5-13 天空盒子效果215.25.2 UIUI 界面的實(shí)現(xiàn)界面的實(shí)現(xiàn)5.2.1 主界面的實(shí)現(xiàn) 主界面主要以圖 5-14 為背景圖。 圖 5-14 背景圖我們在設(shè)計的時候曾說過要以藍(lán)白為主色調(diào)所以接下來要使用 PS 工具來進(jìn)行圖片的修改。然后打開 unity第一步:建立一個 Canvas,用以 UI 的放置第二步:建立主菜單的 Panel,將用 Photoshop 制作好的背景圖拖入 Panel 的Image 組件的 Source Image 處22第三步:以 Panel 作
47、為父類,在 Panel 上加入各個 Button 按鈕,同樣將做好的按鈕圖片拖入 Button 的 Image,調(diào)整好大小和位置,再創(chuàng)建一個 TEXT 輸入操作方式的內(nèi)容,設(shè)置字體和大小,調(diào)整位置,這樣完成了一個最基本的菜單界面。5.2.2 景點(diǎn)介紹界面的實(shí)現(xiàn)這一功能作用是讓用戶操作角色模擬器漫游時可以通過點(diǎn)擊建筑前的互動板點(diǎn)擊OnClick 彈出窗口并顯示該建筑物的有關(guān)信息,如:建成時間、建筑面積、所屬院系專業(yè)、建筑作用等等。當(dāng)用戶要離開時可以點(diǎn)擊窗口右上角的 X 來返回主場景內(nèi)。具體制作如下第一步:在關(guān)卡場景中建立一個 Canvas,在 canvas 下建立一個 Panel 命名為menu
48、Panel,加入一個 TEXT,寫入相關(guān)信息,調(diào)節(jié)至合適的大小和位置到面板居中。第二步:加入三個 toggle,拖入相應(yīng)的按鈕圖片,分別作為setting、save、exit 選項(xiàng)按鈕。建立一個空物體,命名為“menuToggleG”,加入toggle group 組件,將 menuToggleG 拖入三個 toggle 選項(xiàng)按鈕的 group。第三步:照第二部的制作方法給其他建筑群做一套信息面板,入各自的功能Image 圖標(biāo)和功能按鈕。5.2.3 小游戲界面的實(shí)現(xiàn)我們在操場路邊擺放一個 NPC,然后創(chuàng)建一個 C#腳本,添加到對象中,通過OnClick 函數(shù)來判斷是否被點(diǎn)擊過,當(dāng)用戶點(diǎn)擊了 N
49、PC 就會彈出一個提示框如圖 5-15,在提示框我們創(chuàng)建兩個 Button 按鈕,在 Button 內(nèi)添加 Text,修改相關(guān)信息。23圖 5-15第二步,當(dāng)我們點(diǎn)擊同意按鈕之后,用戶就會通過 loadScene 語句,跳轉(zhuǎn)到新的場景中,相識的當(dāng)我們要做二級面板用于退出小游戲的時候我們也可以通過點(diǎn)擊按鈕調(diào)用語句來跳轉(zhuǎn)回原來的主場景中,二級面板的相關(guān)制作流程和上面的對話框類似,不過文本采用的方法是默認(rèn)隱藏窗口,通過點(diǎn)擊顯示窗口和文字,但是為了不出現(xiàn)相互重疊的情況,設(shè)置點(diǎn)擊響應(yīng)的時候彈出下一個窗口的同時要關(guān)閉上一個,具體做法是在兩個窗口的腳本里寫一個 SetActive 函數(shù),通過布爾變量的 tr
50、ue 和 false 來控制兩個響應(yīng)時間的顯示和不顯示。5.3 交互功能和觸發(fā)事件的實(shí)現(xiàn)5.3.1 開場校園宣傳視頻的觸發(fā)之前的 unity 播放視頻方式主要有兩種。第一種是在游戲?qū)ο笾胁シ牛砭褪菙z像機(jī)照射到平面,第二種是 UI 播放,類似于貼圖(別忘了 MovieTexture 屬于 texture的子類)?,F(xiàn)在新版 Unity 增加了新的播放視頻的方式,那就是直接在 project 界面新建.6 自帶的 VideoPlayer。(1)選擇選項(xiàng) Play On Awake:腳本載入時自動播放。(2)it For First Frame:決定是否在第一幀加載完成后才播放,只有在 Play
51、On Awake 被勾選是才有效??梢苑乐挂曨l最前幾幀被跳過。(3)在 VideoPlayer 物體上新建一個 AudioSource 聲音組件,這樣我們的視頻就會有聲音。(4)此時我們還需要使用觸發(fā)器,新建一個 CUBE 空對象,把他的 is trigger 觸發(fā)器選項(xiàng)勾選起來新建一個腳本文件叫 MoviesPlay,通過布爾變量來表示我們視頻播放的24開關(guān)狀態(tài),當(dāng)我們視頻播放完畢時為 false,當(dāng)觸發(fā)了 false 的條件時我們的視頻就會自動關(guān)閉消失。5.3.2 角色動作控制第一步,首先我們需要導(dǎo)入角色本體命名為 Player第二步,給 Player 添加角色控制器圖 5-16:依次打開
52、菜單欄中的 Component - Physiscs - Character Controller,該組件是角色移動的前提圖 5-16 角色控制器第三步,給 Player 新建一個腳本文件命名為 Move,使用 GetKey 接受鍵盤的方向鍵。然后在 tranform 方法,通過使用該方法我們可以實(shí)現(xiàn)物體的坐標(biāo)移動,結(jié)合鼠標(biāo)使用的 Rotate()函數(shù)將其綁在我們的主攝像機(jī)上我們可以實(shí)現(xiàn)用鼠標(biāo)旋轉(zhuǎn)鏡頭,達(dá)到轉(zhuǎn)向的效果,利用 Input 類中的方法 Getbutton 來實(shí)現(xiàn)按鍵輸入的捕捉,實(shí)現(xiàn)加速和跳躍功能,使用 Horizontal 和 Vertical 來響應(yīng)物體是在垂直還是水平方向移動。
53、第四步,創(chuàng)建新的腳本文件 CameraMove,然后給它加入代碼后,將腳本文件拖給主攝像機(jī),然后再將我們本體角色 Player 拖到 Camera 下方,最后在 Hierarchy 中將攝像機(jī)拉到 Player 內(nèi),調(diào)整攝像機(jī)視角到角色正前方即可。5.3.3 小游戲?qū)崿F(xiàn)沿用上面角色控制器的移動腳本,不過因?yàn)槲覀兊氖钦系K跑游戲且需要與 AI 競技,所以我們應(yīng)該給移動腳本添加一個加速功能,修改一下腳本,加入一個新的 GetKey 當(dāng)我們按下 shift 時候改變角色的速度變量達(dá)到加速的效果。25賽道設(shè)置障礙物,首先新建一個空物體,命名為 GameManager 圖 5-17,為其新建C#Scrip
54、t GameManager.cs,然后打開該腳本。,點(diǎn)擊 GameManager 這個物體,設(shè)置其GameManager 組件的值。圖 5-17GameManager 組件這里的 BornPos 指的是障礙物出生點(diǎn),以下圖所示為每一條道路定義一個或多個出生點(diǎn),每條路的出生點(diǎn)用一個 BornPos 的空物體進(jìn)行管理。為人物添加 Collider 與RightBody,為所有障礙物和路面添加 Collider(注意不要勾上 Is Trigger)然后運(yùn)行游戲就會有生成好的障礙物。敵人的 AI 的實(shí)現(xiàn),運(yùn)用自動尋路技術(shù),首先需要將我們的賽道和障礙物等在InspectorStaticNavigatio
55、n Static。如下圖 5-17-1圖 5-17-126選中我們的角色和需要尋路的對手在導(dǎo)航欄里選中 ComponentNavigationNav Mesh Agent 組件。如下圖 5-17-2. 圖 5-17-2接下來在導(dǎo)航欄里打開 window-Navigation 窗口,在 Navigation 窗口里面選擇 Bake然后再選擇右下角的 Bake。如下圖 5-17-3。 圖 5-17-3.27最后將代碼掛在敵人的身上就可以實(shí)現(xiàn) Ai 效果。在終點(diǎn)處設(shè)置一個觸發(fā)器 trigger,通過觸發(fā)器檢測來判斷先到的是玩家還是對手,運(yùn)用布爾函數(shù)設(shè)置勝利為 true,失敗為 false,如果第一個
56、通過的是對手,則觸發(fā)器檢測到會返回 false 函數(shù),收到調(diào)用之后游戲會強(qiáng)制結(jié)束,然后彈出是否重新游戲的ui 窗口,通過 OnClick()方法點(diǎn)擊確定事項(xiàng)就會跳轉(zhuǎn)回游戲開始時的場景畫面。而如果我們的玩家第一個通過終點(diǎn),經(jīng)過觸發(fā)器的返回則是 true,玩家獲得游戲勝利,則可跳轉(zhuǎn)回主場景,返回回來的 false 函數(shù)同時也在隱形墻處被調(diào)用,墻體被銷毀。5.3.4 其他功能的實(shí)現(xiàn)小地圖制作:首先:打開 Unity,在 Hierarchy 面板中點(diǎn)擊鼠標(biāo)右鍵創(chuàng)建一個 Plane 和一個 Cube,調(diào)整好它們的位置,設(shè)置好 Cube 的數(shù)值。新建一個攝像機(jī)命名 smallmap,然后,選擇ui 內(nèi)的
57、image,在 Inspector 中將 image 的 Rect Transform 移動到在右上角。第二步,將場景的視角調(diào)整為頂視圖,把攝像機(jī) smallmap 的視角由 X 軸旋轉(zhuǎn) 90 度然后再調(diào)整 Y 軸的位置。 第三步,在 Hierarchy 面板中右鍵從 UI 中新建一個 RawImage,調(diào)整位置到右上角,將上述新建的 MiniMapTest 拖入 RawImage 的 Texture 屬性即可。第四步,在 smallmap 掛載一個 FollowTarget 腳本,將我們的 Player 角色拖入FollowTarget 的 Target 屬性就行,然后我們就能看到右上角的小地圖會根據(jù)人物的移動而移動達(dá)到跟隨的效果。第五步,將 Map 拖入 Cube 中,以實(shí)現(xiàn)攝像機(jī)跟隨效果。背景音和其他音效制作:(1) 把需要音效物體預(yù)制體上創(chuàng)建一個 Audio Source 組件,將每個關(guān)卡相應(yīng)的背景音樂片段拖入
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 城鄉(xiāng)污水處理和管網(wǎng)建設(shè)工程項(xiàng)目可行性研究報告寫作模板-申批備案
- 2025年江西陶瓷工藝美術(shù)職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測試近5年??及鎱⒖碱}庫含答案解析
- 2025年昆明鐵道職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測試近5年??及鎱⒖碱}庫含答案解析
- 2025年揭陽職業(yè)技術(shù)學(xué)院高職單招語文2018-2024歷年參考題庫頻考點(diǎn)含答案解析
- 2025年氫能源行業(yè)發(fā)展動態(tài)與前景分析
- 展覽展示服務(wù)合同模板
- 幼兒園支教工作活動方案總結(jié)四篇
- 計件工資勞動合同范文
- 酒店轉(zhuǎn)讓簡單合同范本
- 場攤位的租賃合同年
- 2025年度高端商務(wù)車輛聘用司機(jī)勞動合同模板(專業(yè)版)4篇
- GB/T 45107-2024表土剝離及其再利用技術(shù)要求
- 2025長江航道工程局招聘101人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025年黑龍江哈爾濱市面向社會招聘社區(qū)工作者1598人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 《妊娠期惡心嘔吐及妊娠劇吐管理指南(2024年)》解讀
- 《黑神話:悟空》跨文化傳播策略與路徑研究
- 《古希臘文明》課件
- 居家養(yǎng)老上門服務(wù)投標(biāo)文件
- 長沙市公安局交通警察支隊(duì)招聘普通雇員筆試真題2023
- 2025年高考語文作文滿分范文6篇
- 零售業(yè)連鎖加盟合同
評論
0/150
提交評論