Unity實(shí)戰(zhàn)開發(fā)教程 課件全套 王建東 項(xiàng)目1-6 開發(fā)前準(zhǔn)備-憫農(nóng)_第1頁
Unity實(shí)戰(zhàn)開發(fā)教程 課件全套 王建東 項(xiàng)目1-6 開發(fā)前準(zhǔn)備-憫農(nóng)_第2頁
Unity實(shí)戰(zhàn)開發(fā)教程 課件全套 王建東 項(xiàng)目1-6 開發(fā)前準(zhǔn)備-憫農(nóng)_第3頁
Unity實(shí)戰(zhàn)開發(fā)教程 課件全套 王建東 項(xiàng)目1-6 開發(fā)前準(zhǔn)備-憫農(nóng)_第4頁
Unity實(shí)戰(zhàn)開發(fā)教程 課件全套 王建東 項(xiàng)目1-6 開發(fā)前準(zhǔn)備-憫農(nóng)_第5頁
已閱讀5頁,還剩198頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

Unity實(shí)戰(zhàn)開發(fā)教程

項(xiàng)目一

開發(fā)前準(zhǔn)備目錄01課程介紹與目標(biāo)02任務(wù)1.1下載和安裝Unity03任務(wù)1.2簡(jiǎn)易俄羅斯方塊04本章小結(jié)課程介紹與目標(biāo)PARTONE課程目標(biāo)掌握Unity開發(fā)基本內(nèi)容了解三維引擎開發(fā)熟練使用Unity界面熟悉Unity開發(fā)工具能運(yùn)用Unity界面進(jìn)行開發(fā)掌握Unity開發(fā)界面課程特點(diǎn)面向大學(xué)生授課為大學(xué)生量身定制的教程強(qiáng)調(diào)實(shí)用性和操作注重動(dòng)手能力和實(shí)踐應(yīng)用項(xiàng)目化教學(xué)方式通過項(xiàng)目實(shí)例加深理解Unity簡(jiǎn)介支持多平臺(tái)游戲開發(fā)注重實(shí)用,采用項(xiàng)目化教學(xué)用于創(chuàng)建3D游戲、虛擬現(xiàn)實(shí)Unity三維引擎軟件跨平臺(tái)開發(fā)強(qiáng)調(diào)實(shí)用性和可操作性歷史與發(fā)展由UnityTechnologies公司創(chuàng)立2004年開發(fā)成為游戲開發(fā)領(lǐng)域主流工具廣泛應(yīng)用于游戲開發(fā)0201不斷更新版本,提升功能持續(xù)更新與發(fā)展03應(yīng)用領(lǐng)域01游戲開發(fā)主要應(yīng)用領(lǐng)域,創(chuàng)建豐富游戲內(nèi)容02虛擬現(xiàn)實(shí)用于VR應(yīng)用開發(fā),提供沉浸式體驗(yàn)03虛擬仿真與航空航天應(yīng)用于虛擬仿真及航空航天領(lǐng)域工具欄介紹移動(dòng)工具用于移動(dòng)游戲?qū)ο笮D(zhuǎn)工具用于旋轉(zhuǎn)游戲?qū)ο罂s放工具用于縮放游戲?qū)ο笠晥D窗口管理當(dāng)前工程的所有資源文件Project視圖顯示場(chǎng)景中的所有游戲?qū)ο驢ierarchy視圖查看和編輯選中對(duì)象的屬性Inspector視圖示例操作在Scene視圖中操作01移動(dòng)游戲?qū)ο笤赟cene視圖中操作02旋轉(zhuǎn)游戲?qū)ο笳故疽苿?dòng)和旋轉(zhuǎn)后的游戲?qū)ο?3示例效果3D坐標(biāo)系無具體描述內(nèi)容坐標(biāo)系方向區(qū)分左手與右手坐標(biāo)系左手與右手系X軸、Y軸、Z軸3D坐標(biāo)軸Unity坐標(biāo)系采用左手坐標(biāo)系Unity坐標(biāo)類型0102Y軸向上,X軸向右,Z軸向里坐標(biāo)軸方向03無具體描述內(nèi)容Unity特色任務(wù)1.1:安裝UnityPARTTWO下載UnityHub訪問Unity中國區(qū)官網(wǎng)下載UnityHub下載后進(jìn)行安裝安裝UnityHub注冊(cè)Unity賬號(hào)注冊(cè)Unity賬號(hào)在Unity中國區(qū)官網(wǎng)注冊(cè)安裝UnityEditor安裝UnityEditor使用UnityHub安裝2020.3.29f1c1版本版本選擇推薦安裝2020.3.29f1c1版本新建項(xiàng)目01打開UnityHub點(diǎn)擊新建02設(shè)置項(xiàng)目名稱和保存位置03使用UnityHub安裝指定版本新建項(xiàng)目步驟設(shè)置項(xiàng)目名稱路徑安裝指定版本項(xiàng)目結(jié)構(gòu)新建項(xiàng)目默認(rèn)包含Scene默認(rèn)包含SampleScene包含MainCamera和DirectionLight主攝像機(jī)和平行光任務(wù)1.2:簡(jiǎn)易俄羅斯方塊PARTTHREE項(xiàng)目目標(biāo)展示運(yùn)行效果展示最終游戲運(yùn)行效果創(chuàng)建俄羅斯方塊包含三個(gè)方塊模型添加材質(zhì)顏色為方塊添加不同材質(zhì)和顏色步驟概述0201使用UnityHub新建項(xiàng)目新建Unity項(xiàng)目創(chuàng)建地面和方塊03為方塊添加并設(shè)置材質(zhì)顏色設(shè)置材質(zhì)顏色創(chuàng)建平面地面和三個(gè)立方體方塊實(shí)例演示展示包含地面和方塊的場(chǎng)景展示游戲場(chǎng)景展示游戲運(yùn)行時(shí)的方塊下落效果運(yùn)行游戲效果顏色展示展示三個(gè)方塊的不同顏色小結(jié)與習(xí)題PARTFOUR學(xué)習(xí)小結(jié)安裝Unity2020.3.29f1c1版本安裝UnityHub與Editor包含SampleScene場(chǎng)景等創(chuàng)建第一個(gè)Unity項(xiàng)目創(chuàng)建三個(gè)方塊模型并添加顏色項(xiàng)目實(shí)例:簡(jiǎn)易俄羅斯方塊課后習(xí)題需回答Unity編輯器中相關(guān)快捷鍵移動(dòng)游戲?qū)ο罂旖萱I需回答Project(項(xiàng)目視圖)管理資源文件視圖0201創(chuàng)建三個(gè)方塊模型并為其添加不同顏色創(chuàng)建俄羅斯方塊03謝謝Unity實(shí)戰(zhàn)開發(fā)教程

項(xiàng)目二

