版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第一章初識Unity游戲引擎01第1章初識Unity引擎.pptx02第2章核心原理學(xué)習(xí).pptx03第3章界面交互設(shè)計.pptx04第4章物理引擎玩法.pptx05第5章燈光材質(zhì)地形.pptx06第6章模型動畫特效.pptx07第7章尋路數(shù)據(jù)庫網(wǎng)絡(luò).pptx08第8章虛擬現(xiàn)實打包發(fā)布.pptx全套PPT課件CONTENTS2.Unity注冊安裝3.Unity網(wǎng)頁介紹4.Unity學(xué)習(xí)資源5.UnityHub了解6.Unity案例制作1.Unity游戲引擎第一節(jié)Unity游戲引擎1.什么是游戲引擎?2.有哪些游戲引擎以及應(yīng)用?3.詳細(xì)了解Unity游戲引擎!4.暢想設(shè)計一款游戲以及開發(fā)引擎!1.1.1游戲引擎介紹虛幻引擎起源引擎寒霜引擎《彩虹六號:維加斯》《戰(zhàn)爭機(jī)器》《虛幻競技場3》《質(zhì)量效應(yīng)》《流星蝴蝶劍OL》《絕地求生》《堡壘之夜》《半條命2》系列《反恐精英》系列《軍團(tuán)要塞》系列《求生之路》系列《DOTA2》《戰(zhàn)地》系列《極品飛車》系列《植物大戰(zhàn)僵尸》LayaBox《無盡騎士3D》《QQ花藤》《QQ農(nóng)場》《胡萊三國》《大天使之劍H5》GameMakerUndertaleRiskofRainHyperLightDrifterVA-11Hall-ACrushlandsCocoscreator夢幻西游手游版刀塔傳奇我叫MT捕魚達(dá)人歡樂斗地主秦時明月保衛(wèi)蘿卜
游戲引擎是指一些已編寫好的可編輯電腦游戲系統(tǒng)或者一些交互式實時圖像應(yīng)用程序的核心組件。這些系統(tǒng)為游戲設(shè)計者提供各種編寫游戲所需的各種工具,其目的在于讓游戲設(shè)計者能容易和快速地做出游戲程式而不用由零開始。大部分都支持多種操作平臺,如Linux、MacOSX、微軟Windows。渲染系統(tǒng)(即“渲染器”,含二維圖像系統(tǒng)和三維圖像系統(tǒng))、物理系統(tǒng)、碰撞檢測系統(tǒng)、音效、1.百度百科:游戲引擎游戲引擎定義游戲引擎系統(tǒng)腳本引擎、電腦動畫、人工智能、網(wǎng)絡(luò)引擎以及場景管理。國內(nèi)游戲引擎開發(fā)“”
1.1.2Unity引擎介紹1.適合開發(fā)初學(xué)者,操作便捷,容易上手。2.智能界面設(shè)計,可視化編程界面完成各種開發(fā)工作,高效腳本編輯,實現(xiàn)高效率開發(fā)。3.面向組件開發(fā),不同的游戲項目,整個邏輯需要用C#重新寫,但是資都是可以沿用原項目的。4.跨平臺性,只需一鍵即可完成作品的多平臺開發(fā)和部署,支持PC、移動、主機(jī)三大不同的平臺5.入門簡單,開發(fā)語言C#相對于C/C++更簡單,而且unity的使用已相對成熟,學(xué)習(xí)視頻較多1.1.3Unity誕生與發(fā)展已經(jīng)擁有了整合的編輯器、圖形引擎、跨平臺發(fā)布、地形編輯、著色器、腳本、網(wǎng)絡(luò)、物理、特效、音頻和視頻、集成2D游戲開發(fā)工具版本控制等強(qiáng)大特性功能,可以實現(xiàn)輕松創(chuàng)建諸如三維視頻游戲、建筑可視化、實時三維動畫等類型互動內(nèi)容Unity3D創(chuàng)始團(tuán)隊于2004年創(chuàng)立了一家游戲公司,在Mac平臺開發(fā)了一款GooBall的游戲后開始轉(zhuǎn)向游戲引擎制作,即讓游戲創(chuàng)作者能夠更加輕松并專注于游戲創(chuàng)作本身。來到2021年,Unity已經(jīng)發(fā)布Unity2020.2.0f1c1正式版了,經(jīng)歷幾十上百個版本的迭代。這一期間IPhone智能手機(jī)問世,手機(jī)端游戲盛行,此時Unity作為一款能夠支持快速開發(fā)IOS應(yīng)用的游戲開發(fā)引擎,成了手游開發(fā)者的不二之選,從此開始風(fēng)靡全球,陸續(xù)支持在Sony,PS,Xbox等各種游戲平臺發(fā)。壹貳叁肆于是2005年Unity1.0就誕生了2009年發(fā)布Unity2.5加入Windows支持,并于同年10月份開放免費獨立版供大家使用開發(fā)。Unity未來發(fā)展方向AR、VR再次走入大眾視野,人工智能等新興技術(shù)發(fā)展得如火如荼,Unity也實時更新了相應(yīng)模塊組件幫助開發(fā)者能夠輕松在Unity中學(xué)習(xí)制作開發(fā)這些新技術(shù)領(lǐng)域,創(chuàng)造多領(lǐng)域?qū)W科更多創(chuàng)新的可能性。小巧精美的手游1.1.4Unity經(jīng)典作品《神廟逃亡》《紀(jì)念碑谷》《旅行青蛙》《憤怒的小鳥2》《元氣騎士》領(lǐng)域特色大作1.1.4Unity經(jīng)典作品《NianticPokemonGo》《王者榮耀》《崩壞3》《FreeFire》《明日方舟》端游主機(jī)游戲1.1.4Unity經(jīng)典作品《原神》《爐石傳說》《逃離塔克夫》《奧日與黑暗森林》影視動畫領(lǐng)域1.1.5Unity影視作品《異教徒》《Windup》《獅子王》《頭號玩家》第二節(jié)Unity注冊安裝1.注冊Unity賬號成為開發(fā)者一員。2.官網(wǎng)下載UnityHub軟件并安裝。3.UnityHub下載Unity引擎并安裝。4.了解UnityHub的界面并配置使用。1.進(jìn)入Unity官網(wǎng)2.創(chuàng)建UnityID3.注冊賬號1./2./(推薦快)1.選擇右上角小人圖標(biāo)2.選擇創(chuàng)建UnityID1.完善相關(guān)信息填寫2.驗證郵箱電話3.綁定微信等其它信息1.2.1Unity賬號注冊1.進(jìn)入Unity官網(wǎng)2.下載UnityHub3.配置UnityHub1./(推薦快)2.登陸Unity賬號3.點擊右上角的下載Unity1.向下滑動至最新版本2.點擊[從Hub下載]3.安裝UnityHub1.登陸Unity賬號2.選中右上角設(shè)置按鈕3.編輯Unity安裝路徑4.激活新的許可證1.2.2安裝UnityHub配置UnityHub安裝路徑時確保內(nèi)存大于10G激活許可證:Unity個人版-我不以專業(yè)身份使用右下角按鈕可與Unity客服交流1.進(jìn)入安裝頁面2.配置安裝模塊3.新建Unity項目1.選中左側(cè)的安裝欄2.點擊右上角的安裝按鈕3.選擇其中一個Unity版本4.點擊下一步1.根據(jù)需要安裝模塊2.選中安裝VisualStudio3.選中WindowsBuildSupport4.選中Documentation5.選中簡體中文1.點擊左側(cè)項目欄2.選中右上角新建3.編輯Unity項目名字路徑4.點擊創(chuàng)建加載Unity項目1.2.3安裝Unity引擎LTS代表長期支持的Unity版本其它模塊可以后期需要時再添加Unity引擎版本不具備向后兼容性項目、路徑名稱注意盡量為英文第三節(jié)Unity網(wǎng)頁介紹1.瀏覽Unity中國官網(wǎng)相關(guān)介紹。2.訪問Unity官方官網(wǎng)全面認(rèn)識。3.尋找UnityAssetStore素材資源。1.3.1Unity中國官網(wǎng)/2.了解Unity相關(guān)產(chǎn)品與介紹3.方便快速下載Unity引擎4.Unity中文文檔-重要5.開發(fā)者社區(qū)互動交流1.Unity中國官網(wǎng)加載快速Addyoursubtitle重點與特點Unity中國官網(wǎng)1.3.2Unity官網(wǎng)/2.最全、最新Unity相關(guān)資訊3.鏈接到Learning學(xué)習(xí)網(wǎng)頁4.鏈接到AssetStore資源網(wǎng)頁5.鏈接到Resources網(wǎng)頁1.國內(nèi)網(wǎng)頁加載速度慢Addyoursubtitle重點與特點Unity官網(wǎng)/1.3.3Unity資源商店/2.眾多Unity強(qiáng)大拓展插件3.眾多Unity完成學(xué)習(xí)案例4.收集整理分類喜歡內(nèi)容1.眾多Unity相關(guān)資源素材Addyoursubtitle重點與特點UnityAssetStore第四節(jié)Unity學(xué)習(xí)資源1.UnityHub社區(qū)項目學(xué)習(xí)教程。2.Unity中文文檔內(nèi)容權(quán)威全面。3.UnityLearn提供完整學(xué)習(xí)路線。4.探索更多Unity學(xué)習(xí)資源內(nèi)容。1.4.1UnityHub學(xué)習(xí)2.Unity官方視頻直播3.Unity熱門素材資源1.Unity相關(guān)技術(shù)文章UnityHub社區(qū)2.Unity文本視頻式教程3.提示難度和預(yù)計時間1.Unity項目互動式教學(xué)UnityHub學(xué)習(xí)1.4.2Unity(中國)官網(wǎng)學(xué)習(xí)1.Unity權(quán)威手冊指南2.Unity詳盡腳本API3.中文導(dǎo)航內(nèi)容分類官方文檔API1.眾多Unity學(xué)習(xí)教程2.細(xì)分學(xué)習(xí)路線規(guī)劃3.定時在線直播教學(xué)Unity官網(wǎng)學(xué)習(xí)/cn/current/Manual/index.html1.4.3其它Unity學(xué)習(xí)資源微信公眾號騰訊網(wǎng)易課堂蠻牛、泰課、siki學(xué)院YouTube、itch.io第五節(jié)Unity學(xué)習(xí)實踐1.UnityHub項目教程案例。2.了解Unity引擎基本操作。3.Unity項目學(xué)習(xí)實踐演示。4.Unity教程學(xué)習(xí)步驟操作。1.5.1UnityHub項目學(xué)習(xí)選擇合適難度和預(yù)計時間的項目開始學(xué)習(xí)請完成UnityHub中初級項目教學(xué)2.下載LEGOMicrogame等項目3.下載FPSMicrogame等項目4.下載KartingMicrogame等項目5.選擇一個教學(xué)項目打開并查看教程1.打開UnityHub選擇學(xué)習(xí)欄FollowDownSteps操作步驟1.5.2UnityHub項目實踐2.Unity拓展教學(xué)3.Unity交流討論1.Unity項目介紹UnityLearn教程2.Unity步驟互動式教學(xué)3.Unity動手實操零基礎(chǔ)1.Unity項目指導(dǎo)性教學(xué)Unity引擎工程項目1.5.3UnityHub學(xué)習(xí)總結(jié)《KartingMicrogame》2.工具欄-位移旋轉(zhuǎn)縮放游戲?qū)ο?.Hierarchy面板創(chuàng)建和管理對象4.Scene面板編輯控制場景對象1.工具欄-運行播放與暫停游戲Summarize學(xué)習(xí)總結(jié)6.Project面板創(chuàng)建文件夾管理游戲資源7.Unity游戲成品調(diào)試與發(fā)布5.Inspector面板調(diào)節(jié)對象組件屬性參數(shù)發(fā)布請選擇打包PC端游戲文件1.5.4UnityHub教程學(xué)習(xí)瀏覽更多資源2.內(nèi)容欄上方選擇教程選項3.根據(jù)難度與時間安排瀏覽4.選擇WorkingwithScripts5.項目難度初學(xué)者預(yù)計5分鐘1.打開UnityHub選擇學(xué)習(xí)欄FollowDownSteps操作步驟請完成UnityHub中基礎(chǔ)教程學(xué)習(xí)1.5.5UnityHub教程學(xué)習(xí)2.Project面板創(chuàng)建C#腳本文件3.VS編輯器編輯代碼并保存4.Unity引擎對象掛載腳本5.運行游戲1.視頻文檔導(dǎo)航詳細(xì)教程Summarize學(xué)習(xí)總結(jié)6.查看Console面板輸出內(nèi)容第六節(jié)Unity案例制作《RollABall》1.綜合實踐項目-《RollABall》。2.體驗完整游戲開發(fā)制作流程。3.游戲項目拓展性暢想設(shè)計開發(fā)。1.6.1第一個Unity項目《RollABall》利用谷歌插件實現(xiàn)頁面翻譯2.選擇Roll-a-Ball案例教學(xué)3.確定項目難度和預(yù)計時間4.瀏覽項目摘要與目標(biāo)內(nèi)容5.如果可以使用原英語頁面1.打開UnityHub中學(xué)習(xí)項目FollowDownSteps操作步驟6.閱讀材料的txt介紹文件UnityAssetStore中下載完整工程文件1.6.2《RollABall》-項目準(zhǔn)備游戲項目制作前需要進(jìn)行必要準(zhǔn)備工作FollowDownSteps項目介紹名稱:《RollABall》玩法:玩家操控一個小球在搭建好的場景中滾動,來觸碰平臺上旋轉(zhuǎn)的正方體獲得積分,當(dāng)達(dá)到指定積分時獲得勝利。意義:鞏固理論知識并實現(xiàn)第一次使用Unity引擎制作開發(fā)一款游戲并發(fā)布。FollowDownSteps美術(shù)策劃場景搭建:藍(lán)色地面、綠色圍墻、黃色立方體、紅色小球。界面搭建:積分文本框、獲勝文本框。燈光布置:太陽光。音效:背景音效。特效:無。FollowDownSteps程序策劃1.小球位移2.立方體旋轉(zhuǎn)3.碰撞檢測4.積分累加5.對象銷毀6.重置游戲FollowDownSteps預(yù)設(shè)草圖FollowDownSteps框架流程圖依據(jù)游戲開發(fā)文檔和設(shè)計要求進(jìn)行制作減少1.6.3《RollABall》-新建項目盡量避免使用中文名稱與路徑2.修改項目名稱RollABall3.修改項目位置4.點擊創(chuàng)建Unity項目5.等待項目加載1.UnityHub選擇【新建】項目FollowDownSteps操作步驟1.6.4《RollABall》-場景搭建注意先創(chuàng)建單個Wall預(yù)制體后再復(fù)制多個搭建2.創(chuàng)建“Gamearea”、“Ground”、“Wall”對象3.分別設(shè)置其Transform組件參數(shù)如圖4.創(chuàng)建Material文件夾并參加材質(zhì)球1.Hierarchy面板新建“Sphere”、“Cube”FollowDownSteps操作步驟5.分別拖拽材質(zhì)球賦予游戲?qū)ο?.創(chuàng)建Prefab、GameArea文件夾7.將Hierarchy面板對象拓展至Project面板轉(zhuǎn)變?yōu)镻refab預(yù)制體對象注意攝像機(jī)對象與Scene面板視線位置1.6.5《RollABall》-美術(shù)優(yōu)化將導(dǎo)入的mp3歌曲文件拖拽之AudioSource組件的AudioClip處2.調(diào)節(jié)DirectionalLight對象的Light組件參數(shù)3.為MainCamera對象添加AudioSource組件4.Project面板導(dǎo)入PS繪制的圖片一張5.Project面板右鍵創(chuàng)建Material材質(zhì)球1.調(diào)節(jié)MainCamera對象的Camera組件參數(shù)FollowDownSteps操作步驟組件參數(shù)自由調(diào)節(jié)至合適即可7.完善場景布置如右圖所示8.Project面板創(chuàng)建Script文件夾6.將導(dǎo)入圖片拖拽至材質(zhì)球Albedo處1.6.6《RollABall》-旋轉(zhuǎn)功能理解預(yù)制體修改覆蓋效果實現(xiàn)為一個Cube添加組件腳本修改其它預(yù)制體2.編輯CubeRotate如右圖所示3.為Cube預(yù)制體添加CubeRotate腳本4.調(diào)節(jié)CubeRotate腳本Speed參數(shù)5.選擇Overrides-ApplyAll應(yīng)用到預(yù)制體1.Script文件夾中創(chuàng)建CubeRotate腳本FollowDownSteps操作步驟腳本中綠色內(nèi)容為注釋內(nèi)容閱讀理解即可,5行代碼實現(xiàn)Cube旋轉(zhuǎn)5.運行游戲查看效果1.6.7《RollABall》-位移功能菜單欄Edit-ProjectSettings-InputManger查看Horizontal與Vertical輸入事件2.創(chuàng)建SphereMove腳本并編輯3.為Sphere預(yù)制體添加SphereMove腳本4.運行游戲查看效果1.為Sphere對象添加Rigidbody剛體組件FollowDownSteps操作步驟腳本中綠色內(nèi)容為注釋內(nèi)容閱讀理解即可,6行代碼實現(xiàn)Sphere位移1.6.8《RollABall》-界面搭建理解設(shè)計模式:單例模式2.調(diào)節(jié)2個Text文本框位置組件參數(shù)3.創(chuàng)建UIManager腳本添加到Canvas對象4.編輯UIManager腳本如右圖所示1.創(chuàng)建2個Text文本框命名為CountText、InfoTextFollowDownSteps操作步驟通過UIManager腳本管理所有UI對象,可以合并腳本內(nèi)容。4.將2個Text對象拖拽至Canvas對象Inspector面板的UIManager組件欄中1.6.9《RollABall》-碰撞檢測理解碰撞、觸發(fā)檢測機(jī)制函數(shù)2.創(chuàng)建SphereCollision腳本并拖拽到Cube對象Inspector面板3.編輯SphereCollision腳本如右圖4.選擇Overrides-ApplyAll應(yīng)用到所有Cube1.為Cube對象預(yù)制體添加【Tag】標(biāo)簽CubeFollowDownSteps操作步驟了解BoxCollider、SphereCollider碰撞組件5.運行游戲查看效果1.6.10《RollABall》-相機(jī)跟隨2.創(chuàng)建CameraFollow腳本3.為MainCamera添加CameraFollow腳本4.運行游戲查看效果1.為Sphere添加Player的Tag標(biāo)簽FollowDownSteps操作步驟4.菜單欄File-BuildSetting-Build打包游戲《RollABall》項目完成!打包并運行游戲!請嘗試拓展創(chuàng)造更多游戲玩法!魔改游戲-小球跑酷/雙人對戰(zhàn)等1.6.11《RollABall》-項目總結(jié)1.Unity引擎基礎(chǔ)使用(1)創(chuàng)建項目工程文件(2)菜單欄、工具欄、Scene,Hierarchy、Inspector、Project窗口面板的使用。(3)BuildSetting游戲打包游戲并運行程序文件。(4)……2.美術(shù)場景搭建(1)Unity引擎內(nèi)置游戲?qū)ο髣?chuàng)建(2)利用Unity工具欄中的位移、旋轉(zhuǎn)、縮放工具進(jìn)行場景搭建(3)材質(zhì)創(chuàng)建并賦予給游戲?qū)ο螅?)UI界面制作(5)燈光攝像機(jī)創(chuàng)建調(diào)整布局3.代碼程序功能實現(xiàn)(1)使用C#語言定義int,float,Vector3向量等變量并賦值。(2)使用Transform組件中的Rotate()方法實現(xiàn)對象旋轉(zhuǎn)。(3)Rigidbody組件的定義與通過GetComponent組件獲得并賦值。(4)Input.GetAxis()以及Input.GetKeyDown()獲得用戶輸入事件。(5)Debug中的Log,Warning,Error方法輸出調(diào)試信息的使用。(6)Rigidbody的相關(guān)屬性作用以及AddForce()方法。(7)OnTriggerEnter()方法實現(xiàn)觸發(fā)區(qū)域檢測。(8)CompareTag比較字符串與標(biāo)簽是否相同。(9)通過Find或FindGameObjectWithTag尋找游戲?qū)ο?。請補(bǔ)全你在本次項目中學(xué)到的知識內(nèi)容1.7.1課后拓展與下章預(yù)習(xí)/2.模仿制作并重新設(shè)計魔改《RollABall》3.閱讀了解Unity中國官網(wǎng)的中文文檔1.注冊安裝學(xué)習(xí)Unity引擎基礎(chǔ)知識Addyoursubtitle課后拓展4.重點:在Unity中操作、圖形、腳本課后拓展部分請務(wù)必完成下章預(yù)習(xí)部分瀏覽閱讀大致標(biāo)題內(nèi)容即可Addyoursubtitle下章預(yù)習(xí)第二章Unity深入學(xué)習(xí)與掌握CONTENTS2.Unity界面編輯3.Unity代碼核心4.Unity組件詳解1.Unity官方文檔5.Unity渲染流程6.Unity插件介紹第一節(jié)Unity官方文檔1.Unity官方文檔頁面介紹。2.Unity學(xué)習(xí)手冊使用指南。3.Unity腳本-API查找調(diào)用。1.3.1中文文檔頁面介紹/2.頂部右側(cè)搜索欄快速檢索內(nèi)容3.頂部左側(cè)下方進(jìn)行文檔版本切換4.頂部右側(cè)下方進(jìn)行文檔語言切換5.展開左側(cè)保護(hù)全部Unity引擎內(nèi)容1.頂部右側(cè)手冊與腳本API頁面切換Addyoursubtitle重點與特點6.中間為正文部分詳細(xì)介紹對象信息嘗試打開Unity官網(wǎng)英文文檔進(jìn)行閱讀學(xué)習(xí)選擇對應(yīng)版本的文檔手冊與語言1.3.2Unity手冊頁面介紹/2.手冊內(nèi)容詳細(xì)權(quán)威3.模塊化教學(xué)方式4.其它信息源提供全方位教學(xué)1.零基礎(chǔ)教學(xué)內(nèi)容Addyoursubtitle重點與特點盡可能嘗試全部瀏覽一遍配合網(wǎng)頁插件筆記軟件進(jìn)行編輯標(biāo)記1.3.3Unity學(xué)習(xí)手冊使用-引擎使用1.Unity引擎資源安裝2.Unity界面窗口介紹3.Unity創(chuàng)建游戲玩法4.Unity編輯器功能1.3.4Unity學(xué)習(xí)手冊使用-腳本程序1.腳本變量函數(shù)3.生命周期流程2.時間協(xié)程事件1.Console腳本工具3.C#作業(yè)系統(tǒng)2.事件系統(tǒng)1.3.5Unity腳本API介紹2.UnityEngine包3.UnityEditor包4.Unity常用類集合5.Unity常用類集合1.API:應(yīng)用程序編程接口Addyoursubtitle重點與特點Unity腳本API1.3.6Unity腳本API使用-UnityEngine.UI包2.清楚常用組件類所需導(dǎo)入包名3.掌握所用類描述與變量函數(shù)4.知道該類的父子繼承關(guān)系1.了解不同UnityAPI模塊包內(nèi)容Addyoursubtitle重點與特點1.3.6Unity腳本API實踐-OnPointerClick方法2.對該類內(nèi)的函數(shù)調(diào)用測試3.請嘗試在Unity引擎中創(chuàng)建UI-Button1.對該類內(nèi)的變量詳細(xì)了解Addyoursubtitle重點與特點4.請嘗試在VisualStudio調(diào)用變量函數(shù)1.3.7Unity官方文檔總結(jié)1.Unity官方文檔手冊(1)通過Unity官方文檔對Unity引擎有個初步且全面的認(rèn)識。(2)在制作開發(fā)過程前學(xué)習(xí)閱讀手冊相關(guān)內(nèi)容。(3)了解Unity引擎專業(yè)名詞術(shù)語等內(nèi)容。(4)……請補(bǔ)全你在本次項目中學(xué)到的知識內(nèi)容1.Unity官方腳本API(1)無需通讀,了解常用Unity開發(fā)腳本API內(nèi)容。(2)對常用Unity腳本API有熟悉認(rèn)識掌握并使用。(3)能夠理解Unity腳本API不同類之間的繼承關(guān)系。(4)……第二節(jié)Unity界面編輯1.Unity拓展編輯器介紹。2.Unity菜單欄命令添加。3.Unity組件欄命令拓展。4.Unity創(chuàng)建窗口面板欄。1.1.2Unity拓展編輯器介紹2.擴(kuò)展編輯器3.啟動時運行Editor腳本代碼4.通過腳本修改源資源5.AssetDatabase1.支持自定義菜單項和Editor功能Addyoursubtitle重點與特點6.構(gòu)建播放器管線1.3.1Unity菜單欄命令添加2.在Editor中新建MyMenuCommand腳本3.編輯MyMenuCommand腳本如右圖4.回到Unity引擎中查看菜單欄命令5.點擊UnityProject欄中的AddMenu命令1.在Project面板創(chuàng)建文件夾EditorAddyoursubtitle重點與特點6.查看Console面板輸出的信息在Unity中文文檔中搜索MenuItem進(jìn)行學(xué)習(xí)-命令橫線分類、其它面板右鍵命令、約束條件命令等1.3.1Unity組件欄命令拓展2.新建MyComponentCommand腳本3.編輯MyComponentCommand腳本如右圖4.回到Unity引擎中右鍵查看Transform組件5.點擊彈出命令欄中MyUpdateTransform1.進(jìn)入Editor文件夾Addyoursubtitle重點與特點6.查看選中對象在Scene面板中的位置變化在Unity中文文檔中搜索MenuCommand進(jìn)行了解學(xué)習(xí)獲取組件相關(guān)信息的方式1.3.1Unity創(chuàng)建窗口面板欄腳本API中搜索ScriptableWizard、Section選擇;EditorWindow、OnGUI繪制、Undo可撤銷命令窗口面板第三節(jié)Unity組件詳解1.Unity組件合集學(xué)習(xí)介紹。2.Unity組件功能參數(shù)了解。3.Unity組件模塊方法調(diào)用。4.Unity組件代碼核心閱讀。2.3.1Unity組件合集學(xué)習(xí)介紹Component常用組件2.學(xué)會添加并調(diào)節(jié)組件相關(guān)參數(shù)1.了解Unity內(nèi)置常用的功能組件Addyoursubtitle重點與特點不熟悉的組件可以點擊組件名稱右側(cè)的小問號學(xué)習(xí)4.創(chuàng)建空腳本掛載類比與組件對象的關(guān)系3.嘗試為空對象賦予合適組件變成特定對象腳本==組件組件種類定義對象類別:空對象有Camera組件所以是攝像機(jī)空對象有Light組件所以是光源組件參數(shù)定義對象特性:Light組件Type類型為Point是點光源Light組件Type類型為Spot是聚光燈組件是系統(tǒng)完整性的腳本內(nèi)容Addyoursubtitle重點與特點2.3.2Unity組件介紹-Rigidbody剛體組件Rigidbody剛體組件2.Rigidbody剛體屬性功能1.Rigidbody剛體概述介紹Addyoursubtitle重點與特點通過搜索欄可以快速檢索剛體內(nèi)容2.3.3Unity腳本API使用-Rigidbody剛體組件2.屬于UnityEngine包以及父類3.瀏覽剛體變量、公共函數(shù)等內(nèi)容4.選擇常用的變量函數(shù)標(biāo)記學(xué)習(xí)5.查看其繼承的成員內(nèi)容1.搜索欄搜索RigidbodyAddyoursubtitle重點與特點2.3.3Unity腳本API實踐-AddForce方法2.選擇AddForce公共函數(shù)3.學(xué)習(xí)參數(shù)描述以及案例1.瀏覽Rigidbody方法函數(shù)Addyoursubtitle重點與特點4.嘗試在Unity引擎中實踐2.3.4Unity組件代碼核心閱讀-Text組件2.選擇AddForce公共函數(shù)3.學(xué)習(xí)參數(shù)描述以及案例1.瀏覽Rigidbody方法函數(shù)Addyoursubtitle重點與特點4.嘗試在Unity引擎中實踐2.3.4Unity組件代碼核心閱讀-Rigidbody組件2.RequireComponent強(qiáng)制需要某個組件搭配3.NativeHeader設(shè)置在AddComponent的位置1.在腳本中對Rigidbody右鍵轉(zhuǎn)到其定義聲明Addyoursubtitle重點與特點4.對比在Inspector面板中參數(shù)與腳本公開屬性2.3.4Unity組件代碼核心閱讀-Rigidbody組件1.int類型數(shù)值框->publicfloatmass;2.bool類型勾選框->publicbooluseGravity;3.vector類型向量框->publicVector3useGravity;4.enum類型枚舉框->publicenum‘自定義枚舉類’;5.請嘗試閱讀其它Color組件的屬性內(nèi)容類型1.熟悉組件包含的常用方法接口功能;2.對比重載函數(shù)傳入不同的參數(shù)類型;3.確認(rèn)組件函數(shù)是否存在反回參數(shù)類型;1.了解組件類中其它私有屬性方法函數(shù);2.認(rèn)識各種常用代碼腳本標(biāo)簽的作用;3.瀏覽其他高級拓展組件事件方法內(nèi)容;2.3.4Unity組件代碼核心-綜合應(yīng)用2.RequireComponent強(qiáng)制需要某個組件搭配3.NativeHeader設(shè)置在AddComponent的位置1.在腳本中對Rigidbody右鍵轉(zhuǎn)到其定義聲明Addyoursubtitle重點與特點4.對比在Inspector面板中參數(shù)與腳本公開屬性第四節(jié)Unity代碼核心1.Unity腳本生命周期流程。2.Unity腳本-API基礎(chǔ)關(guān)系。3.Unity常用父類屬性方法。2.4.1Unity腳本生命周期流程2.清楚Unity事件函數(shù)的執(zhí)行順序3.在Unity引擎中運行測試周期函數(shù)1.閱讀腳本API文檔中的腳本概述Addyoursubtitle重點與特點2.4.2Unity常用父類屬性方法2.理解重點常用類之間的繼承關(guān)系3.依據(jù)腳本API類的學(xué)習(xí)程度進(jìn)行合理學(xué)習(xí)4.閱讀每個類的腳本API手冊內(nèi)容5.瀏覽VisualStudio中聲明定義程序集1.對Unity中文文檔中腳本API常用類歸類Addyoursubtitle重點與特點6.嘗試在Unity引擎中實踐調(diào)用類屬性方法嘗試完善上圖-添加重點類中常用的屬性參數(shù)和方法2.4.3Unity常用類-Vector3屬性方法Component類選中Vector3右鍵轉(zhuǎn)到其聲明定義進(jìn)行查看類內(nèi)容2.4.3Unity常用父類屬性方法MonoBehaviour類Behaviour類Component類嘗試閱讀實踐調(diào)用MonoBehaviour類內(nèi)容以及父類2.4.3Unity常用父類屬性方法Component類Object類嘗試閱讀實踐調(diào)用MonoBehaviour類內(nèi)容以及父類2.4.3Unity常用父類屬性方法Component類Object類嘗試閱讀實踐調(diào)用MonoBehaviour類內(nèi)容以及父類第五節(jié)Unity渲染流程1.Unity渲染管線流程介紹。2.Unity表面著色器學(xué)習(xí)。3.Unity片元著色器學(xué)習(xí)。4.UnityShaderLab語法。2.5.1.Unity渲染管線流程介紹Rendering:渲染是根據(jù)三維模型數(shù)據(jù),按照一定的渲染流程計算屏幕窗口中每個像素點的顏色,并實時繪制出來的過程。ComputerGraphics(CG):計算機(jī)圖形學(xué)是一門研究如何利用計算機(jī)進(jìn)行圖形的計算、處理和顯示的學(xué)科我們需要加載一個模型,首先是CPU加載模型的數(shù)據(jù),加載到內(nèi)存中,然后將加載到內(nèi)容中的數(shù)據(jù)交給GPU進(jìn)行渲染。2.5.1.Unity渲染管線流程介紹GraphicsPipelineModelingAnimationRendering像素繪制逐面片繪制如果我們需要加載一個模型,首先是CPU加載模型的數(shù)據(jù),加載到內(nèi)存中,然后將加載到內(nèi)容中的數(shù)據(jù)交給GPU進(jìn)行渲染。2.5.1.Unity渲染管線流程介紹/2.頂部右側(cè)搜索欄快速檢索內(nèi)容3.頂部左側(cè)下方進(jìn)行文檔版本切換4.頂部右側(cè)下方進(jìn)行文檔語言切換5.展開左側(cè)保護(hù)全部Unity引擎內(nèi)容1.頂部右側(cè)手冊與腳本API頁面切換Addyoursubtitle重點與特點6.中間為正文部分詳細(xì)介紹對象信息嘗試打開Unity官網(wǎng)英文文檔進(jìn)行閱讀學(xué)習(xí)選擇對應(yīng)版本的文檔手冊與語言第六節(jié)Unity插件介紹1.Unity美術(shù)Shader插件。2.Unity程序編輯器插件。3.Unity其它拓展性插件。2.6.1Unity美術(shù)Shader插件ShaderGraphRealTimePaintingProBuilderPostProcessCinemachineDOTween2.6.2Unity程序編輯器插件Bolt為Unity帶來了完整的視覺腳本無需編寫任何代碼即可創(chuàng)建游戲機(jī)制。PhotonPUN+是一款制作多人聯(lián)機(jī)游戲的插件。A*PathfindingProject是一個功能強(qiáng)大并且易于使用的Unity尋路系統(tǒng)。第三章Unity界面設(shè)計交互引擎CONTENTS3.2IMGUI“即時模式”界面系統(tǒng)3.3UGUI圖形用戶界面系統(tǒng)3.5界面設(shè)計交互案例-《RollABall》3.1圖形用戶界面交互設(shè)計3.6界面設(shè)計總結(jié)與拓展學(xué)習(xí)3.4圖形用戶界面交互系統(tǒng)圖形用戶界面交互設(shè)計1.界面交互設(shè)計概述2.界面交互設(shè)計原則3.界面交互設(shè)計賞析第一節(jié)3.1.1界面交互設(shè)計概述 UI即用戶界面(UserInterface)的簡稱,可分為網(wǎng)頁UI設(shè)計,手機(jī)應(yīng)用UI設(shè)計,游戲UI設(shè)計。其他游戲UI設(shè)計還需要考慮到移動端或PC端等呈現(xiàn)類型。 UI設(shè)計主要指界面的樣式,美觀程度,好的UI設(shè)計不僅是讓游戲更加吸引玩家,還要讓游戲的操作變得輕松自由,充分符合游戲風(fēng)格和內(nèi)容定位。 界面設(shè)計(Interfacedesign):不同的搭配會系統(tǒng)地引導(dǎo)玩家的游戲體驗。推動玩家的想象與再創(chuàng)造力。界面設(shè)計語言要能夠代表游戲玩家說話而不是設(shè)計者。所謂代表,就是把大部分玩家的想法實體化表現(xiàn)出來,主要通過造型,色彩,布局等方面來表達(dá),不同的變化會產(chǎn)生不同的心理感受。 圖形用戶界面設(shè)計不僅是有好的圖標(biāo)、風(fēng)格、布局,還需要考慮到至關(guān)重要的界面交互。 界面交互(Interfaceinteraction):界面美觀的整體設(shè)計,而使用上對軟件的人機(jī)交互、操作邏輯也是同樣重要的。快捷方便的操作,不僅會提高用戶的工作效率,還使得界面在功能實現(xiàn)上變得簡潔而高效。3.1.2界面交互設(shè)計原則AddyoursubtitleUI圖標(biāo)設(shè)計Addyoursubtitle界面布局Addyoursubtitle界面交互1.統(tǒng)一性原則:UI風(fēng)格、色彩、紋理、結(jié)構(gòu)等內(nèi)容需要契合游戲主題。2.一致性原則:窗體大小、形狀、色彩的一致性,文本框、命令按鈕等界面元素外觀的一致性。3.視覺明確性:圖標(biāo)和按鈕的圖形要易于識別。圖標(biāo)的造型語義要一目了然。1.易于使用性:界面設(shè)計盡可能簡潔,突出主要信息,便于玩家使用。2.統(tǒng)一性原則:盡量保證界面布局統(tǒng)一,色調(diào)統(tǒng)一,使用同一種風(fēng)格貫穿整個游戲界面設(shè)計。3.布局合理:符合玩家習(xí)慣性認(rèn)知的概念模型、操作適應(yīng)性,界面設(shè)計在操作上需要滿足大部分玩家的認(rèn)知范圍,確定受眾人群布局審美習(xí)慣。1.易用性原則:提供常用操作的快捷方式,根據(jù)常用操作的使用頻度大小,減少操作次數(shù)。2.容錯原則:界面要有容錯能力。3.實時的反饋:
界面的視覺與操作上必須有及時的反饋,4.自由度:游戲玩家在與游戲進(jìn)行互動時的方式具有多重性3.1.3界面交互設(shè)計賞析《紀(jì)念碑谷》主頁面關(guān)卡界面設(shè)置界面游戲界面結(jié)束界面截圖界面《紀(jì)念碑谷》界面設(shè)計簡潔明快、布局合理、易于使用、美觀大方,充分考慮游戲的美術(shù)風(fēng)格及故事背景實現(xiàn)了用戶界面要和游戲內(nèi)容相統(tǒng)一。IMGUI“即時模式”界面系統(tǒng)1.IMGUI系統(tǒng)概述2.IMGUI常用控件解析3.IMGUI案例實戰(zhàn)4.IMGUI高級使用第二節(jié)3.2.1IMGUI界面概述Unity中的圖形用戶界面(IMGUI)編程,Unity有一個非常強(qiáng)大的GUI腳本API,它允許你使用腳本快速創(chuàng)建簡單的菜單和GUI。IMGUI系統(tǒng)通常不適合用于玩家可能使用和交互的普通游戲內(nèi)用戶界面。即時模式”指的是創(chuàng)建和繪制IMGUI的方式。要創(chuàng)建IMGUI元素,必須編寫進(jìn)入名為OnGUI的特殊函數(shù)的代碼。顯示界面的代碼將在每幀執(zhí)行,并繪制到屏幕上。除了OnGUI代碼附加到的對象,或者層級視圖中與繪制的可視元素相關(guān)的其他類型對象之外,沒有其他持久性游戲?qū)ο?。IMGUI允許使用代碼創(chuàng)建各種功能GUI。通過該系統(tǒng),無需創(chuàng)建游戲?qū)ο?,手動定位這些對象,然后編寫一個處理對象功能的腳本,而只需幾行代碼即可立即執(zhí)行所有操作。該代碼將生成通過單個函數(shù)調(diào)用進(jìn)行繪制和處理的
GUI控件。IMGUI“即時模式”GUI系統(tǒng),不同于Unity基于游戲?qū)ο蟮闹鱑I(UGUI)系統(tǒng),是一個代碼驅(qū)動的GUI獨立功能系統(tǒng)。IMGUI主要用作程序員的工具,創(chuàng)建游戲內(nèi)調(diào)試顯示和工具,為腳本組件創(chuàng)建自定義檢視面板,創(chuàng)建新的編輯器窗口和工具以擴(kuò)展Unity本身。IMGUI“即時模式”GUI系統(tǒng),不同于Unity基于游戲?qū)ο蟮闹鱑I(UGUI)系統(tǒng),是一個代碼驅(qū)動的GUI獨立功能系統(tǒng)。IMGUI主要用作程序員的工具,創(chuàng)建游戲內(nèi)調(diào)試顯示和工具,為腳本組件創(chuàng)建自定義檢視面板,創(chuàng)建新的編輯器窗口和工具以擴(kuò)展Unity本身。3.2.2GUI常用控件解析-常用GUI函數(shù)及屬性更多GUI控件介紹閱讀Unity中文手冊UI中即時模式GUI中的控件部分LabelLabel
為非交互式控件。此控件僅用于顯示目的。不能單擊,也不能以其他方式進(jìn)行移動。此控件最適合于純粹顯示信息之用。ButtonButton
是典型的交互式按鈕。點擊按鈕時,無論鼠標(biāo)按下多久,都只會響應(yīng)一次。松開鼠標(biāo)按鍵后會立即響應(yīng)。TextFieldTextField
控件是一個包含文本字符串的交互式可編輯單行字段。ToggleToggle
控件創(chuàng)建具有持久開/關(guān)狀態(tài)的復(fù)選框。用戶可通過點擊該復(fù)選框來更改狀態(tài)。ToolbarToolbar
控件本質(zhì)上是一行
Button。在Toolbar上一次只能有一個Button處于激活狀態(tài),并且此Button將一直保持激活狀態(tài)直到點擊其他Button。此行為模擬典型Toolbar的行為?!?.2.2GUI常用控件解析-GUI函數(shù)具體參數(shù)方法GUI類中有Box、Button、Label等函數(shù)可以使用,而這些GUI界面函數(shù)都有多個重載方法以及參數(shù)可以設(shè)置調(diào)用,下面我們以Button為例閱讀其腳本API內(nèi)容進(jìn)行介紹: GUI.Button靜重載態(tài)函數(shù)可以傳入對象位置于文本內(nèi)容或圖片等參數(shù)可供選擇。GUI.Button可選設(shè)置的參數(shù)有:position屏幕上用于按鈕的矩形位置text按鈕上顯示的文本image按鈕上顯示的Texturecontent按鈕的文本、圖像和工具提示style要使用的樣式publicstaticboolButton(Rectposition,stringtext);publicstaticboolButton(Rectposition,Textureimage);3.2.2GUI常用控件解析-GUI常用靜態(tài)變量函數(shù)使用案例2.Hierarchy面板新建“CreateEmpty”3.掛載“ExampleClass01”腳本。4.運行點擊Button查看效果。1.新建C#腳本“OnGUI_Test”并添加一下代碼Addyoursubtitle重點與特點3.2.3GUI綜合案例2.新建MyComponentCommand腳本3.編輯MyComponentCommand腳本如右圖4.回到Unity引擎中右鍵查看Transform組件5.點擊彈出命令欄中MyUpdateTransform1.進(jìn)入Editor文件夾Addyoursubtitle重點與特點6.查看選中對象在Scene面板中的位置變化UGUI圖形用戶界面系統(tǒng)1.UGUI界面系統(tǒng)概述2.UGUI常用控件解析第三節(jié)3.2.1UGUI界面系統(tǒng)概述Unity引擎中的UGUI系統(tǒng)可以方便開發(fā)者快速直觀地創(chuàng)建用戶界面。UGUI系統(tǒng)中預(yù)定義了許多常用的組件例如Canvas、Text、Button等,可以使得設(shè)計師在不使用任何代碼的前提下,就可以簡單快速的在游戲中建立其一套UI界面。AddyoursubtitleUGUI概述UGUI系統(tǒng)包含了Canvas、Text、Image、Button、Toggle、Slider、Scrollbar、InputField、Panel、ScrollView組件。3.3.2UGUI常用控件解析-畫布布局組件在Unity中文文檔中搜索Canvas進(jìn)行了解學(xué)習(xí)獲取組件相關(guān)信息的方式Canvas畫布組件Canvas組件:其它UI元素都必須是此類畫布的子項繪制元素的順序是依據(jù)Hierarchy中UI元素順序進(jìn)行繪制三種渲染模式:ScreenSpace–OverlayScreenSpace–CameraWorldSpaceCanvasScaler組件CanvasScaler組件:用于制畫布中UI元素的整體縮放和像素密度。三種縮放模式:ConstantPixelSizeScaleWithScreenSizeConstantPhysicalSizeRectTransform組件矩形變換(RectTransform):用于調(diào)整UI元素對應(yīng)組件進(jìn)行布局。常用屬性:Pos(X,Y,Z)Width/HeightScale按Ctrl,Shift鍵進(jìn)行相對布局3.3.2UGUI常用控件解析-可視化組件Text組件Image組件RawImage組件Text組件常用屬性:Text、Font、FontStyle、FontSize、Alignment、ColorImage組件常用屬性:SourceImage、ColorRawImage組件常用屬性:Texture、Color3.3.2UGUI常用控件解析-常用交互式組件Button組件Toggle組件Slider組件圖形用戶界面交互系統(tǒng)1.主機(jī)端用戶界面交互設(shè)計2.移動端用戶界面交互設(shè)計3.EventTrigger交互組件4.UGUI支持的事件第四節(jié)3.2.1主機(jī)端用戶界面交互設(shè)計1.獲取鼠標(biāo)當(dāng)前信息:Input.mousePosition獲取鼠標(biāo)當(dāng)前的像素坐標(biāo)位置Input.mouseScrollDelta獲取當(dāng)前的鼠標(biāo)滾動增量2.鼠標(biāo)按鍵檢測有兩種方式Input.GetMouseButtonXXX()根據(jù)函數(shù)類型與傳入?yún)?shù)檢測輸入事件Input.GetKey(“XXX”)根據(jù)虛擬軸定義鼠標(biāo)輸入事件進(jìn)行檢測2.具體鼠標(biāo)輸入案例3.2.1移動端用戶界面交互設(shè)計1.通過Input.Touch獲取移動端輸入交互數(shù)據(jù)fingerId觸摸的唯一索引position觸摸的屏幕位置。deltaPosition自上一幀以來的屏幕位置變化。deltaTime自上次狀態(tài)變化以來經(jīng)過的時間phase描述“階段”或觸摸狀態(tài)。確定觸摸剛開始、移動還是剛抬起手指。BeganBeganMoved手指在屏幕上進(jìn)行了移動。Stationary手指正在觸摸屏幕但自上一幀以來尚未移動。Ended從屏幕上抬起了手指。這是觸摸的最后一個階段。Canceled這是觸摸的最后階段,執(zhí)行超過五次觸摸后系統(tǒng)取消對觸摸的跟蹤。2.具體移動端用戶界面交互案例:獲取手指點擊屏幕事件,并判斷手指是否處于持續(xù)按住屏幕移動狀態(tài)。3.2.1EventTrigger交互組件事件系統(tǒng)(EventSystem)支持許多事件,并可在用戶編寫的自定義輸入模塊中進(jìn)一步自定義它們。在添加了EventSystem對象即場景中有EventSystem與StandaloneInputModule組件后,可以為其它UI元素可以添加EventTrigger交互組件定義交互行為觸發(fā)事件。PointerClick在同一對象上按下再松開指針時調(diào)用PointerDown在對象上按下指針時調(diào)用PointerUp松開指針時調(diào)用Drag發(fā)生拖動時在拖動對象上調(diào)用2.為Image對象添加EventTrigger組件,并添加PointerClick事件3.編寫測試腳本Text_Trigger如右。1.Hierarchy面板新建ImageUI元素,默認(rèn)添加Canvas與EventSystem對象FollowDownSteps操作步驟usingUnityEngine;publicclassTestC:MonoBehaviour{publicvoidATest(){Debug.Log("Image被鼠標(biāo)點擊!");}}4.將Text_Triggerj腳本拖拽至EventTrigger組件的PointerClick處,并調(diào)用AText方法。5.運行點擊Image圖片,可以看到Cosole面板輸出“Image被鼠標(biāo)點擊!“3.2.1UGUI支持的事件事件系統(tǒng)支持許多事件,并可在用戶編寫的自定義輸入模塊中進(jìn)一步自定義它們。獨立輸入模塊和觸摸輸入模塊支持的事件由接口提供,通過實現(xiàn)該接口即可在MonoBehaviour上實現(xiàn)這些事件。如果配置了有效的事件系統(tǒng),則會在正確的時間調(diào)用事件。1.針對UGUI系統(tǒng)中的所有UI組件元素都可以添加交互事件接口,以實現(xiàn)UI元素界面的交互檢測功能:2.創(chuàng)建Text_Listener腳本并編輯如左。3.編寫測試腳本Text_Trigger如右。1.Hierarchy面板新建Image對象。FollowDownSteps操作步驟4.將Text_Listener腳本添加到Image對象上5.運行點擊測試Image對象,查看Console面板輸出OnPointerClick。usingUnityEngine;usingUnityEngine.EventSystems;publicclassText_Listener:MonoBehaviour,IPointerClickHandler{publicvoidOnPointerClick(PointerEventDataeventData){Debug.Log("OnPointerClick");}}3.2.1UGUI支持的事件-可交互組件監(jiān)聽事件1.針對UGUI系統(tǒng)中的可交互組件可以直接添加監(jiān)聽事件后就無需在Unity引擎編輯器中拖拽形式綁定事件了2.以Button組件腳本添加監(jiān)聽事件為例2.創(chuàng)建Text_Listener腳本并編輯如左。3.將Text_Listener腳本添加到Button對象組件中。1.Hierarchy面板新建Button對象。FollowDownSteps操作步驟4.運行點擊Button測試,查看Console面板輸出ButtonClicked。usingUnityEngine;usingUnityEngine.UI;publicclassTestC:MonoBehaviour{void(){Buttonbtn=this.GetComponent<Button>();btn.onClick.AddListener(OnClick);}privatevoidOnClick(){Debug.Log("ButtonClicked");}}第五節(jié)Unity案例制作《RollABall》1.綜合實踐項目-《RollABall》。2.體驗完整游戲開發(fā)制作流程。3.游戲項目拓展性暢想設(shè)計開發(fā)。1.6.2《RollABall》-界面交互設(shè)計策劃游戲項目制作前需要進(jìn)行必要準(zhǔn)備工作FollowDownSteps項目介紹界面設(shè)計:主頁面、運行界面、設(shè)置頁面布局設(shè)計FollowDownSteps美術(shù)策劃1.主界面搭建Image設(shè)置標(biāo)題圖片Image切換填充模式Button更改按鈕樣式InputFiled文本框樣式2.運行界面搭建Panel頁面布局RawImage播放視頻3.設(shè)置界面搭建Toggle組件控制Slider組件調(diào)節(jié)音量FollowDownSteps程序策劃1.Button點擊事件觸發(fā)2.InputFiled文本輸入3.玩家姓名數(shù)據(jù)保存4.Image進(jìn)度條加載5.場景跳轉(zhuǎn)切換功能6.UI界面面板顯示隱藏7.Toggle控制啟用聲音8.Slider控制音量大小FollowDownSteps預(yù)設(shè)草圖依據(jù)游戲開發(fā)文檔和設(shè)計要求進(jìn)行制作交互設(shè)計:鼠標(biāo)點擊、鼠標(biāo)滑動、鍵盤輸入交互設(shè)計1.6.3《RollABall》-項目準(zhǔn)備盡量避免使用中文名稱與路徑2.導(dǎo)入RollABall_UI.unitypackage資源3.修改Sprite文件夾下的圖片格式為Sprite1.新建名為RollABall_UI的Unity項目FollowDownSteps操作步驟1.6.8《RollABall》-主界面布局12.創(chuàng)建Image命名”img_Title”,Image組件賦予img_球球與方方并SetNativeSize,移動位置。3.創(chuàng)建Button命名”btn_BeginGame“,Image組件賦予btn_Trangle,設(shè)置合適縮放與位置。1.創(chuàng)建Image命名”img_Background”,Image組件賦予img_GackGround。按Shift鍵設(shè)置stretch為stretch-stretch。FollowDownSteps操作步驟4.刪除“btn_BeginGame”下的Text對象。點擊Scene面板工具欄中的2D進(jìn)入2D模式。1.新建Scene場景命名為RollABall_Main2.設(shè)置Canvas對象的Canvas-RenderMode為Overlay模式;CanvasScaler的UIScaleMode為ScaleWithScreenSize和Match設(shè)置為11.6.8《RollABall》-主界面布局2FollowDownSteps操作步驟1.創(chuàng)建InputField命名“inp_UserName”,Image組件賦予img_TCube1。2.設(shè)置其中的Placeholder與Text的Text組件Font字體為ziti、Style為Bold、Size為124、Alignment為居中3.創(chuàng)建Slider對象命名為“img_LoadSlider,Image組件賦予img_LoadSlider與設(shè)置大小。4.調(diào)整img_LoadSlider對象Image組件的Color屬性、ImageType類型為Filled、FillMethod為Horizontal。1.6.8《RollABall》-運行頁面布局2.創(chuàng)建Button命名為but_AudioControl并設(shè)置SourceImage為btn_AudioSound和位置大小。3.新建Panel命名為pan_User,設(shè)置合適位置與Width、Height值。1.修改txt_Count、txt_Win的text組件樣式。FollowDownSteps操作步驟4.在Panel下創(chuàng)建一個RawImage和Text,分別命名為raw_UserImg、txt_Username。對象具體位置參數(shù)如上圖所示,運行查看效果。5.在Video文件夾下創(chuàng)建RenderTexture并賦值到raw_UserImg的RawImage組件Texture處。6.raw_UserImg對象添加VideoPlayer組件,VideoClip處賦予Video文件夾下的UserVideo1.6.8《RollABall》-設(shè)置頁面布局2.在pan_Setting下創(chuàng)建Button命名為btn_Close并設(shè)置SourceImage為btn_Close。3.創(chuàng)建三個Text命名為img_Setting、img_togSound、img_sliSound并設(shè)置圖片。1.新建Panel命名為pan_Setting并設(shè)置SourceImage為img_TCube2。FollowDownSteps操作步驟4.創(chuàng)建Toggle命名為tog_Sound并設(shè)置大小位置樣式。對象具體位置參數(shù)如上圖所示,運行查看效果。4.創(chuàng)建Slider命名為sli_Sound并設(shè)置大小位置樣式。1.6.8《RollABall》-InputField輸入事件3.將Canvas對象拖拽到Runtime欄下方。4.RunTime欄右側(cè)下拉欄中找到UI_Main.SetName方法。2.點擊imp_UserName對象InputField組件的OnValueChanged處“+”號。FollowDownSteps操作步驟5.拖拽imp_UserName對象到UI.Main.Setname下方。點擊Scene面板工具欄中的2D進(jìn)入2D模式。1.新建腳本“UI_Main”后掛在在Canvas對象上,并打開編輯腳本如右圖。1.6.8《RollABall》-Button點擊事件2.btn_BeginGame的Button組件添加UI_Main.GeinGame點擊事件。FollowDownSteps操作步驟點擊Scene面板工具欄中的2D進(jìn)入2D模式。1.添加UI_Main腳本內(nèi)容如右圖。1.6.8《RollABall》-Image模擬加載進(jìn)度條FollowDownSteps操作步驟點擊Scene面板工具欄中的2D進(jìn)入2D模式。1.編輯UI_Main腳本,并將img_LoadSlider拖拽至Canvas對象組件的UI_Main中。2.將img_LoadSlider的Image組件的FillAmount調(diào)整至0。3.點擊菜單欄File-BuildSetting點擊AddOpenScenes添加當(dāng)前場景。4.打開RollABall_Game場景并同樣添加到ScenesinBuild中。5.回到RollABall_Main中運行游戲查看效果。1.6.8《RollABall》-Button顯示隱藏界面FollowDownSteps操作步驟點擊Scene面板工具欄中的2D進(jìn)入2D模式。2.打開腳本“UI_Game”后編輯腳本如右圖。3.將pan_Setting設(shè)置為隱藏并拖拽至Canvas對象UI_Game組件對應(yīng)位置。1.打開RollABall_Game場景4.設(shè)置but_AudioControl對象的Button組件OnClick事件為Canvas對象的Show_Setting方法。5.設(shè)置but_Close對象的Button組件OnClick事件為Canvas對象的Hide_Setting方法。6.運行查看效果。1.6.8《RollABall》-獲取數(shù)據(jù)與UI點擊暫停FollowDownSteps操作步驟點擊Scene面板工具欄中的2D進(jìn)入2D模式。2.拖拽txt_UserName、raw_UserImg到Canvas對象的UI_Game組件對應(yīng)位置。3.給raw_UserImg添加EventTrigger組件選擇PointerClick事件,并設(shè)置調(diào)用StopVideo函數(shù)。1.打開腳本“UI_Game”后編輯腳本如右圖。1.6.8《RollABall》-Toggle與Slider控制聲音FollowDownSteps操作步驟點擊Scene面板工具欄中的2D進(jìn)入2D模式。2.拖拽MainCamera對象至Canvas對象的UI_Game組件Bg_Audio處。3.為Toggle組件添加Canvas對象UI_Game的Tog_Audio方法。1.打開腳本“UI_Game”后編輯腳本如右圖。4.為Slider組件添加Canvas對象UI_Game的Sli_Audio方法。5.運行測試效果。1.6.8《RollABall》-界面交互接口事件FollowDownSteps操作步驟點擊Scene面板工具欄中的2D進(jìn)入2D模式。2.為raw_UserImg添加EventTrigger組件與PointerClick事件。3.將Canvas對象移動至PointerClick處并調(diào)用UI_Game.UserVideo方法1.打開腳本“UI_Game”后編輯腳本如右圖。4.運行點擊raw_Usering對象,查看效果。第六節(jié)界面總結(jié)拓展學(xué)習(xí)1.界面插件軟件拓展2.界面設(shè)計書籍介紹3.界面設(shè)計視頻教程3.5.1界面插件軟件拓展3.5.2界面設(shè)計介紹游戲UI設(shè)計從入門到精通UnityUI設(shè)計精解uGUI第四章Unity物理引擎玩法設(shè)計CONTENTS4.2
物理碰撞體組件解析4.3物理關(guān)節(jié)組件解析4.5
物理引擎高級系統(tǒng)設(shè)置4.1
物理基礎(chǔ)知識4.6
物理引擎玩法總結(jié)與拓展學(xué)習(xí)4.4碰撞觸發(fā)事件檢測物理基礎(chǔ)知識1.Prefab預(yù)制體與實例化游戲?qū)ο?.Rigidbody剛體組件3.ConstantForce恒定力組件4.碰撞觸發(fā)事件5.物理材質(zhì)第一節(jié)4.1.1Prefab預(yù)制體與實例化游戲?qū)ο?/p>
Prefab預(yù)制體可以看作對象資源的一個模板,創(chuàng)建出來后可以被輕松的反復(fù)使用,同時也可以統(tǒng)一修改場景中所有用到該預(yù)制體對象的組件屬性,參數(shù)等配置對象值。通常應(yīng)用于反復(fù)需要被使用的石頭、樹木等環(huán)境資源,多次出現(xiàn)的NPC非玩家角色,不斷生成并銷毀的子彈對象等。1.創(chuàng)建使用實例化對象的常用方式有兩種,一種是在編輯狀態(tài)將Project面板中的預(yù)制體拖拽至Scene面板中進(jìn)行創(chuàng)建,還有一種則是在游戲運行時通過代碼的形式動態(tài)生成。2.方法函數(shù)常用運行實例化游戲?qū)ο蠛瘮?shù)有CreatePrimitive()、Instantiate()。其中Instantiate函數(shù)有以下幾種重置方法,具體參數(shù)內(nèi)容介紹見表4.1.1-1所示。original要復(fù)制的現(xiàn)有對象rotation新對象的方向position新對象的位置parent指定給新對象的父對象instantiateInWoldSpace指定父對象的方式是保持世界位置(true)或是相對位置(false)4.1.1Prefab預(yù)制體與實例化游戲?qū)ο髐singUnityEngine;publicclassCreatePrefab:MonoBehaviour{publicGameObjectcube;publicTransformt_cubeWall;voidUpdate(){if(Input.GetKeyDown(KeyCode.R))for(intx=0;x<3;x++)for(inty=0;y<3;y++){GameObjectgameObject=Instantiate(cube,newVector3(x,y,1),Quaternion.identity,t_cubeWall);gameObject.AddComponent<Rigidbody>();//組件的獲取gameObject.transform.position=newVector3(x,y,0);}}}3.案例實踐 以Prefab為例介紹預(yù)制體的創(chuàng)建和使用方法。案例代碼案例效果圖4.1.2Rigidbody剛體組件
Rigidbody剛體組件是實現(xiàn)游戲?qū)ο笪锢硇袨榈闹饕M件。對象添加剛體組件后便可以設(shè)置相關(guān)物理屬性例如重力、阻力等參數(shù),獲取當(dāng)前位置、速度等信息,也可以自定義取消受重力影響以及限制對象運動位置旋轉(zhuǎn)狀態(tài)。屬性功能屬性功能Mass對象的質(zhì)量(Kg)CollisionDetection碰撞檢測模式Drag空氣阻力大小velocity剛體的速度矢量UseGravity是否受重力影響position剛體的位置IsKinematic是否由物理引擎驅(qū)動rotation剛體的旋轉(zhuǎn)Constraints對剛體運動限制worldCenterOfMass剛體在世界空間中的質(zhì)心FreezePosition剛體位置移動限制FreezeRotation剛體局部旋轉(zhuǎn)限制1.創(chuàng)建使用選中Hierarchy面板對象,點擊菜單Component->Physics->Rigidbody添加剛體組件;或者選中需要添加的對象,點擊Inspector面板的AddComponent按鈕,搜索Rigidbody并添加剛體組件。4.1.2Rigidbody剛體組件usingUnityEngine;publicclassDemo_Rigidbody:MonoBehaviour{publicRigidbodycube;publicfloatforceValue=10.0f;//設(shè)置力的大小voidStart(){cube.mass=1.0f;//設(shè)置Cube質(zhì)量為1kgcube.useGravity=true;//設(shè)置Cube受重力影響cube.freezeRotation=true;//設(shè)置Cube無法旋轉(zhuǎn)}voidUpdate(){if(Input.GetKey(KeyCode.F))//以世界坐標(biāo)系的Z軸方向施加力cube.AddForce(Vector3.forward*forceValue,ForceMode.Acceleration);if(Input.GetKeyDown(KeyCode.E))//以自身坐標(biāo)軸-Z軸方向施加力cube.AddRelativeForce(Vector3.back*forceValue,ForceMode.Impulse);if(Input.GetKey(KeyCode.T))//以世界坐標(biāo)系的X軸方向施加扭矩cube.AddTorque(Vector3.right*10.0f,ForceMode.Impulse);if(Input.GetKeyDown(KeyCode.R))//按下P鍵重置位置cube.MovePosition(Vector3.zero);}voidDebugInfo(){Debug.Log("velocity:"+cube.velocity);Debug.Log("velocity:"+cube.position);Debug.Log("velocity:"+cube.rotation);}}3.案例實踐 以Rigidbody剛體組件為例,測試不同參數(shù)函數(shù)作用效果,具體操作步驟如下。案例代碼案例效果圖4.1.3ConstantForce恒定力組件
恒定力(ConstantForce)可用于快速為剛體對象添加恒定力,使對象在游戲中受到力的作用而運動。例如飛機(jī)航行、火箭發(fā)射、馬達(dá)轉(zhuǎn)動等運動。1.創(chuàng)建使用選中Hierarchy面板對象,點擊菜單Component->Physics->ConstantForce添加恒定力組件;或者選中需要添加的對象,點擊Inspector面板的AddComponent按鈕,搜索ConstantForce并添加恒定力組件。2.屬性介紹有關(guān)ConstantForce恒定力組件屬性參數(shù)介紹見表4-5。屬性功能Force每幀都在向剛體施加力,相對于世界坐標(biāo)系的矢量RelativeForce每幀都在向剛體施加力,相對于剛體坐標(biāo)系的矢量Torque每幀都在向剛體施加扭矩旋轉(zhuǎn),相對于世界坐標(biāo)系的矢量RelativeTorque每幀都在向剛體施加扭矩旋轉(zhuǎn),相對于剛體坐標(biāo)系的矢量4.1.4物理材質(zhì)3.案例實踐 使用ConstantForce恒定力組件就可以實現(xiàn)給對象添加作用力。組件說明案例效果圖4.1.4物理材質(zhì)
在真實世界當(dāng)中,剛體對象碰撞效果會因為材質(zhì)的不同而產(chǎn)生不同作用力的效果。3D物理材質(zhì)指的是碰撞體表面的材質(zhì),PhysicMaterial物理材質(zhì)用于調(diào)整碰撞對象的摩擦力和反彈效果。例如即便是相同質(zhì)量的乒乓球,網(wǎng)球,籃球,保齡球從同樣高度進(jìn)行下落到地面上反彈的高度也會有所不同1.創(chuàng)建使用 點擊菜單欄Assets->Create->PhysicMaterial或者在Project面板右鍵Create->Phys
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年食堂承包經(jīng)營廢棄物處理與資源化利用合同3篇
- 2025版門衛(wèi)人員招聘與培訓(xùn)服務(wù)合同樣本4篇
- 2025年度消防系統(tǒng)安全評估與整改合同3篇
- 2024食品安全保密協(xié)議:食品添加劑生產(chǎn)與保密合同3篇
- 模具租賃及后續(xù)加工定制服務(wù)合同2025年版3篇
- 2024年項目投資合同:共擔(dān)風(fēng)險3篇
- 2025年度租賃權(quán)附帶智能家居安裝合同3篇
- 2024知名品牌家電銷售代理合同
- 2025版公共廣場綠化管理與景觀維護(hù)服務(wù)合同4篇
- 二零二五版貨車租賃與智能物流服務(wù)合同3篇
- 2025-2030年中國草莓市場競爭格局及發(fā)展趨勢分析報告
- 奕成玻璃基板先進(jìn)封裝中試線項目環(huán)評報告表
- 廣西壯族自治區(qū)房屋建筑和市政基礎(chǔ)設(shè)施全過程工程咨詢服務(wù)招標(biāo)文件范本(2020年版)修訂版
- 人教版八年級英語上冊期末專項復(fù)習(xí)-完形填空和閱讀理解(含答案)
- 2024新版有限空間作業(yè)安全大培訓(xùn)
- GB/T 44304-2024精細(xì)陶瓷室溫斷裂阻力試驗方法壓痕(IF)法
- 年度董事會工作計劃
- 五年級上冊口算練習(xí)400題及答案
- 高三數(shù)學(xué)寒假作業(yè)1
- 1例左舌鱗癌手術(shù)患者的圍手術(shù)期護(hù)理體會
- (完整)100道兩位數(shù)加減兩位數(shù)口算題(難)
評論
0/150
提交評論