《Unity3D項(xiàng)目設(shè)計(jì)》課件-06交互界面、角色動(dòng)畫(huà)及戰(zhàn)斗交互-異星獵手_第1頁(yè)
《Unity3D項(xiàng)目設(shè)計(jì)》課件-06交互界面、角色動(dòng)畫(huà)及戰(zhàn)斗交互-異星獵手_第2頁(yè)
《Unity3D項(xiàng)目設(shè)計(jì)》課件-06交互界面、角色動(dòng)畫(huà)及戰(zhàn)斗交互-異星獵手_第3頁(yè)
《Unity3D項(xiàng)目設(shè)計(jì)》課件-06交互界面、角色動(dòng)畫(huà)及戰(zhàn)斗交互-異星獵手_第4頁(yè)
《Unity3D項(xiàng)目設(shè)計(jì)》課件-06交互界面、角色動(dòng)畫(huà)及戰(zhàn)斗交互-異星獵手_第5頁(yè)
已閱讀5頁(yè),還剩39頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

虛擬交互設(shè)計(jì)交互界面、角色動(dòng)畫(huà)及戰(zhàn)斗交互——異星獵手提綱項(xiàng)目概覽1游戲換裝交互界面的設(shè)計(jì)和功能實(shí)現(xiàn)2角色動(dòng)作及角色控制的實(shí)現(xiàn)3敵人角色的加入及其交互功能的實(shí)現(xiàn)5游戲管理功能的設(shè)計(jì)6游戲角色戰(zhàn)斗功能的實(shí)現(xiàn)401項(xiàng)目概覽PartOne項(xiàng)目概覽通過(guò)實(shí)現(xiàn)本項(xiàng)目,讀者將學(xué)習(xí)交互界面的功能實(shí)現(xiàn)、角色動(dòng)畫(huà)的應(yīng)用、自動(dòng)尋路功能的使用以及不同角色之間互動(dòng)功能的實(shí)現(xiàn)。02游戲換裝交互界面的設(shè)計(jì)和功能實(shí)現(xiàn)PartTwo本節(jié)學(xué)習(xí)目標(biāo)進(jìn)一步了解UI對(duì)象的作用和結(jié)構(gòu)掌握UI與游戲?qū)ο蠼换スδ艿膶?shí)現(xiàn)方法本項(xiàng)目中的涉及的新UI元素——按鈕采用“Button(按鈕)”對(duì)象作為換裝操作的交互手段“Button”對(duì)象的構(gòu)成Image組件管理按鈕的圖形外觀Button組件管理按鈕的功能Text子對(duì)象管理按鈕上的文字“Button”組件詳解更詳細(xì)的信息:/Packages/com.unity.ugui@1.0/manual/script-Button.html換裝實(shí)現(xiàn)思路“Player”對(duì)象的子對(duì)象構(gòu)成身體“bb_female_body”頭發(fā)“bb_female_hair”參考點(diǎn)“reference”其他子對(duì)象均為服裝模型對(duì)象服裝模型對(duì)象可以分為三類(lèi):上裝、下裝和鞋換裝思路:每類(lèi)服裝模型都只有一個(gè)對(duì)象處于“激活”狀態(tài)(每次只穿一套)預(yù)先挑選幾套服裝作為備選套裝設(shè)計(jì)合適的“套裝”類(lèi)腳本和“換裝”類(lèi)腳本來(lái)實(shí)現(xiàn)游戲主角的換裝功能“ClothesSuit”類(lèi)的設(shè)計(jì)用于管理一套服裝的激活狀態(tài)激活則顯示,不激活則消失“ChangeClothes”類(lèi)的設(shè)計(jì)用一個(gè)數(shù)組存儲(chǔ)多個(gè)“ClothesSuit”類(lèi)的對(duì)象,從而可以控制多套服裝的顯示和隱藏設(shè)計(jì)“DressUp()”和“TakeOff()”兩個(gè)私有函數(shù)用于控制套裝的顯示和隱藏以循環(huán)遍歷服裝數(shù)組的方式切換服裝提供“LastSuit()”和“NextSuit()”兩個(gè)公開(kāi)函數(shù)用于換裝按鈕與換裝功能的關(guān)聯(lián)創(chuàng)建一個(gè)空對(duì)象作為換裝對(duì)象加載并設(shè)置多個(gè)“ClothesSuit”組件(多套備選服裝)加載并設(shè)置一個(gè)“ChangeClothes”組件用于控制換裝將換裝對(duì)象“ChangeClothes”組件的“LastSuit()”和“NextSuit()”兩個(gè)公開(kāi)函數(shù)與對(duì)應(yīng)按鈕的回調(diào)函數(shù)列表關(guān)聯(lián)練習(xí)自己動(dòng)手實(shí)現(xiàn)基于界面按鈕的換裝功能理解和體驗(yàn)按鈕對(duì)象的作用,特別是“OnClick”列表的作用03角色動(dòng)作及角色控制的實(shí)現(xiàn)PartThree本節(jié)學(xué)習(xí)目標(biāo)了解“Animator”組件的作用了解動(dòng)畫(huà)控制狀態(tài)轉(zhuǎn)換圖作用掌握游戲角色的動(dòng)作控制方法“Animator”組件用于控制游戲?qū)ο蟆皠?dòng)作”的組件“動(dòng)作”即動(dòng)畫(huà),對(duì)于程序可控的游戲角色對(duì)象一段動(dòng)畫(huà)對(duì)應(yīng)一個(gè)動(dòng)作“Animator”組件借助“Controller(控制器)”和腳本實(shí)現(xiàn)對(duì)游戲?qū)ο蟮膭?dòng)作進(jìn)行控制“Animator”組件的“Controller”屬性“Controller”屬性指向Unity中的一種資源——“.controller”文件“.controller”文件顧名思義是“(動(dòng)畫(huà))控制器”“.controller”文件可在“Animator”窗口中編輯,設(shè)置“狀態(tài)轉(zhuǎn)換圖”、“轉(zhuǎn)換條件屬性”和“轉(zhuǎn)換圖層”動(dòng)畫(huà)控制狀態(tài)轉(zhuǎn)換圖一個(gè)狀態(tài)對(duì)應(yīng)一個(gè)動(dòng)作一條有向連線對(duì)應(yīng)一個(gè)轉(zhuǎn)換(從起點(diǎn)狀態(tài)轉(zhuǎn)換到目標(biāo)狀態(tài))參數(shù)用于控制轉(zhuǎn)換條件(是否可以轉(zhuǎn)換)腳本可以控制角色的動(dòng)作(狀態(tài))變化在腳本中,通過(guò)“GetComponent”函數(shù)獲取“Animator”組件的控制權(quán)通過(guò)“Animator”組件對(duì)象的“SetXXX”系列函數(shù),比如“SetBool”、“SetInt”等,修改狀態(tài)轉(zhuǎn)換圖中的參數(shù)值,從而實(shí)現(xiàn)最動(dòng)作(狀態(tài))變化的控制動(dòng)畫(huà)控制器和對(duì)應(yīng)的動(dòng)作控制腳本可以復(fù)用為角色A設(shè)計(jì)的動(dòng)畫(huà)控制器(.controller)文件及其對(duì)應(yīng)的控制腳本,可以通過(guò)簡(jiǎn)單設(shè)置用到角色B上前提條件:角色A和角色B都是人形角色,其模型文件的動(dòng)畫(huà)類(lèi)型屬性均為“Humanoid”復(fù)用方法:將角色A所使用的“.controller”文件賦值給角色B“Animator”組件的“controller”屬性將對(duì)應(yīng)的腳本加載到角色B上練習(xí)完成課本角色動(dòng)作及角色控制實(shí)現(xiàn)的實(shí)操練習(xí)理解“Animator”組件的作用掌握以復(fù)用的方式快速實(shí)現(xiàn)角色控制的方法04PartFour游戲角色戰(zhàn)斗功能的實(shí)現(xiàn)本節(jié)學(xué)習(xí)目標(biāo)理解Unity動(dòng)畫(huà)狀態(tài)轉(zhuǎn)換圖中“層”的作用及用法理解Unity角色動(dòng)畫(huà)中“IK”的作用及用法掌握利用動(dòng)畫(huà)狀態(tài)轉(zhuǎn)換圖中的多個(gè)“層”實(shí)現(xiàn)不同角色動(dòng)畫(huà)(動(dòng)作)的融合戰(zhàn)斗功能實(shí)現(xiàn)過(guò)程中對(duì)動(dòng)畫(huà)(動(dòng)作)融合的需求根本需求:需要一個(gè)可以在移動(dòng)過(guò)程中舉槍射擊的角色動(dòng)畫(huà)現(xiàn)實(shí)困難:沒(méi)有現(xiàn)成的滿足上述要求的動(dòng)畫(huà),原因是本項(xiàng)目中的角色動(dòng)畫(huà)均復(fù)用自不同來(lái)源的資源包,沒(méi)有針對(duì)本項(xiàng)目設(shè)計(jì)動(dòng)畫(huà)現(xiàn)有條件:有普通的行走動(dòng)畫(huà),也有原地舉槍射擊的動(dòng)畫(huà)解決方案:可以利用動(dòng)畫(huà)狀態(tài)轉(zhuǎn)換圖中多個(gè)“層”的疊加,將已有的兩個(gè)動(dòng)畫(huà)融合,從而滿足需求Unity動(dòng)畫(huà)狀態(tài)轉(zhuǎn)換圖中“層”的作用及創(chuàng)建在單個(gè)的“層”中,只能有一個(gè)動(dòng)作能夠被“激活”多個(gè)“層”同時(shí)工作,則每個(gè)“層”中被“激活”的動(dòng)作則可以融合在一起融合的程度和方式由“層”的相關(guān)參數(shù)所控制單擊“Animator”窗口“Layers”界面中的加號(hào)即可在當(dāng)前的狀態(tài)轉(zhuǎn)換圖中添加一個(gè)新的“層”如何對(duì)動(dòng)畫(huà)進(jìn)行“部分篩選”要將“普通的行走動(dòng)畫(huà)”和“原地舉槍射擊的動(dòng)畫(huà)”進(jìn)行融合,以得到“行走的同時(shí)舉槍射擊”的動(dòng)畫(huà),需要對(duì)兩個(gè)動(dòng)畫(huà)進(jìn)行“部分篩選”要將“普通的行走動(dòng)畫(huà)”腿部部分篩選出來(lái)使用要將“原地舉槍射擊的動(dòng)畫(huà)”的上半身部分篩選出來(lái)如何篩選?創(chuàng)建并設(shè)置“AvatarMask”文件在動(dòng)畫(huà)狀態(tài)轉(zhuǎn)換圖的“層”屬性中指定“AvatarMask”文件如何融合——?jiǎng)赢?huà)狀態(tài)轉(zhuǎn)換圖中“層”屬性的設(shè)置常用屬性說(shuō)明:“Weight”本層動(dòng)畫(huà)的權(quán)重,范圍在0到1之間,數(shù)值越大對(duì)最終動(dòng)作的影響越大“Mask”本層使用哪一個(gè)“AvatarMask”文件“Blending”融合方式,“Override”為覆蓋方式,“Aditive”為疊加模式練習(xí)完成課本中實(shí)現(xiàn)游戲角色戰(zhàn)斗功能的實(shí)操練習(xí)重點(diǎn)體會(huì)和掌握利用動(dòng)畫(huà)狀態(tài)轉(zhuǎn)換圖中的“層”融合多個(gè)動(dòng)作的方法05敵人角色的加入及其交互功能的實(shí)現(xiàn)PartFive本節(jié)學(xué)習(xí)目標(biāo)了解自動(dòng)尋路組件的作用掌握游戲?qū)ο笾g戰(zhàn)斗交互功能的實(shí)現(xiàn)方法“自動(dòng)尋路+觸發(fā)器”實(shí)現(xiàn)敵人的自爆“射線+碰撞器”實(shí)現(xiàn)擊中判定自動(dòng)尋路的概念及實(shí)現(xiàn)思路本課程中所說(shuō)的“自動(dòng)尋路”是指游戲?qū)ο笞詣?dòng)接近目標(biāo)位置,并且可以自動(dòng)避開(kāi)障礙物(包括靜止的和運(yùn)動(dòng)的)的功能實(shí)現(xiàn)思路渲染一個(gè)“尋路網(wǎng)格”,以確定自動(dòng)尋路的游戲?qū)ο罂梢曰顒?dòng)的范圍在“尋路網(wǎng)格”內(nèi)的可運(yùn)動(dòng)障礙物對(duì)象上加載“NavMeshObstacle”組件在自動(dòng)尋路對(duì)象上加載“NavMeshAgent”組件和用于設(shè)置跟蹤目標(biāo)位置的腳本尋路網(wǎng)格的烘焙設(shè)置場(chǎng)景中充當(dāng)?shù)孛娴膶?duì)象以及地面上靜止不動(dòng)的對(duì)象的“Static”屬性為“NavigationStatic”在Unity的“Navigation”窗口中設(shè)置和烘焙尋路網(wǎng)格尋路組件借助尋路組件“NavMeshAgent”、尋路網(wǎng)格以及腳本,可以實(shí)現(xiàn)游戲角色對(duì)特定目標(biāo)的跟蹤“NavMeshAgent”要加載在需要實(shí)現(xiàn)跟蹤功能的對(duì)象上——比如本項(xiàng)目中的敵方角色“自爆機(jī)器人”會(huì)移動(dòng)的障礙物對(duì)象則需要加載“NavMeshObstacle”組件自爆機(jī)器人如何跟蹤目標(biāo)用一個(gè)范圍大的觸發(fā)器實(shí)現(xiàn)跟蹤邏輯,在控制腳本中進(jìn)行以下工作偵測(cè)觸發(fā)器的“進(jìn)入”事件,當(dāng)該事件觸發(fā)時(shí),判斷是否主角對(duì)象觸發(fā)了該事件,如果是則將“NavMeshAgent”組件的跟蹤目標(biāo)設(shè)置為主角對(duì)象的位置偵測(cè)觸發(fā)器的“離開(kāi)”事件,當(dāng)該事件觸發(fā)時(shí),判斷是否主角對(duì)象觸發(fā)了該事件,如果是則讓“NavMeshAgent”組件不再跟蹤主角對(duì)象自爆機(jī)器人如何“自爆”用一個(gè)小范圍的觸發(fā)器實(shí)現(xiàn)“自爆”邏輯,在控制腳本中進(jìn)行以下工作偵測(cè)觸發(fā)器的“進(jìn)入”事件,當(dāng)該事件觸發(fā)時(shí),判斷是否主角對(duì)象觸發(fā)了該事件,如果是則“自爆”自爆機(jī)器人如何“輸出傷害”設(shè)計(jì)用于管理主角“生命值”的腳本并作為組件加載到主角對(duì)象上在上述腳本中,設(shè)計(jì)根據(jù)傷害值扣減生命值的函數(shù)在上述腳本中,設(shè)計(jì)判定主角是否“gameover”的函數(shù)在自爆機(jī)器人“自爆”時(shí),調(diào)用主角對(duì)象的“扣減生命值”函數(shù)當(dāng)主角受到傷害或者“gameover”時(shí),更改其動(dòng)畫(huà)控制狀態(tài)轉(zhuǎn)換圖中的相關(guān)參數(shù)值,使之做出對(duì)應(yīng)的動(dòng)作練習(xí)完成課本中實(shí)現(xiàn)“敵人角色的加入及其交互功能”的實(shí)操練習(xí)重點(diǎn)掌握自動(dòng)尋路功能06游戲管理功能的設(shè)計(jì)PartFive本節(jié)學(xué)習(xí)目標(biāo)掌握控制敵方游戲?qū)ο笞詣?dòng)生成的思路和方法掌握游戲勝負(fù)規(guī)則的判定思路和方法敵方游戲?qū)ο笞詣?dòng)生成的思路設(shè)計(jì)“生成點(diǎn)”對(duì)象及“生成點(diǎn)”腳本,用于在“生成點(diǎn)”對(duì)象所在位置產(chǎn)生敵人角色設(shè)計(jì)“游戲管理器”對(duì)象及“游戲管理器”腳本,用數(shù)組存儲(chǔ)所有“生成點(diǎn)”在“游戲管理器”腳本中控制生成點(diǎn)的工作狀態(tài)游戲勝負(fù)規(guī)則的判定思路在“游戲管理器”腳本中偵聽(tīng)敵人角色被摧毀的事件,當(dāng)該事件發(fā)生時(shí)更新“敵人被摧毀的數(shù)量”加1判斷“敵人被摧毀的數(shù)量”是否已經(jīng)達(dá)到“最大敵人數(shù)量”,如果是,則說(shuō)明所有敵人都已經(jīng)被摧毀,

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論