界面環(huán)境目錄01項(xiàng)目概述與學(xué)習(xí)目標(biāo)02任務(wù)2.1預(yù)制體搭建磚墻03任務(wù)2.2腳本生命周期04任務(wù)2.3移動(dòng)和旋轉(zhuǎn)05任務(wù)2.4鍵盤鼠標(biāo)控制06項(xiàng)目小結(jié)項(xiàng)目概述與學(xué)習(xí)目標(biāo)PARTONE學(xué)習(xí)目標(biāo)了解預(yù)制體作用及管理熟悉預(yù)制體掌握常用生命周期函數(shù)理解腳本生命周期掌握常用函數(shù)Transform及Input類方法任務(wù)2.1預(yù)制體搭建磚墻PARTTWO任務(wù)2.1預(yù)制體搭建磚墻利用預(yù)制體搭建墻體搭建磚墻目標(biāo)創(chuàng)建項(xiàng)目-草地-預(yù)制體-墻體-優(yōu)化搭建步驟預(yù)制體作用和管理相關(guān)知識(shí)預(yù)制體的作用和特點(diǎn)批量管理游戲?qū)ο箢A(yù)制體作用修改預(yù)制體參數(shù)影響實(shí)例影響所有實(shí)例0201高效管理復(fù)雜場(chǎng)景對(duì)象預(yù)制體特點(diǎn)03腳本生命周期PARTTHREE腳本生命周期任務(wù)添加游戲?qū)ο笈cC#腳本組件驗(yàn)證生命周期函數(shù)執(zhí)行順序編寫并測(cè)試生命周期函數(shù)理解生命周期函數(shù)創(chuàng)建新項(xiàng)目與對(duì)象運(yùn)行場(chǎng)景查看結(jié)果生命周期函數(shù)詳解游戲開始執(zhí)行,只運(yùn)行一次Awake函數(shù)FixedUpdate固定間隔,LateUpdate在Update后FixedUpdate與LateUpdateStart首幀執(zhí)行,Update每幀執(zhí)行Start與Update函數(shù)010203移動(dòng)旋轉(zhuǎn)操作PARTFOUR移動(dòng)和旋轉(zhuǎn)任務(wù)Transform組件控制控制游戲?qū)ο笪恢眯D(zhuǎn)實(shí)現(xiàn)立方體移動(dòng)旋轉(zhuǎn)編寫腳本實(shí)現(xiàn)移動(dòng)旋轉(zhuǎn)功能觀察移動(dòng)旋轉(zhuǎn)效果運(yùn)行場(chǎng)景觀察效果Transform組件常用函數(shù)使游戲?qū)ο罂聪蚰繕?biāo)LookAt看向函數(shù)旋轉(zhuǎn)游戲?qū)ο驲otate旋轉(zhuǎn)函數(shù)移動(dòng)游戲?qū)ο笪恢肨ranslate移動(dòng)函數(shù)鍵盤鼠標(biāo)控制PARTFIVE鍵盤和鼠標(biāo)控制任務(wù)創(chuàng)建項(xiàng)目編寫腳本實(shí)現(xiàn)鍵盤鼠標(biāo)控制運(yùn)行場(chǎng)景驗(yàn)證功能測(cè)試控制效果Input類與虛擬軸相關(guān)知識(shí)Input類常用方法01檢查鍵是否被按下/僅一次GetKey/GetKeyDown02檢查鼠標(biāo)按鈕是否被按下/僅一次GetMouseButton/GetMouseButtonDown03獲取水平、垂直虛擬軸輸入GetAxis項(xiàng)目小結(jié)PARTSIX項(xiàng)目知識(shí)點(diǎn)總結(jié)高效管理重復(fù)對(duì)象預(yù)制體管理理解腳本執(zhí)行順序腳本生命周期掌握移動(dòng)旋轉(zhuǎn)函數(shù)Transform組件謝謝金山辦公軟件有限公司Unity實(shí)戰(zhàn)開發(fā)教程

項(xiàng)目三C#語法目錄01項(xiàng)目概述與學(xué)習(xí)目標(biāo)02任務(wù)3.1C#流程控制03任務(wù)3.2UI打字機(jī)04任務(wù)3.3面向?qū)ο?5項(xiàng)目小結(jié)06課后習(xí)題項(xiàng)目概述與學(xué)習(xí)目標(biāo)PARTONE項(xiàng)目三:C#語法簡(jiǎn)介類、方法、變量等概念C#基礎(chǔ)語法值類型與引用類型數(shù)據(jù)類型與變量運(yùn)算符與表達(dá)式算術(shù)、關(guān)系、邏輯運(yùn)算符學(xué)習(xí)目標(biāo):掌握基本語法與思維通過流程控制、面向?qū)ο髮W(xué)習(xí)培養(yǎng)編程思維包括數(shù)據(jù)類型、運(yùn)算符等掌握C#基本語法任務(wù)3.1C#流程控制PARTTWOC#基本語法介紹類、方法、變量等概念程序結(jié)構(gòu)using語句的用途命名空間0201單行、多行、文檔注釋注釋類型03數(shù)據(jù)類型與變量聲明01數(shù)據(jù)類型值類型與引用類型02變量聲明語法:數(shù)據(jù)類型變量名=初始值;03訪問修飾符public,private等運(yùn)算符與表達(dá)式詳解邏輯運(yùn)算符&&,||,!算術(shù)運(yùn)算符+,-,*,/,%關(guān)系運(yùn)算符==,!=,>,<,>=,<=屬性可見性修飾符公開屬性,可訪問public修飾符私有屬性,不可直接訪問private修飾符C#基礎(chǔ)深入(可選)PARTTHREE注釋類型與使用注釋類型單行、多行、文檔注釋注釋作用提高代碼可讀性,便于維護(hù)使用場(chǎng)景開發(fā)中用于解釋代碼功能或臨時(shí)屏蔽代碼控制臺(tái)輸入輸出操作使用Console.ReadLine()輸入操作使用Console.WriteLine()輸出操作控制臺(tái)應(yīng)用程序中與用戶交互應(yīng)用場(chǎng)景流程控制結(jié)構(gòu)PARTFOUR順序結(jié)構(gòu)基礎(chǔ)01程序從上到下執(zhí)行順序結(jié)構(gòu)概念02從左到右依次執(zhí)行執(zhí)行順序03展示順序結(jié)構(gòu)用法示例代碼選擇結(jié)構(gòu)語句根據(jù)條件選擇執(zhí)行if語句0102條件為真執(zhí)行語句塊1,否則執(zhí)行語句塊2if-else語句03根據(jù)表達(dá)式值選擇執(zhí)行對(duì)應(yīng)語句塊switch語句循環(huán)結(jié)構(gòu)用法條件為真時(shí)循環(huán)執(zhí)行while循環(huán)通過初始化、條件和迭代表達(dá)式控制循環(huán)for循環(huán)至少執(zhí)行一次,條件為真繼續(xù)循環(huán)do-while循環(huán)010203跳轉(zhuǎn)語句與異常處理break、continue、return跳轉(zhuǎn)語句處理運(yùn)行時(shí)出現(xiàn)的錯(cuò)誤異常處理流程控制實(shí)戰(zhàn)演練PARTFIVEif語句控制移動(dòng)條件判斷移動(dòng)方向01if語句控制示例代碼展示移動(dòng)效果02立方體移動(dòng)實(shí)戰(zhàn)演練流程控制邏輯03流程控制應(yīng)用for循環(huán)打字機(jī)效果逐字顯示文本內(nèi)容通過循環(huán)控制打字速度循環(huán)輸出字符模擬for循環(huán)實(shí)現(xiàn)打字機(jī)效果循環(huán)控制switch語句場(chǎng)景加載01根據(jù)條件加載不同場(chǎng)景02示例展示多場(chǎng)景切換03實(shí)戰(zhàn)中switch語句的使用switch語句選擇場(chǎng)景加載選擇結(jié)構(gòu)應(yīng)用面向?qū)ο缶幊袒A(chǔ)PARTSIX類與對(duì)象定義使用01類的定義class類名{字段;方法;}02對(duì)象的創(chuàng)建使用new關(guān)鍵字03方法的使用通過方法名傳遞參數(shù)執(zhí)行構(gòu)造函數(shù)與重載構(gòu)造函數(shù)的定義用于初始化對(duì)象構(gòu)造函數(shù)的重載多個(gè)構(gòu)造函數(shù),參數(shù)不同繼承與多態(tài)性實(shí)現(xiàn)多態(tài)性的實(shí)現(xiàn)子類繼承父類屬性和方法類的繼承關(guān)系通過基類引用來調(diào)用重寫方法封裝與抽象概念隱藏對(duì)象內(nèi)部細(xì)節(jié)封裝的概念通過抽象類和接口定義規(guī)范抽象的概念面向?qū)ο笊钊耄蛇x)PARTSEVEN接口與抽象類區(qū)別接口全抽象,抽象類可含實(shí)現(xiàn)區(qū)別對(duì)比包含抽象方法,單繼承抽象類特點(diǎn)定義規(guī)范,多繼承接口定義與使用集合與泛型編程數(shù)組、列表,操作元素集合類使用提高代碼復(fù)用,類型安全泛型編程概念泛型集合示例List<T>,類型參數(shù)化面向?qū)ο髮?shí)戰(zhàn)演練PARTEIGHT簡(jiǎn)易計(jì)算器設(shè)計(jì)0201使用類和方法設(shè)計(jì)基本運(yùn)算計(jì)算器功能實(shí)現(xiàn)用戶輸入處理03輸出運(yùn)算結(jié)果到控制臺(tái)結(jié)果展示通過控制臺(tái)獲取并處理用戶輸入角色控制系統(tǒng)實(shí)現(xiàn)定義角色屬性和行為角色類設(shè)計(jì)子類實(shí)現(xiàn)特定角色功能繼承與多態(tài)應(yīng)用0201通過用戶輸入控制角色行為角色控制邏輯03游戲?qū)ο笙到y(tǒng)設(shè)計(jì)實(shí)現(xiàn)不同游戲?qū)ο蟮奶囟üδ芄芾碛螒驅(qū)ο蟮膭?chuàng)建、更新和銷毀定義游戲?qū)ο蠊餐袨橛螒驅(qū)ο蠼涌谠O(shè)計(jì)具體游戲?qū)ο髮?shí)現(xiàn)對(duì)象管理邏輯項(xiàng)目三小結(jié)PARTNINEC#語法知識(shí)回顧數(shù)據(jù)類型與運(yùn)算符包括值類型、引用類型等流程控制結(jié)構(gòu)順序、選擇、循環(huán)結(jié)構(gòu)面向?qū)ο缶幊填?、?duì)象、繼承、多態(tài)Unity開發(fā)與編程思維C#是Unity主要編程語言C#在Unity中重要性培養(yǎng)邏輯思維與問題解決能力編程思維培養(yǎng)強(qiáng)調(diào)編程實(shí)踐與應(yīng)用能力實(shí)際應(yīng)用能力謝謝金山辦公軟件有限公司Unity實(shí)戰(zhàn)開發(fā)教程

