Unity-2017.2官方实例教程Roll-a-ball(一)
聲明:
本文系轉(zhuǎn)載,由于Unity版本不同,文中有一些小的改動(dòng),原文地址:http://www.jianshu.com/p/6e4b0435e30e
?
Unity-2017.2官方實(shí)例教程Roll-a-ball(二)
文中章節(jié)列表如下所示:
一、如何創(chuàng)建一個(gè)新項(xiàng)目(Project)
二、如何創(chuàng)建一個(gè)新的游戲場(chǎng)景(Scene)
三、如何添加基本的游戲?qū)ο?#xff08;GameObject)
四、如何添加燈光(Light)
五、如何給游戲?qū)ο筇砑幽_本(Script)
?
一、如何創(chuàng)建一個(gè)新的項(xiàng)目(Project)
創(chuàng)建項(xiàng)目有兩種方式,第一種是在沒有打開Unity工程的情況下創(chuàng)建項(xiàng)目,第二種是在已經(jīng)打開了Unity工程的情況下,再新建一個(gè)項(xiàng)目,兩種情況如下所述:
方法一:雙擊打開Unity,開始面板中可以新建項(xiàng)目,如下圖所示,點(diǎn)擊New:
?輸入工程名,選擇工程文件的存放位置,以及游戲模式(3D/2D),點(diǎn)擊Create project,完成工程的創(chuàng)建。
方法二:點(diǎn)擊File->New Project,新建完成的后,當(dāng)前打開的工程會(huì)自動(dòng)關(guān)閉。
創(chuàng)建完成后的界面如下所示:
頁(yè)面的布局可以根據(jù)個(gè)人喜好自行設(shè)置,設(shè)置方法為:Window->Layouts,或者通過(guò)右上角的下拉列表選擇,下拉列表顯示的為當(dāng)前的布局方式,里面有多種方式可供選擇,可以嘗試一下。
二、創(chuàng)建一個(gè)新的游戲場(chǎng)景(Scene)
?在新建項(xiàng)目之后,Unity會(huì)建立一個(gè)默認(rèn)名為Scene的場(chǎng)景,如果要新建一個(gè)場(chǎng)景,需要先保存當(dāng)前場(chǎng)景,然后點(diǎn)擊File->New Scene新建場(chǎng)景;如果當(dāng)前場(chǎng)景為默認(rèn)的Scene場(chǎng)景,并且場(chǎng)景沒有做任何修改,那么點(diǎn)擊File->New Scene時(shí),并不會(huì)重新建立一個(gè)場(chǎng)景。Unity中所有的游戲資源文件都保存在Assets文件夾下面,為了便于資源管理,我們需要對(duì)資源進(jìn)行分類,這一點(diǎn)對(duì)于游戲資源很多的情況有很好的幫助。首先我們建立一個(gè)Scenes文件夾來(lái)保存所有的場(chǎng)景文件,創(chuàng)建方法有三種,具體步驟如下:
方法一:點(diǎn)擊菜單欄的Assets->Create->Folder,命名為Scenes
方法二:右鍵點(diǎn)擊Project視圖中的Assets->Create->Folder,命名為Scenes
方法三:直接在項(xiàng)目目錄下的Assets文件夾下新建一個(gè)文件夾,命名為Scenes,Unity會(huì)自動(dòng)導(dǎo)入文件夾到工程中
如果要對(duì)新建的文件夾重命名,可以使用鼠標(biāo)左鍵點(diǎn)一下文件夾,然后再點(diǎn)一下(注意:不是雙擊),輸入新的文件名即可。
?保存當(dāng)前場(chǎng)景可以使用快捷鍵Ctrl+S或者點(diǎn)擊File->Save Scenes,注意場(chǎng)景保存的位置一定要在Scenes文件夾下:
三、如何添加基本的游戲?qū)ο?#xff08;GameObject)
(一)、添加游戲?qū)ο?-平臺(tái)(Plane)
保存完場(chǎng)景后,我們就可以在場(chǎng)景中添加一下我們需要的對(duì)象了,我們需要添加的第一個(gè)游戲?qū)ο缶褪怯螒蜻\(yùn)行的平臺(tái),這里我們使用Unity自帶的Plane對(duì)象,添加一個(gè)對(duì)象的方法有3中,具體描述如下:
第一種方法:通過(guò)點(diǎn)擊菜單欄的GameObject->3D Object->Plane
第二種方法:通過(guò)Hierarchy視圖下面的Create下拉列表來(lái)創(chuàng)建,點(diǎn)擊Create->3D Object->Plane
第三種方法:通過(guò)在Hierarchy視圖中點(diǎn)擊右鍵來(lái)創(chuàng)建,右鍵->3D Object->Plane
創(chuàng)建游戲?qū)ο笾?#xff0c;我們可以給它重命名一個(gè)有意義的名字來(lái)方便理解,這里我們把Plane重命名為Ground,重命名的方法有兩種:
第一種方法:在Hierarchy視圖中點(diǎn)擊一下游戲?qū)ο驪lane,然后再點(diǎn)擊一下(注意:不是雙擊),輸入新名字即可
第二種方法:右鍵點(diǎn)擊游戲?qū)ο驪lane,選擇Rename,輸入新名字即可
名字修改完成后,我們還需要做一個(gè)很重要的事情(官方強(qiáng)力推薦),我們把平臺(tái)的Transform屬性給重置一下,我們?cè)?strong>Inspector視圖中找到Transform組件,然后點(diǎn)擊它右上角的小齒輪,選擇Reset選項(xiàng),如下圖:
?
Tips:這個(gè)重置操作,官方是建議每次我們添加新的GameObject后最好都做一次,好的習(xí)慣我們盡早培養(yǎng)
平臺(tái)添加成功后,我們可以對(duì)其屬性進(jìn)行一些調(diào)整,例如我們調(diào)整一下平臺(tái)的大小,將目光鎖定到Scene視圖,我們可以在其中可直觀的來(lái)修改平臺(tái)的屬性,這里有3個(gè)很實(shí)用的快捷鍵可以使用:
W:切換到移動(dòng)模式,該模式下我們可以任意拖動(dòng)平臺(tái),改變它的位置
E:切換到旋轉(zhuǎn)模式,該模式我們可以任意旋轉(zhuǎn)平臺(tái),改變它的角度
R:切換到縮放模式,該模式下我們可以任意縮放平臺(tái),改變它的大小
當(dāng)然我們也可以直接在Transform里面直接輸入想要的數(shù)值,在本例中,我們把平臺(tái)的Scale X和Z的數(shù)值設(shè)置為2
Tips:選中一個(gè)GameObject,然后點(diǎn)擊F快捷鍵,可以在Scene窗口將攝像機(jī)對(duì)準(zhǔn)你選中的GameObject,方便你快速定位
(二)、添加游戲主角--球體(Sphere)
有了平臺(tái)后,制作Roll-a-Ball游戲我還需要一個(gè)球體,我們可以通過(guò)方向鍵來(lái)控制球體移動(dòng),添加球體的方式,和上面添加平臺(tái)的方式一樣,只不過(guò)我們選擇的是Sphere對(duì)象。球體對(duì)象創(chuàng)建成功后,我們最先要做什么呢?沒錯(cuò),就是官方推薦的做法,我們把球體的Transform屬性重置,然后給他起一個(gè)好的名字,這里我們將其命名為Player,因?yàn)樵谶@個(gè)游戲里面,這個(gè)球就代表這我們玩家。
Tips:重置Transform和重命名這兩個(gè)動(dòng)作,我們盡量養(yǎng)成好習(xí)慣,在創(chuàng)建新的GameObject后,做這兩個(gè)標(biāo)準(zhǔn)化動(dòng)作
然后我們選中球體,通過(guò)F快捷鍵,定位到球體,我們會(huì)發(fā)現(xiàn)此時(shí)球有一個(gè)半是陷入在平臺(tái)中的,不要緊,我們通過(guò)調(diào)節(jié)他的Position的Y值為0.5,讓它正好處于平臺(tái)上:
?四、如何添加燈光(Light)
新版中,每個(gè)新建的項(xiàng)目,都會(huì)自動(dòng)帶一個(gè)平行光(Directional Light),所以這里我們就不用再添加燈光了,直接修改平行光的屬性就可以了。
前面在講場(chǎng)景文件保存的時(shí)候,就提到的好的資源分類可以幫助我們更好的管理游戲資源,這里我們對(duì)于GameObject的管理也是一樣的,而在GameObject中,我們沒有文件夾,所以我們使用一個(gè)空的GameObject(Empty)來(lái)代替文件夾的作用:
(1)、首先創(chuàng)建一個(gè)空的游戲?qū)ο?#xff0c;GameObject->Create Empty
(2)、然后將其的Transform重置
(3)、然后將其名稱修改為Lighting
(4)、最后我們把Directional Light拖入到Lighting
這樣我們就相當(dāng)于把Lighting當(dāng)成一個(gè)文件夾,把所有的燈光對(duì)象放到這個(gè)里面,便于管理。之后,我們?yōu)榱俗屒蚝完幱坝袀€(gè)明顯的區(qū)分,我們?cè)谠黾右粋€(gè)新的光源,用來(lái)照射在球體上,我們創(chuàng)建一個(gè)新的平行光(Directional Light),這樣我們就有了兩個(gè)名叫Directional Light的燈光,這樣不便于區(qū)分,于是我們修改一下燈光的名字:
(1)、首先我們將系統(tǒng)默認(rèn)建立的Directional Light重命名為Main Light
(2)、然后將我們剛剛新建的燈光改名為Fill Light
(3)、然后把Fill Light也拖入到Lighting下面(或者我們直接在Lighting上右擊->Light->Directional Light,這樣不需要拖拽操作新建對(duì)象就已經(jīng)在Lighting下面了)
?
然后我們選中Fill Light,首先我們將其的燈光顏色設(shè)置為紅色,這樣便于和Main Light區(qū)分開來(lái),然后將它的Rotation屬性分別調(diào)整為-33,-135,180:
這樣修改后,我們就可以看到球體上一層紅色的光澤。
?五、如何給游戲?qū)ο筇砑幽_本(Script)
有了平臺(tái),有了球體,有了燈光,下一步我們就應(yīng)該讓球體可以動(dòng)起來(lái)了。Unity上手很簡(jiǎn)單的一個(gè)原因,就是他的做法非常符合我們平時(shí)生活的邏輯,比如我們這里想讓球體動(dòng)起來(lái),那么按照我們正常的想法,我們要做的事情就是告訴球體,讓他動(dòng)起來(lái),那么轉(zhuǎn)換成Unity的實(shí)現(xiàn)方法,就是給球體添加一個(gè)腳本組件,然后在腳本組件里面告訴他怎么動(dòng),下面我們來(lái)看看具體的操作:(一)、給球體添加剛體(Rigidbody)
剛體可以給球體添加物理效果,讓他可以檢測(cè)物理碰撞,便于我們后面實(shí)現(xiàn)拾取物體和碰撞墻面。給球體添加剛體有兩種方法:
(1)、通過(guò)菜單欄的Component->Physics->Rigidbody添加
(2)、通過(guò)Inspector視圖底部的Add Component按鈕添加
?(二)、給球體添加腳本(Script)
首先我們要再提一下開始說(shuō)到的資源管理思想,為了便于我們管理游戲的資源,所以我們會(huì)創(chuàng)建一個(gè)文件夾,來(lái)專門存放所有的腳本文件:要想給球體或者說(shuō)任何一個(gè)GameObject添加一個(gè)腳本,我們首先選中GameObject,這里我們選中球體也就是我們的Player,然后在Inspector窗口中點(diǎn)擊Add Component按鈕,在彈出的菜單中選著New Script:
之后會(huì)進(jìn)入腳本名稱和語(yǔ)言類型選擇,這里我們將腳本命名為PlayerController,然后語(yǔ)言選擇C#(C Sharp):
點(diǎn)擊Create and Add后,我們就成功給球體添加一個(gè)腳本組件,然后我們點(diǎn)擊腳本組件右上角的小齒輪按鈕,在彈出來(lái)的菜單中選擇Edit Script便可打開腳本編輯器了:
(三)、編輯腳本
我們可以看到,里面有兩個(gè)方法,Start和Update,在本例中,我們?cè)偬砑右粋€(gè)FixedUpdate的方法,該方法只在計(jì)算有關(guān)物理效果時(shí)調(diào)用,然后代碼如下:
在上圖中有幾點(diǎn)需要說(shuō)明:
(1)、第一個(gè)紅框中的speed,公有類型的變量可以在Inspector編輯器中顯示并進(jìn)行修改
(2)、第一個(gè)紅框中的rg,私有類型的變量不會(huì)在Inspector視圖中顯示
(3)、第二個(gè)紅框中我們可以在Start()函數(shù)中為GameObject對(duì)象進(jìn)行初始化,這樣可以提高代碼的執(zhí)行效率
(4)、第三個(gè)紅框中Input、Vector3、AddForce和Time.deltaTime,可以從Unity用戶手冊(cè)中查看相應(yīng)的用法
Tips:在上述先添加剛體組件再添加腳本組件的過(guò)程中,如果先添加了Script腳本組件,再添加Rigidbody剛體組件,那么Script腳本中的private Rigidbody rg會(huì)提示Player中沒有Rigidbody組件,這個(gè)時(shí)候需要把Rigidbody組件拖動(dòng)到腳本組件上方(或者把Inspector視圖中的腳本刪除,先添加Rigidbody組件,再綁定Script腳本)。
在本例中,我們可以將Speed數(shù)值設(shè)置為500,這是一個(gè)比較合理的數(shù)值,做完這些之后,我們就可以運(yùn)行游戲看看效果了!
?
?
?
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/softhal/p/8052173.html
與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的Unity-2017.2官方实例教程Roll-a-ball(一)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: win8--PPTP教程
- 下一篇: MySQL数据库的sql语句的导出与导入