項(xiàng)目四

地形系統(tǒng)目錄01項(xiàng)目概述與學(xué)習(xí)目標(biāo)02任務(wù)4.1制作山體地形03項(xiàng)目小結(jié)項(xiàng)目概述與學(xué)習(xí)目標(biāo)PARTONE地形在游戲中的重要性豐富游戲場(chǎng)景多樣地形構(gòu)建豐富游戲世界提升游戲沉浸感逼真地形增強(qiáng)玩家代入感影響游戲性能復(fù)雜地形需優(yōu)化以減少卡頓Unity地形編輯器功能介紹支持創(chuàng)建與編輯地形對(duì)象創(chuàng)建編輯地形可添加樹木、草地等細(xì)節(jié)添加地形元素調(diào)整通用設(shè)置能更改地形高度、紋理等參數(shù)學(xué)習(xí)目標(biāo)概述通過地形等元素提升游戲真實(shí)感增強(qiáng)場(chǎng)景真實(shí)感熟練操作Unity地形編輯器運(yùn)用地形編輯器了解地形系統(tǒng)基礎(chǔ)與應(yīng)用掌握地形系統(tǒng)制作山體地形PARTTWO地形編輯器基本操作掌握地形編輯器的基本功能01地形編輯器入門學(xué)會(huì)在Unity中創(chuàng)建地形對(duì)象02創(chuàng)建地形對(duì)象了解地形編輯的常用操作03編輯地形創(chuàng)建與編輯地形對(duì)象0201在Unity中新建地形對(duì)象創(chuàng)建地形編輯地形外觀03對(duì)編輯后的地形進(jìn)行保存保存地形調(diào)整地形的高度、紋理等設(shè)置地形基本參數(shù)設(shè)置地形在場(chǎng)景中的位置位置參數(shù)0102調(diào)整地形的旋轉(zhuǎn)角度旋轉(zhuǎn)參數(shù)03設(shè)置地形的縮放比例縮放參數(shù)創(chuàng)建相鄰地形塊用于擴(kuò)展地形區(qū)域創(chuàng)建相鄰地形確保地形塊之間平滑過渡地形無縫連接在多個(gè)地形塊上進(jìn)行統(tǒng)一操作編輯整體地形繪制與添加地形元素使用PaintTerrain工具編輯地形繪制地形用PaintTrees工具增加植被添加樹木通過PaintDetails工具添加草地等細(xì)節(jié)添加細(xì)節(jié)更改地形通用設(shè)置優(yōu)化地形性能調(diào)整地形參數(shù)0103調(diào)整地形細(xì)節(jié)級(jí)別,平衡畫質(zhì)與性能修改地形高度、紋理等屬性02選擇適合的地形紋理,增強(qiáng)視覺效果設(shè)置地形材質(zhì)使用SetHeight工具01使用SetHeight工具調(diào)整地形高度抬高地面02可局部或整體調(diào)整地形高度精細(xì)調(diào)整03通過高度變化創(chuàng)建地形層次感創(chuàng)建層次感繪制山地紋理01繪制山地紋理使用PaintTexture工具添加山地紋理02多紋理組合添加多個(gè)山地紋理形成復(fù)雜地形03調(diào)整紋理參數(shù)設(shè)置紋理的混合模式、縮放等參數(shù)添加樹木并設(shè)置參數(shù)使用PaintTrees工具添加樹木調(diào)整樹木的高度和寬度參數(shù)設(shè)置高度寬度調(diào)整樹木的密度參數(shù)設(shè)置密度010203添加草地并設(shè)置參數(shù)使用PaintDetails工具添加草地選擇并設(shè)置草地的紋理設(shè)置紋理調(diào)整草地的密度和大小參數(shù)設(shè)置密度大小添加水模型并調(diào)整水效果增強(qiáng)游戲地形真實(shí)感調(diào)整水的位置和大小往水池添加水模型添加水模型調(diào)整水位置大小增強(qiáng)地形真實(shí)感添加風(fēng)域模擬風(fēng)效添加WindZone模擬風(fēng)效添加風(fēng)域調(diào)整風(fēng)域參數(shù),模擬不同風(fēng)效設(shè)置風(fēng)參數(shù)風(fēng)效果提升游戲場(chǎng)景氛圍提升場(chǎng)景氛圍導(dǎo)入并修改天空盒在Unity中導(dǎo)入所需天空盒資源導(dǎo)入天空盒將導(dǎo)入的天空盒應(yīng)用到游戲場(chǎng)景中修改天空盒0201合適的天空盒能增強(qiáng)游戲場(chǎng)景的氛圍感增強(qiáng)氛圍03設(shè)置霧效果0201在Unity中設(shè)置霧效果參數(shù)添加霧效果調(diào)整霧濃度03霧效果能增加地形和場(chǎng)景的真實(shí)氛圍感增加地形氛圍根據(jù)場(chǎng)景需求調(diào)整霧的濃度導(dǎo)入FPS控制器獲取并導(dǎo)入控制器資源導(dǎo)入FPSController檢查版本與Unity匹配確保資源兼容性放置到項(xiàng)目文件夾整理資源,便于管理添加并設(shè)置FPSController確保FPS攝像機(jī)為活動(dòng)攝像機(jī)調(diào)整攝像機(jī)高度、靈敏度等將控制器拖入場(chǎng)景添加FPSController隱藏原攝像機(jī)設(shè)置FPSController參數(shù)地形編輯器應(yīng)用概述提升游戲質(zhì)量增強(qiáng)游戲場(chǎng)景視覺效果地形編輯器應(yīng)用廣泛在游戲開發(fā)中至關(guān)重要?jiǎng)?chuàng)建多樣化地形支持復(fù)雜地形創(chuàng)建與編輯創(chuàng)建復(fù)雜逼真地形抬高地面,形成復(fù)雜地形使用SetHeight工具使用PaintTexture工具繪制添加多種山地紋理調(diào)整位置、旋轉(zhuǎn)、縮放等參數(shù)設(shè)置地形參數(shù)增強(qiáng)游戲場(chǎng)景真實(shí)感使用PaintTrees、PaintDetails等工具01添加植被、水、風(fēng)導(dǎo)入并修改天空盒,設(shè)置霧效果02設(shè)置天空盒與霧導(dǎo)入FPSController,實(shí)現(xiàn)第一人稱漫游03第一人稱漫游體驗(yàn)項(xiàng)目小結(jié)PARTTEN學(xué)習(xí)Unity地形系統(tǒng)01掌握地形編輯器學(xué)會(huì)使用Unity地形編輯器02了解地形系統(tǒng)理解地形在游戲開發(fā)中的重要性03學(xué)習(xí)添加元素學(xué)習(xí)添加天空盒、風(fēng)、霧等創(chuàng)建逼真山體地形使用地形編輯器創(chuàng)建和編輯制作山體地形設(shè)置位置、旋轉(zhuǎn)、縮放等參數(shù)設(shè)置地形參數(shù)0201使用PaintTexture工具繪制繪制山地紋理03增強(qiáng)游戲場(chǎng)景真實(shí)感與互動(dòng)性添加樹木、草地、水、風(fēng)等添加自然元素導(dǎo)入并修改天空盒,設(shè)置霧效果修改天空盒與霧導(dǎo)入FPS控制器,提高游戲互動(dòng)性實(shí)現(xiàn)第一人稱漫游謝謝Unity實(shí)戰(zhàn)開發(fā)教程

項(xiàng)目五

制作VR項(xiàng)目《鄭和下西洋》目錄01項(xiàng)目概述02任務(wù)5.1準(zhǔn)心懸停實(shí)現(xiàn)交互觸發(fā)03任務(wù)5.2

UI填充加載與打字機(jī)出字04任務(wù)5.3鄭和指揮動(dòng)作實(shí)現(xiàn)05項(xiàng)目總結(jié)項(xiàng)目概述PARTONE項(xiàng)目概述掌握UnityVR技術(shù)并熟悉相關(guān)操作項(xiàng)目目標(biāo)利用UnityVR技術(shù)呈現(xiàn)鄭和下西洋場(chǎng)景VR技術(shù)呈現(xiàn)鄭和下西洋一帶一路背景學(xué)習(xí)目標(biāo)0201學(xué)習(xí)UnityVR開發(fā)流程掌握UnityVR技術(shù)熟悉場(chǎng)景編輯03掌握腳本編寫技能腳本編寫熟悉場(chǎng)景編輯和資源管理VR技術(shù)簡(jiǎn)介虛擬現(xiàn)實(shí)技術(shù)VR技術(shù)定義游戲、教育、醫(yī)療等應(yīng)用場(chǎng)景技術(shù)特點(diǎn)沉浸感、交互性、構(gòu)想性Unity在VR開發(fā)應(yīng)用跨平臺(tái)開發(fā)、資源豐富Unity平臺(tái)優(yōu)勢(shì)內(nèi)置VR工具包,支持多種VR設(shè)備VR開發(fā)支持《鄭和下西洋》VR項(xiàng)目應(yīng)用案例UnityVR開發(fā)流程集成測(cè)試VR設(shè)備測(cè)試、優(yōu)化性能項(xiàng)目準(zhǔn)備確定需求、規(guī)劃場(chǎng)景資源開發(fā)建模、貼圖、動(dòng)畫任務(wù)5.1

準(zhǔn)心懸停實(shí)現(xiàn)交互觸發(fā)PARTTWO相關(guān)知識(shí):一、剛體剛體是游戲?qū)ο笪锢硇袨榈闹饕M件,響應(yīng)重力,添加碰撞體則移動(dòng)。剛體組件接管游戲?qū)ο筮\(yùn)動(dòng),不應(yīng)通過腳本更改變換屬性移動(dòng)對(duì)象,應(yīng)施加力讓物理引擎計(jì)算。剛體受物理引擎控制,實(shí)現(xiàn)逼真碰撞和關(guān)節(jié)行為。施力效果不同于直接調(diào)整變換組件。變換:不能受力,可平移旋轉(zhuǎn),與物理引擎不同。剛體:可受力扭矩,改變變換組件。相關(guān)知識(shí):二、碰撞體與觸發(fā)器碰撞體(Collider)是Unity游戲?qū)ο笈鲎矙z測(cè)技術(shù)。內(nèi)置物體默認(rèn)有碰撞體,3D模型需手工添加。01觸發(fā)器檢測(cè)游戲?qū)ο笫欠襁M(jìn)入?yún)^(qū)域,是碰撞體屬性,碰撞與觸發(fā)檢測(cè)寫法不同。03碰撞體檢測(cè)游戲?qū)ο笈鲎玻来┩?,可檢測(cè)對(duì)象接觸。02相關(guān)知識(shí):三、碰撞體的分類與應(yīng)用BoxCollider。盒型碰撞器。盒型碰撞器是使用最廣泛、節(jié)省系統(tǒng)資源的組件,一般復(fù)雜的模型可以使用多個(gè)盒型碰撞器組成。02碰撞器組件在Unity物理學(xué)模擬中起到非常關(guān)鍵的作用,主要有兩點(diǎn):第一,阻擋進(jìn)入的作用;第二,碰撞檢測(cè)的目的。01屬性功能IsTrigger如果啟用此屬性,則該碰撞器將用于觸發(fā)事件,并被物理引擎忽略。Material引用物理材質(zhì),可確定該碰撞器與其他對(duì)象的交互方式。Center碰撞器在對(duì)象局部空間中的位置。Size碰撞器在X、Y、Z方向上的大小。相關(guān)知識(shí):三、碰撞體的分類與應(yīng)用球體碰撞器。主要應(yīng)用在球狀表面模型。SphereCollider屬性功能IsTrigger如果啟用此屬性,則該碰撞器將用于觸發(fā)事件,并被物理引擎忽略。Material引用物理材質(zhì),可確定該碰撞器與其他對(duì)象的交互方式。Center碰撞器在對(duì)象局部空間中的位置。Radius碰撞器的大小。相關(guān)知識(shí):三、碰撞體的分類與應(yīng)用膠囊碰撞器。應(yīng)用于膠囊體、圓柱體等模型。膠囊碰撞器在角色控制器中用于模擬桿體,也可與其他碰撞器組合用于表現(xiàn)不尋常的形狀。CapsuleCollider屬性功能IsTrigger啟用此屬性,碰撞器觸發(fā)事件,物理引擎忽略。Material引用物理材質(zhì),可確定該碰撞器與其他對(duì)象的交互方式。Center碰撞器在對(duì)象局部空間中的位置。Radius碰撞器的局部寬度的半徑。Height碰撞器的總高度。Direction膠囊體在對(duì)象局部空間中縱向方向的軸。相關(guān)知識(shí):三、碰撞體的分類與應(yīng)用MeshCollider。從游戲?qū)ο缶W(wǎng)格構(gòu)建碰撞表示,讀取變換組件屬性。優(yōu)點(diǎn)是與游戲?qū)ο笮螤钕嗤鲎簿_。缺點(diǎn)是處理開銷高,需謹(jǐn)慎使用。采用網(wǎng)格資源構(gòu)建碰撞器,比基元準(zhǔn)確。屬性功能Convex選中此復(fù)選框?qū)⑹筂eshCollider與其他MeshCollider發(fā)生碰撞。Convex

MeshCollider最多255個(gè)三角形。IsTrigger選中此復(fù)選框?qū)⑹筓nity使用該碰撞器來觸發(fā)事件,而物理引擎會(huì)忽略該碰撞器。CookingOptions啟用或禁用影響物理引擎對(duì)網(wǎng)格處理方式的網(wǎng)格烹制選項(xiàng)。Material引用物理材質(zhì),可確定該碰撞器與其他對(duì)象的交互方式。Mesh引用需要用于碰撞的網(wǎng)格。相關(guān)知識(shí):三、碰撞體的分類與應(yīng)用屬性功能Mass車輪的質(zhì)量。Radius車輪的半徑。WheelDampingRate這是應(yīng)用于車輪的阻尼值。SuspensionDistance車輪懸架的最大延伸距離(在局部空間中測(cè)量)。ForceAppPointDistance此參數(shù)定義車輪上的受力點(diǎn)。此距離應(yīng)該是距車輪底部靜止位置的距離(沿懸架行程方向),以米為單位。Center車輪在對(duì)象局部空間中的中心位置。SuspensionSpring懸架嘗試通過增加彈簧力和阻尼力來到達(dá)__目標(biāo)位置(TargetPosition)。TargetPosition懸架沿懸架距離(SuspensionDistance)的靜止距離。1對(duì)應(yīng)于完全展開的懸架,0對(duì)應(yīng)于完全壓縮的懸架。Forward/SidewaysFriction車輪向前和側(cè)向滾動(dòng)時(shí)輪胎摩擦的特性。WheelCollider。車輪碰撞器。車輪碰撞器。一般應(yīng)用在車輛、賽車等車輪模型上,但消耗的資源也不小,建議根據(jù)實(shí)際情況適量應(yīng)用。相關(guān)知識(shí):三、碰撞體的分類與應(yīng)用地形碰撞器。僅應(yīng)用在Terrain地形組件上。TerrainCollider。屬性功能Material引用物理材質(zhì),可確定該碰撞器與其他對(duì)象的交互方式。TerrainData地形數(shù)據(jù)。EnableTreeColliders選中此屬性時(shí),將啟用樹碰撞器。相關(guān)知識(shí):四、觸發(fā)檢測(cè)事件函數(shù)如果我們想需要在游戲場(chǎng)景中偵測(cè)特定游戲?qū)ο笫欠翊嬖?,則一般使用觸發(fā)器,觸發(fā)器取消了碰撞器的阻擋作用,但是我們依然可以使用回調(diào)函數(shù)進(jìn)行事件檢測(cè),我們?cè)谂鲎财鹘M件上勾選IsTrigger的屬性選項(xiàng),則碰撞器組件就變成了觸發(fā)器。觸發(fā)檢測(cè)事件函數(shù)觸發(fā)事件函數(shù)OnTriggerEnter()

進(jìn)入觸發(fā)檢測(cè)。當(dāng)英雄觸碰到此事件函數(shù)所加載的游戲?qū)ο髸r(shí)觸發(fā)此函數(shù)。OnTriggerStay()

停留觸發(fā)檢測(cè)。當(dāng)英雄與此事件函數(shù)所加載的游戲?qū)ο笠恢卑l(fā)生接觸的時(shí)候觸發(fā)此函數(shù)。OnTriggerExit()

退出觸發(fā)檢測(cè)。當(dāng)英雄與此事件函數(shù)所加載的游戲?qū)ο蠓蛛x開的時(shí)候觸發(fā)此函數(shù)。相關(guān)知識(shí):五、射線與射線檢測(cè)從一個(gè)點(diǎn)往一個(gè)方向,發(fā)射一根無限長(zhǎng)的射線,這根射線與場(chǎng)景中的其余的游戲物體的碰撞器組件相碰撞,射線即結(jié)束。由于射線可以與物理組件Collider相交互,所以“射線”也稱之為“物理射線”。Ray構(gòu)造函數(shù)屬性功能origin在世界坐標(biāo)中射線的起始點(diǎn)direction射線的方向distance射線的長(zhǎng)度hit使用c#中out關(guān)鍵字傳入一個(gè)空的碰撞信息類,然后碰撞后賦值??梢缘玫脚鲎参矬w的transform,rigidbody,point等信息。layerMask只選定Layermask層內(nèi)的碰撞器,其它層內(nèi)碰撞器忽略。RayCastHit類屬性功能collider碰到的碰撞器。distance從射線到碰撞點(diǎn)的距離。point在世界坐標(biāo)空間,射線碰到碰撞器的接觸點(diǎn)。rigidbody碰到的該碰撞器上的剛體。如果碰撞器沒有剛體則返回null。textureCoord在觸碰點(diǎn)的UV紋理坐標(biāo)。transform碰到的該剛體或碰撞器的變換。相關(guān)知識(shí):六、物理材質(zhì)物理材質(zhì)是控制游戲?qū)ο蟮哪Σ亮头磸椣禂?shù)等屬性的一種資源。要?jiǎng)?chuàng)建物理材質(zhì),請(qǐng)從菜單欄中選擇Assets>Create>PhysicMaterial。然后將物理材質(zhì)從Project視圖拖入到場(chǎng)景中的碰撞器。屬性功能DynamicFriction移動(dòng)時(shí)摩擦力,0-1值。0如冰,1迅速靜止。StaticFriction靜止摩擦力。0-1值。0像冰,1難移。Bounciness表面彈性?0不反彈,1無損反彈,或有近似值,增少量能量。FrictionCombine兩個(gè)碰撞對(duì)象的摩擦力的組合方式。-

Average對(duì)兩個(gè)摩擦值求平均值。-

Minimum使用兩個(gè)值中的最小值。-

Maximum使用兩個(gè)值中的最大值。-

Multiply兩個(gè)摩擦值相乘。BounceCombine彈性組合方式。與FrictionCombine模式同相關(guān)知識(shí):七、角色控制器在Unity中,角色控制器以組件形式應(yīng)用,掛載于游戲?qū)ο蟆nity提供參數(shù)接口,供開發(fā)人員動(dòng)態(tài)修改和調(diào)用。屬性功能SlopeLimit將碰撞器限制為爬坡的斜率不超過指示值(以度為單位)。StepOffset僅當(dāng)角色比指示值更接近地面時(shí),角色才會(huì)升高一個(gè)臺(tái)階。該值不應(yīng)該大于角色控制器的高度,否則會(huì)產(chǎn)生錯(cuò)誤。Skinwidth兩個(gè)碰撞器可以穿透彼此且穿透深度最多為皮膚寬度(SkinWidth)。較大的皮膚寬度可減少抖動(dòng)。較小的皮膚寬度可能導(dǎo)致角色卡住。合理設(shè)置是將此值設(shè)為半徑的10%。MinMoveDistance如果角色試圖移動(dòng)到指示值以下,根本移動(dòng)不了。此設(shè)置可以用來減少抖動(dòng)。在大多數(shù)情況下,此值應(yīng)保留為0。Center此設(shè)置將使膠囊碰撞器在世界空間中偏移,并且不會(huì)影響角色的樞轉(zhuǎn)方式。Radius膠囊碰撞器的半徑長(zhǎng)度。此值本質(zhì)上是碰撞器的寬度。Height角色的膠囊碰撞器高度。更改此設(shè)置將在正方向和負(fù)方向沿Y軸縮放碰撞器。相關(guān)知識(shí):八、彈簧關(guān)節(jié)

屬性功能ConnectedBody包含彈簧關(guān)節(jié)的對(duì)象連接到的剛體對(duì)象。如果未指定對(duì)象,則彈簧將連接到空間中的固定點(diǎn)。Anchor關(guān)節(jié)在對(duì)象的局部空間中所附加到的點(diǎn)。AutoConfigureConnectedAnchorUnity是否應(yīng)該自動(dòng)計(jì)算連接錨點(diǎn)的位置?ConnectedAnchor關(guān)節(jié)在連接對(duì)象的局部空間中所附加到的點(diǎn)。Spring彈簧的強(qiáng)度。Damper彈簧為活性狀態(tài)時(shí)的壓縮程度。MinDistance彈簧不施加任何力的距離范圍的下限。MaxDistance彈簧不施加任何力的距離范圍的上限。Tolerance更改容錯(cuò)。允許彈簧具有不同的靜止長(zhǎng)度。BreakForce為破壞此關(guān)節(jié)而需要施加的力。BreakTorque為破壞此關(guān)節(jié)而需要施加的扭矩。EnableCollision是否應(yīng)啟用兩個(gè)連接對(duì)象之間的相互碰撞?EnablePreprocessing禁用預(yù)處理有助于穩(wěn)定無法滿足的配置。相關(guān)知識(shí):九、固定關(guān)節(jié)固定關(guān)節(jié)是模擬剛體之間相互附著的一種物理想象,如墻上的釘子與粘貼物等。它的效果有些類似游戲?qū)ο笾g的“父子對(duì)象”關(guān)系,但不同的是可以在較大外力的作用下破壞這種附著關(guān)系。屬性功能ConnectedBody關(guān)節(jié)可引用剛體(可選),未設(shè)則連世界。BreakForce為破壞此關(guān)節(jié)而需要施加的力。BreakTorque為破壞此關(guān)節(jié)而需要施加的扭矩。EnableCollision選中復(fù)選框,允許連接體碰撞。EnablePreprocessing禁用預(yù)處理有助于穩(wěn)定無法滿足的配置。相關(guān)知識(shí):十、布料模擬屬性功能StretchingStiffness布料的拉伸剛度。BendingStiffness布料的彎曲剛度。UseTethers施加約束以幫助防止移動(dòng)的布料粒子離開固定粒子的距離太遠(yuǎn)。此屬性有助于減少過度拉伸。UseGravity是否應(yīng)該對(duì)布料施加重力加速度?Damping運(yùn)動(dòng)阻尼系數(shù)。ExternalAcceleration施加在布料上的恒定外部加速度。RandomAcceleration施加在布料上的隨機(jī)外部加速度。WorldVelocityScale角色多大程度的世界空間移動(dòng)會(huì)影響布料頂點(diǎn)。WorldAccelerationScale角色多大的世界空間加速度會(huì)影響布料頂點(diǎn)。Friction布料與角色碰撞時(shí)的摩擦力。CollisionMassScale碰撞粒子的質(zhì)量增加量。UseContinuousCollision啟用連續(xù)碰撞來提高碰撞穩(wěn)定性。UseVirtualParticles每個(gè)三角形添加一個(gè)虛擬粒子,從而提高碰撞穩(wěn)定性。SolverFrequency解算器每秒迭代次數(shù)。SleepThreshold布料的睡眠閾值。CapsuleColliders應(yīng)與此Cloth實(shí)例碰撞的CapsuleCollider的數(shù)組。SphereColliders應(yīng)與此Cloth實(shí)例碰撞的ClothSphereColliderPairs的數(shù)組。實(shí)現(xiàn)準(zhǔn)心懸停交互處理結(jié)果創(chuàng)建0103編寫代碼處理射線檢測(cè)結(jié)果創(chuàng)建選擇面板和進(jìn)度條UI02使用射線檢測(cè)實(shí)現(xiàn)準(zhǔn)心懸停準(zhǔn)心懸停實(shí)現(xiàn)任務(wù)5.2

UI填充加載與打字機(jī)出字PARTTHREE相關(guān)知識(shí):一、Canvas畫布畫布UI元素按Hierarchy順序繪制,后繪制的元素顯示在上層。拖動(dòng)元素在Hierarchy中重新排序。01-Canvas中元素繪制順序Canvas創(chuàng)控件自動(dòng)成其子,無則自創(chuàng)。詳介其組件。Canvas控件含:RectTransform、Canvas、CanvasScaler、GraphicRaycaster?!癛ectTransform”針對(duì)UGUI界面,提供界面參數(shù),含大小、旋轉(zhuǎn)、錨點(diǎn)等?!癈anvas”組件提供渲染模式、像素完善、排序等功能。渲染模式最重要。02-Canvas屬性相關(guān)知識(shí):一、Canvas畫布01-“ScreenSpace-Overlay”,OnGIU模式,UI置頂渲染,屏幕調(diào)整時(shí)Canvas自動(dòng)適配。02-“ScreenSpace-Camera”,UI元素由指定Camera渲染。Perspective相機(jī)使UI透視,失真由FOV控制。畫布自動(dòng)調(diào)整匹配屏幕、分辨率或視錐體變化。03-“WordSpace”,Camera為游戲?qū)ο?,Canvas如其他對(duì)象??墒謩?dòng)設(shè)置大小,UI元素?fù)?jù)3D位置呈現(xiàn)。用于成為場(chǎng)景一部分的UI,也稱“劇情界面”。相關(guān)知識(shí):一、Canvas畫布EventSystem控件負(fù)責(zé)UI事件管理,由EventSystem(Script)和StandaloneInputModule(Script)組成。EventSystem控件相關(guān)知識(shí):二、基本布局在這里我們將了解如何將UI元素相對(duì)于Canvas進(jìn)行定位??梢允褂貌藛蜧ameObject->UI->Image創(chuàng)建一個(gè)Image。(1)矩形工具UI元素為矩形??捎霉ぞ邫诘木匦喂ぞ咴趫?chǎng)景視圖中操作。矩形工具適用于Unity的2D、UI及3D對(duì)象。矩形工具可移動(dòng)、調(diào)整大小和旋轉(zhuǎn)UI元素。選元素后拖動(dòng)移動(dòng),拖邊或角調(diào)大小,光標(biāo)懸停稍遠(yuǎn)離角點(diǎn)旋轉(zhuǎn)。矩形工具用當(dāng)前軸心模式和空間。最好用Pivot和Local。(2)矩形變換RectTransform是一個(gè)新的轉(zhuǎn)換組件,用于所有UI元素,而不是常規(guī)的Transform組件。RectTransform是UI元素的轉(zhuǎn)換組件,有位置、旋轉(zhuǎn)、縮放、寬度和高度。(3)調(diào)整大小與縮放矩形工具改大?。?D/3D物體改局部比例,RectTransform改寬高保比例。不影響字體、切片邊框等。相關(guān)知識(shí):二、基本布局(4)軸心旋轉(zhuǎn)、大小、縮放圍繞軸心進(jìn)行,軸心位置影響結(jié)果。軸心模式下,可在Scene視圖中移動(dòng)軸心。(5)錨點(diǎn)矩形變換含錨點(diǎn)布局。錨點(diǎn)顯為四小三角控制柄,信息示于Inspector。子矩形變換可錨定于父矩形變換,如中心或角。(6)錨點(diǎn)預(yù)設(shè)在Inspector中,可在矩形變換組件的左上角找到AnchorPreset按鈕。單擊該按鈕將顯示AnchorPresets下拉選單。從此選單中可以快速選擇一些最常用的錨定選項(xiàng)??蓪I元素錨定到父項(xiàng)的邊或中間,或者與父項(xiàng)大小一起拉伸。水平錨定和垂直錨定是獨(dú)立的。Text控件是UI中負(fù)責(zé)顯示文字的控件,主要由“Text(Script)”組件構(gòu)成。相關(guān)知識(shí):三、Text控件屬性功能介紹Text控件顯示的文本。Font用于顯示文本的字體。FontStyle應(yīng)用于文本的樣式。選項(xiàng)包括

Normal、Bold、Italic

BoldAndItalic。FontSize顯示的文本的大小。LineSpacing文本行之間的垂直間距。RichText文本中的標(biāo)記元素是否應(yīng)解釋為富文本樣式。Alignment文本的水平和垂直對(duì)齊方式。AlignbyGeometry使用字形幾何形狀的范圍(而不是字形指標(biāo))執(zhí)行水平對(duì)齊。HorizontalOverflow用于處理文本太寬而無法放入矩形內(nèi)的情況的方法。提供的選項(xiàng)為

Wrap

Overflow。VerticalOverflow用于處理換行文本太高而無法放入矩形內(nèi)的情況的方法。提供的選項(xiàng)為

Truncate

Overflow。BestFitUnity應(yīng)該忽略大小屬性并嘗試直接將文本放入控件的矩形?Color用于渲染文本的顏色。Material用于渲染文本的材質(zhì)。相關(guān)知識(shí):四、Button控件Button控件Button控件是在游戲界面比較常用的控件之一,每個(gè)游戲界面中都會(huì)有交互式的Button控件,它是一個(gè)簡(jiǎn)單的復(fù)合控件,控件可響應(yīng)用戶的點(diǎn)擊并用于啟動(dòng)或確認(rèn)操作。Button控件按鈕上的文字是由“Text”負(fù)責(zé)展示,按鈕的外觀是由“Image”負(fù)責(zé)顯示,按鈕的行為和事件是由“Button(Script)”組件構(gòu)成。相關(guān)知識(shí):四、Button控件Button組件管理的是按鈕監(jiān)聽以及單擊后的變化。下面針對(duì)“Button(Script)”組件的屬性進(jìn)行講解。Button控件屬性功能Interactable如果想要此按鈕變?yōu)榭山换顟B(tài),請(qǐng)啟用

Interactable。Transition確定控件以何種方式對(duì)用戶操作進(jìn)行可視化響應(yīng)的屬性。Navigation確定控件順序的屬性?!癟ransition”屬性過渡選項(xiàng)功能None此選項(xiàng)用于使按鈕完全沒有狀態(tài)效果。ColorTint根據(jù)按鈕所處的狀態(tài)更改按鈕的顏色??蔀槊總€(gè)單獨(dú)的狀態(tài)選擇顏色。還可在不同狀態(tài)之間設(shè)置FadeDuration屬性。數(shù)字越大,顏色之間的淡入淡出越慢。SpriteSwap允許根據(jù)按鈕當(dāng)前的狀態(tài)顯示不同的精靈,并可自定義精靈。Animation按鈕動(dòng)畫需動(dòng)畫器組件,禁用根運(yùn)動(dòng)。創(chuàng)建動(dòng)畫控制器,單擊Generate或自建,并添加到按鈕動(dòng)畫器組件。相關(guān)知識(shí):五、Toggle控件“Toggle”控件“Toggle”控件,可以認(rèn)為是一個(gè)“開關(guān)”控件。它是由“Lable”、“Image”、“Toggle(Script)”組件組成的一個(gè)復(fù)合控件,其中“Lable”與“Image”組件控制其外觀樣式,而“Toggle(Script)”組件控制其事件和行為。相關(guān)知識(shí):五、Toggle控件下表是“Toggle”組件主要參數(shù)詳解。屬性功能Interactable此組件是否接受輸入?Transition確定控件以何種方式對(duì)用戶操作進(jìn)行可視化響應(yīng)的屬性。Navigation確定控件順序的屬性。IsOn開關(guān)在開始時(shí)是否為打開狀態(tài)?ToggleTransition開關(guān)在其值發(fā)生變化時(shí)以圖形方式作出的反應(yīng)。Graphic用于復(fù)選標(biāo)記的圖像。Group此開關(guān)所屬的開關(guān)組。相關(guān)知識(shí):六、Slider控件“Slider”控件,就是我們常用的“滑動(dòng)條”?;瑒?dòng)條的構(gòu)成主要由“Image”、“Slider”組件構(gòu)成,其中“Image”組件負(fù)責(zé)外觀樣式顯示,而“Slider”組件負(fù)責(zé)行為事件。下表是“Slide”組件主要參數(shù)詳解。相關(guān)知識(shí):六、Slider控件屬性功能介紹Interactable此組件是否接受輸入?Transition確定控件以何種方式對(duì)用戶操作進(jìn)行可視化響應(yīng)的屬性。Navigation確定控件順序的屬性。FillRect用于控件填充區(qū)域的圖形。HandleRect用于控件滑動(dòng)“控制柄”部分的圖形Direction拖動(dòng)控制柄時(shí)滑動(dòng)條值增加的方向。MinValue控制柄處于極下端(由

Direction

屬性確定)時(shí)的滑動(dòng)條值。MaxValue控制柄處于極上端(由

Direction

屬性確定)時(shí)的滑動(dòng)條值。WholeNumbers是否應(yīng)該將滑動(dòng)條約束為整數(shù)值?Value滑動(dòng)條的當(dāng)前數(shù)值。如果在Inspector中設(shè)置了該值,則該值將用作初始值,但是當(dāng)值變化時(shí),運(yùn)行時(shí)的值也將變化。相關(guān)知識(shí):七、InputField控件InputField是一種使文本(Text)控件的文本可編輯的方法。與其他交互控件一樣,輸入字段本身不是可見的UI元素,必須與一個(gè)或多個(gè)可視UI元素組合才能顯示。相關(guān)知識(shí):七、InputField控件屬性功能介紹Interactable一個(gè)用于確定輸入字段是否可交互的布爾值。Transition用于設(shè)置輸入字段在正常、高亮顯示、按下或禁用時(shí)的過渡方式。Navigation確定控件序列的屬性。TextComponent對(duì)用作輸入字段內(nèi)容的文本元素的引用Text起始值。開始編輯前置于字段中的初始文本。CharacterLimit可在輸入字段中輸入的最大字符數(shù)的值。ContentType定義輸入字段接受的字符類型。LineType定義如何在文本字段中設(shè)置測(cè)試的格式。Placeholder這是一個(gè)可選的“空”圖形,用于表明輸入字段不包含文本。請(qǐng)注意,即使選擇了輸入字段(即獲得焦點(diǎn)),仍會(huì)顯示此“空”圖形。如:“Entertext…”。CaretBlinkRate定義該行上的標(biāo)記的閃爍速率(用于指示建議插入文本)。SelectionColor所選文本部分的背景顏色。HideMobileInput

(iOSonly)隱藏連接到移動(dòng)設(shè)備上的屏幕鍵盤的本機(jī)輸入字段。僅適用于iOS設(shè)備。打字機(jī)與UI填充結(jié)合模擬打字機(jī)逐字顯示打字機(jī)效果結(jié)合UI填充,增強(qiáng)用戶體驗(yàn)UI填充加載打字機(jī)與UI填充結(jié)合使用結(jié)合應(yīng)用創(chuàng)建打字機(jī)效果腳本編寫DaZiJi腳本文件01創(chuàng)建DaZiJi腳本使用字符串逐字顯示02逐字顯示模擬打字機(jī)出字效果03打字機(jī)模擬UI布局與控件屬性設(shè)置布置Image和Text控件布置控件調(diào)整控件位置、大小和錨點(diǎn)調(diào)整位置設(shè)置Canvas的RenderMode等設(shè)置屬性運(yùn)行打字機(jī)效果測(cè)試測(cè)試交互運(yùn)行場(chǎng)景0103測(cè)試打字機(jī)效果的交互功能運(yùn)行VR場(chǎng)景進(jìn)行測(cè)試02觀察打字機(jī)與UI填充結(jié)合效果觀察效果任務(wù)5.3鄭和指揮動(dòng)作實(shí)現(xiàn)PARTFOUR相關(guān)知識(shí):一、AnimationAnimationClip是Unity動(dòng)畫的最小構(gòu)成元素。它們代表了一個(gè)單獨(dú)的運(yùn)動(dòng),例如RunLeft、Jump或Crawl,并且可通過各種方式進(jìn)行操作和組合,從而產(chǎn)生生動(dòng)的效果。我們除了可以從導(dǎo)入的FBX數(shù)據(jù)中選擇AnimationClip之外,還可以通過animation的錄制窗口去選擇對(duì)應(yīng)的游戲?qū)ο筮M(jìn)行關(guān)鍵幀錄制。相關(guān)知識(shí):一、AnimationAnimation視圖預(yù)覽和編輯AnimationClip。打開方式:Window>Animation。與Hierarchy、Project、Scene、Inspector窗口關(guān)聯(lián)。顯示當(dāng)前對(duì)象或動(dòng)畫剪輯的時(shí)間軸和關(guān)鍵幀。可通過Hierarchy、Scene、Project窗口選擇。Animation視圖(左)顯示當(dāng)前所選游戲?qū)ο蠹捌渥佑螒驅(qū)ο螅ㄈ绻鼈円彩艽藙?dòng)畫控制)所使用的動(dòng)畫。Scene視圖和Hierarchy視圖在右側(cè),展示了Animation視圖中顯示已附加到當(dāng)前所選游戲?qū)ο蟮膭?dòng)畫。0102Animation視圖Animation視圖預(yù)覽編輯Unity動(dòng)畫對(duì)象。打開:Window>Animation。與Hierarchy、Project、Scene、Inspector窗口關(guān)聯(lián)。顯示當(dāng)前選對(duì)象的動(dòng)畫時(shí)間軸和關(guān)鍵幀??捎肏ierarchy、Scene選對(duì)象,或用Project選動(dòng)畫資源。Animation視圖(左)顯游戲?qū)ο蠹捌渥訉?duì)象的動(dòng)畫。Scene和Hierarchy視圖(右)展已附加動(dòng)畫。Animation視圖的左側(cè)列出已動(dòng)畫的屬性。在尚未錄制任何動(dòng)畫的新建剪輯中,此列表為空。相關(guān)知識(shí):一、Animation相關(guān)知識(shí):一、Animation屬性可折疊展開顯關(guān)鍵幀值。回放頭間顯示插值,可編輯。頭在幀上改則改幀值,頭在幀間改則建新幀。開始動(dòng)畫化此剪輯中的各種屬性時(shí),已動(dòng)畫化的屬性將顯示在此處。如果該動(dòng)畫控制多個(gè)子對(duì)象,列表中還將包括每個(gè)子對(duì)象的動(dòng)畫屬性的分層子列表。在示例中,機(jī)械臂(RobotArm)的游戲?qū)ο髮蛹?jí)視圖的各個(gè)部分都在同一動(dòng)畫剪輯中進(jìn)行動(dòng)畫化。Animation編輯相關(guān)知識(shí):一、Animation

將回放頭移到剪輯的開頭

錄制模式(切換開/關(guān))注意:如果打開錄制模式,則預(yù)覽模式也會(huì)始終打開

預(yù)覽模式(切換開/關(guān))

將回放頭移到上一關(guān)鍵幀

播放動(dòng)畫回放控制動(dòng)畫剪輯的回放,請(qǐng)使用Animation視圖左上方的回放控制。相關(guān)知識(shí):一、Animation創(chuàng)建AnimationClip時(shí),先選游戲?qū)ο?,打開Animation窗口(Window>Animation>Animation)。未分配動(dòng)畫則顯“Create”按鈕。01創(chuàng)建AnimationClip單擊Create按鈕。保存空動(dòng)畫剪輯時(shí),Unity會(huì)完成一系列操作:創(chuàng)建AnimatorController->添加新剪輯->添加Animator組件。02Create相關(guān)知識(shí):一、Animation下圖以Animation窗口中創(chuàng)建新動(dòng)畫剪輯為起點(diǎn),展示了Unity如何分配這些部件。相關(guān)知識(shí):一、Animation上圖以Animation窗口中創(chuàng)建新動(dòng)畫剪輯為起點(diǎn),展示了Unity如何分配這些部件。

也稱為自動(dòng)關(guān)鍵點(diǎn)模式,在錄制模式下,當(dāng)移動(dòng)、旋轉(zhuǎn)或以其他方式修改動(dòng)畫游戲?qū)ο蟮娜魏慰蓜?dòng)畫屬性時(shí),Unity會(huì)自動(dòng)在回放頭處創(chuàng)建關(guān)鍵幀。按下帶有紅色圓圈的按鈕即可啟用錄制模式。錄制模式

在預(yù)覽模式下,修改動(dòng)畫游戲?qū)ο蟛粫?huì)自動(dòng)創(chuàng)建關(guān)鍵幀。每次將游戲?qū)ο笮薷臑樗璧男聽顟B(tài)(例如,移動(dòng)或旋轉(zhuǎn)它)時(shí),必須手動(dòng)創(chuàng)建關(guān)鍵幀。按下

Preview

按鈕即可啟用預(yù)覽模式。在預(yù)覽模式下,Animation窗口時(shí)間軸顯示為藍(lán)色。預(yù)覽模式相關(guān)知識(shí):一、Animation相關(guān)知識(shí):一、Animation動(dòng)畫錄制模式下,操作游戲?qū)ο髮傩钥蓜?dòng)畫化。移動(dòng)、旋轉(zhuǎn)、縮放會(huì)添加關(guān)鍵幀。直接調(diào)整檢視面板中的值也會(huì)添加關(guān)鍵幀,適用于任何可動(dòng)畫屬性。動(dòng)畫化屬性顯示于Animation窗口左側(cè)。未動(dòng)畫化屬性不顯示。新屬性動(dòng)畫化時(shí)自動(dòng)添加。Transform屬性特點(diǎn):.x、.y、.z屬性鏈接,同時(shí)加曲線??蓜?dòng)畫屬性通過AddProperty按鈕添加到游戲?qū)ο螅捌渥禹?xiàng)),顯示彈出列表,與檢視面板屬性對(duì)應(yīng)。動(dòng)畫化屬性相關(guān)知識(shí):二、Animator在項(xiàng)目視圖窗口中單擊鼠標(biāo)右鍵,創(chuàng)建AnimatorController并且進(jìn)行重新命名01AnimatorController創(chuàng)建步驟1雙擊該動(dòng)畫控制器,進(jìn)入動(dòng)畫控制器編輯窗口。02AnimatorController創(chuàng)建步驟2相關(guān)知識(shí):二、Animator狀態(tài)機(jī)思想:角色某時(shí)刻做特定動(dòng)作,動(dòng)作稱狀態(tài)。角色處某“狀態(tài)”中。狀態(tài)切換需條件,如跑步切跑跳,非靜切跑跳。當(dāng)前進(jìn)下狀態(tài)的條件稱過渡條件。狀態(tài)集、過渡條件、當(dāng)前狀態(tài)變量構(gòu)成狀態(tài)機(jī)。狀態(tài)與過渡可用圖形表達(dá),節(jié)點(diǎn)為狀態(tài),弧線為過渡。狀態(tài)機(jī)整合狀態(tài)、轉(zhuǎn)移及記錄變量。過渡連接案例見上圖。狀態(tài)機(jī)相關(guān)知識(shí):二、Animator角色在游戲中不同狀態(tài)可做出不同動(dòng)作。使用腳本控制動(dòng)畫可能復(fù)雜。Unity提供動(dòng)畫狀態(tài)機(jī)優(yōu)化控制。動(dòng)畫狀態(tài)機(jī)和動(dòng)畫過渡條件01動(dòng)畫控制器中狀態(tài)機(jī)顏色各異,各對(duì)應(yīng)一動(dòng)作,默認(rèn)含AnyState、Entry、Exit狀態(tài),一黃節(jié)點(diǎn)為默認(rèn),其余灰。動(dòng)畫狀態(tài)機(jī)和動(dòng)畫過渡條件02子狀態(tài)為獨(dú)立狀態(tài)機(jī),通過進(jìn)入退出節(jié)點(diǎn)控制流程。過渡條件如圖。動(dòng)畫狀態(tài)機(jī)和動(dòng)畫過渡條件03相關(guān)知識(shí):二、Animator每一個(gè)動(dòng)畫控制器都可以有若干個(gè)動(dòng)畫層,每個(gè)動(dòng)畫層都是一個(gè)動(dòng)畫狀態(tài)機(jī),動(dòng)畫狀態(tài)機(jī)中可以同時(shí)包含若干個(gè)動(dòng)畫狀態(tài)單元或子動(dòng)畫狀態(tài)機(jī)。01通過創(chuàng)建狀態(tài)轉(zhuǎn)移來進(jìn)行兩個(gè)動(dòng)畫之間的連接,選擇MakeTransform,創(chuàng)建動(dòng)畫過渡條件,并再次單擊另一個(gè)動(dòng)畫狀態(tài)單元,完成動(dòng)畫過渡條件的連接。02相關(guān)知識(shí):二、Animator過渡條件參數(shù)設(shè)置過渡條件控制動(dòng)畫邏輯,需創(chuàng)建參數(shù)。Mecanim支持Float、Int、Bool、Trigger四種參數(shù)。創(chuàng)建過渡條件參數(shù),在動(dòng)畫狀態(tài)機(jī)Parameters窗口點(diǎn)“+”選參數(shù)類型,重命名并設(shè)置初始值。相關(guān)知識(shí):二、Animator參數(shù)類型所對(duì)應(yīng)的數(shù)據(jù)類型Integer-整數(shù)Float-帶小數(shù)部分的數(shù)字Bool-true或false值(由復(fù)選框表示)Trigger-當(dāng)被過渡使用時(shí),由控制器重置的布爾值參數(shù)(以圓形按鈕表示)在腳本中使用可以使用以下Animator類中的函數(shù),從腳本為參數(shù)賦值:SetFloat、SetInteger、SetBool、SetTrigger和ResetTrigger。相關(guān)知識(shí):二、Animator單擊想要添加參數(shù)的過渡條件,然后在Inspector視圖中的Conditions列表單擊“+”號(hào)創(chuàng)建參數(shù),選擇所需參數(shù),然后為參數(shù)添加對(duì)比條件,不同類型的參數(shù)對(duì)比條件不同,如Float類型的參數(shù)對(duì)于條件有大于和小于。在屬性可設(shè)置不同的參數(shù)的數(shù)值或狀態(tài)如圖所示。只有在滿足對(duì)比條件的情況下,才會(huì)從一個(gè)動(dòng)畫狀態(tài)跳轉(zhuǎn)至另一個(gè)動(dòng)畫狀態(tài)。若存在多個(gè)對(duì)比條件的話,需要滿足所有對(duì)比條件才可以。開發(fā)者可以根據(jù)這個(gè)特性在代碼中控制參數(shù)的大小以實(shí)現(xiàn)動(dòng)畫播放控制的效果。Inspector編輯實(shí)現(xiàn)指揮動(dòng)作增強(qiáng)沉浸感使VR場(chǎng)景更加真實(shí)實(shí)現(xiàn)指揮艦隊(duì)動(dòng)作模擬鄭和指揮艦隊(duì)的動(dòng)作使用AnimatorController通過AnimatorController控制動(dòng)畫創(chuàng)建AnimatorController01在Project窗口新建AnimatorController02雙擊打開Animator編輯窗口03在Animator編輯窗口創(chuàng)建狀態(tài)機(jī)創(chuàng)建Animator文件打開Animator編輯窗口創(chuàng)建狀態(tài)機(jī)添加動(dòng)畫剪輯與過渡設(shè)置狀態(tài)機(jī)之間的過渡條件設(shè)置過渡條件將動(dòng)畫剪輯拖入Animator編輯窗口拖入Animator窗口導(dǎo)入ZhiHui動(dòng)畫剪輯導(dǎo)入動(dòng)畫剪輯添加Animator組件在場(chǎng)景中找到鄭和模型找到鄭和模型0102為鄭和模型添加Animator組件添加Animator組件03為Avatar屬性指定鄭和模型的骨骼指定骨骼測(cè)試指揮動(dòng)作01運(yùn)行場(chǎng)景運(yùn)行VR場(chǎng)景02觀察動(dòng)畫效果觀察鄭和指揮動(dòng)作的動(dòng)畫效果03測(cè)試過渡測(cè)試動(dòng)畫狀態(tài)機(jī)之間的過渡項(xiàng)目總結(jié)PARTFIVE技術(shù)應(yīng)用與學(xué)習(xí)成果利用Unity實(shí)現(xiàn)VR場(chǎng)景01UnityVR技術(shù)應(yīng)用實(shí)現(xiàn)準(zhǔn)心懸停觸發(fā)與UI交互02準(zhǔn)心懸停與UI交互掌握AnimatorController動(dòng)畫控制03動(dòng)畫控制技能謝謝Unity實(shí)戰(zhàn)開發(fā)教程

項(xiàng)目六

憫農(nóng)目錄01項(xiàng)目小結(jié)與展望02任務(wù)6.1音頻與詩句同步實(shí)現(xiàn)03任務(wù)6.2農(nóng)舍炊煙效果實(shí)現(xiàn)04項(xiàng)目小結(jié)項(xiàng)目概述與目標(biāo)PARTONE時(shí)代變遷與技術(shù)賦能隨著習(xí)近平新時(shí)代中國特色社會(huì)主義思想的指引,中國已進(jìn)入全面建設(shè)社會(huì)主義現(xiàn)代化國家的新時(shí)代,農(nóng)民生活得到極大改善。UnityVR技術(shù)為文化傳承提供了新手段,通過沉浸式體驗(yàn)讓用戶感受從封建社會(huì)到全面小康社會(huì)的歷史巨變。項(xiàng)目不僅重現(xiàn)歷史場(chǎng)景,還展示了中國社會(huì)主義現(xiàn)代化建設(shè)的偉大成就,體現(xiàn)了科技與文化融合的創(chuàng)新價(jià)值?!稇戅r(nóng)》文化內(nèi)涵《憫農(nóng)》是唐代詩人李紳創(chuàng)作的詩作,深刻反映了封建時(shí)代農(nóng)民的艱辛生活。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論