發(fā)布時間:2023-11-27 07:28:38 瀏覽量:148次
文/狂野之心
因為Unity5免費策略推出,2D功能也大大增強,于是轉(zhuǎn)投Unity。在朋友鼓勵下,推出Unity教程,希望能幫助那些想提高2D游戲開發(fā)效率的朋友們。需要注意的是,此系列教程都會使用5.2.0版本(目前最新5.2.2)進行開發(fā)。
那么我們就開始吧!我會做一些很常見的比較簡單的小游戲,幫助大家從零開始,首先來做一個跑酷小游戲。
初識Unity2D
創(chuàng)建新項目,名稱我用的是JustRun。一定注意,項目類型有3D和2D之分,選擇2D即可。點擊創(chuàng)建,就進入了Unity主界面。
這四個面板是最常用的,我只進行大致的解釋,后面用得多了,大家自然會慢慢理解。面板1是游戲?qū)ο箨P系面板,直觀地表示各個游戲?qū)ο笾g的父子關系。面板2是屬性面板,用來展示所選對象的各個組件和屬性。面板3是場景編輯器,大量的場景編輯都需要在里面完成。面板4是工程面板,用來查看所有的資源和腳本。當然,如果大家的面板結(jié)構(gòu)和我不一樣,可以自行對照,也可以拖拽標簽欄移動各個面板到合適的位置。
我們都知道,很多游戲引擎或者說框架,都是純代碼來開發(fā),游戲長什么樣,都是運行起來才知道。Unity是所見即所得開發(fā),是我個人偏愛的一種開發(fā)形式,非常的直觀。
光說不練假把式,在電腦里隨便找一張圖片,比如我這張。
把圖片從文件夾里拖拽到工程面板,注意要在Assets文件夾中哦~然后拖拽到左側(cè)的關系面板。這時,屏幕正中央就會出現(xiàn)一只小萌物了。點擊編輯器頂欄的播放按鈕,游戲就會執(zhí)行起來了,再次點擊退出播放模式(細心的朋友會發(fā)現(xiàn),進入播放模式,Scene選項卡會切換到Game選項卡)。
添加地面
Command+s或者Ctrl+s,我們保存當前場景到Assets文件夾中,起名為Main。
由于目前我還不知道如何在Unity中創(chuàng)建二維形狀,所以你們只能用PS做一個純色地面了,而我要再次使用一個酷炫的素材,哈哈哈哈。
老套路,將素材添加到場景中,等等!主角被擋住了?
我們在關系面板中,選中地面,然后看屬性面板,Transform面板是一個游戲?qū)ο蟮母鞣N體位(你沒看錯……)屬性,可以設置三個維度的坐標、角度和縮放。經(jīng)過我的火眼金睛觀察,設置地面的Position里的Y值為-1.3剛剛好。
第一個腳本
那么該讓主角動起來了,It's time to go! 這一切必須借助腳本來完成,不過很可惜第一個腳本不是Helloworld。我先談談腳本語言的選擇:作為一個曾經(jīng)的JS程序員,我很慶幸自己選擇了C#進行開發(fā),雖然我當時對C#一無所知。根據(jù)我自己的使用經(jīng)驗,JS是一種弱類型語言,游戲客戶端開發(fā)需要大量使用字典、數(shù)組、鏈表等等,明確知道一個鏈表里存的是什么鬼,非常的必要。如今我C#也使用的很嫻熟了,我都不敢想象如果選擇了JS現(xiàn)在的處境會怎么樣,代碼復雜度高了以后,JS非常的難以維護。
在Project面板中,右鍵Create,選C# Script,命名為ScrollGround。這個腳本我們掛在地面對象上,讓地面向后滾,這樣主角就被迫向前跑了,哈哈哈哈。
雙擊腳本,你將打開一個MonoDevelop編輯器,public class后面的類名如果不是ScrollGround,就改成這個名字?;氐経nity編輯器,將腳本拖拽到地面對象的屬性面板,如圖:
然后我們回到MonoDevelop編輯器,這里是用來編寫腳本的地方。這個腳本將決定地面對象的一切行為,全權(quán)控制。Start函數(shù)是這個對象第一次出現(xiàn)在場景中時會調(diào)用的函數(shù),做一些初始化功能,Update函數(shù)每一幀都會執(zhí)行一次,英文注釋里都有解釋,MonoBehavior是Unity的游戲?qū)ο蠡A類,繼承這個才可以用這些函數(shù)。
第一行代碼
我們來一點點嘗試腳本的編寫吧,即使不會C#也沒關系,對著教程,自己多練習,慢慢就會熟悉的。
Update函數(shù)中,加入下面這一行代碼:
transform.position -= new Vector3(Time.deltaTime, 0, 0);
我一點點來解釋:transform對應的是(掛載該腳本的游戲?qū)ο蟮模傩悦姘謇锏腡ransform欄,所以在腳本中修改position就相當于在面板里修改position。后面的這個是一個三維數(shù)組對象,Time.deltaTime是上一幀到這一幀的間隔時間,非常小的一個數(shù)值。在坐標值里減去一個很小的x軸位移,那么這個對象會每一幀向左移動一點點?;氐経nity,播放一下游戲,果然如此!大人真乃神人也!
光滾動還不夠,地面好像有點短。沒關系,我們進入Unity編輯器,從project面板中再拖拽一個地面對象到關系面板中,并設置其x坐標,掛載ScrollGround腳本,最終如下:
這時執(zhí)行游戲,就會發(fā)現(xiàn)地面變長了。但是跑著跑著,還是不夠用,怎么辦呢?我們?nèi)ツ_本里重置一下前一塊地皮就可以了。
進入MonoDevelop,在剛才的那一行代碼下面添加下列代碼:
if(transform.position.x這里的11.36是剛才我們在編輯器中看到的那個橫坐標數(shù)值,當?shù)孛嬉苿拥阶髠?cè)這個距離的時候,將其位置重置到最右側(cè),這樣就可以無限循環(huán)了。C#中所有的浮點數(shù),都必須帶上f后綴?,F(xiàn)在我們?nèi)鼍爸胁シ乓幌拢m然還有點瑕疵,但是基本實現(xiàn)了功能了。大家可以通過調(diào)整地面長度或者增加第三塊地面,來使效果更加完美,我這里就不贅述了。
第一個動畫
回到Unity編輯器,現(xiàn)在我們先導入另外幾張圖片,然后選中所有的素材,一共是6張跑步動畫幀,拖拽到關系面板中主角對象身上,然后主角對象上就創(chuàng)建出了一個Animator組件。如圖:
這個組件也會放在素材所在的文件夾里,看project面板中會多出一個帶播放按鈕的對象和一個流程圖一樣的對象。左邊的是剛才形成的動畫片段,右邊的是主角對象的動畫控制器。動畫分為動畫片段和控制器兩部分,片段掛在控制器中,由控制器決定播放哪一段,這兩部分是分開的。如果操作無誤,下面播放游戲,就能看到主角跑起來啦~!哦妹子英!還是很簡單的吧。
下一步我會繼續(xù)教大家如何做出跳躍的效果。敬請期待!
熱門資訊
探討游戲引擎的文章,介紹了10款游戲引擎及其代表作品,涵蓋了RAGE Engine、Naughty Dog Game Engine、The Dead Engine、Cry Engine、Avalanche Engine、Anvil Engine、IW Engine、Frostbite Engine、Creation引擎、Unreal Engine等引擎。借此分析引出了游戲設計領域和數(shù)字藝術(shù)教育的重要性,歡迎點擊咨詢報名。
2. 手機游戲如何開發(fā)(如何制作傳奇手游,都需要準備些什么?)
?如何制作傳奇手游,都需要準備些什么?提到傳奇手游相信大家都不陌生,他是許多80、90后的回憶;從起初的端游到現(xiàn)在的手游,說明時代在進步游戲在更新,更趨于方便化移動化。而如果我們想要制作一款傳奇手游的
3. B站視頻剪輯軟件「必剪」:免費、炫酷特效,小白必備工具
B站視頻剪輯軟件「必剪」,完全免費、一鍵制作炫酷特效,適合新手小白??靵碓囋?!
游戲中玩家將面臨武俠人生的掙扎抉擇,戰(zhàn)或降?殺或放?每個抉定都將觸發(fā)更多愛恨糾葛的精彩奇遇。《天命奇御》具有多線劇情多結(jié)局,不限主線發(fā)展,高自由...
5. Bigtime加密游戲經(jīng)濟體系揭秘,不同玩家角色的經(jīng)濟活動
Bigtime加密游戲經(jīng)濟模型分析,探討游戲經(jīng)濟特點,幫助玩家更全面了解這款GameFi產(chǎn)品。
6. 3D動漫建模全過程,不是一般人能學的會的,會的多不是人?
步驟01:面部,頸部,身體在一起這次我不準備設計圖片,我從雕刻進入。這一次,它將是一種純粹關注建模而非整體繪畫的形式。像往常一樣,我從Sphere創(chuàng)建它...
7. 3D動畫軟件你知道幾個?3ds Max、Blender、Maya、Houdini大比拼
當提到3D動畫軟件或動畫工具時,指的是數(shù)字內(nèi)容創(chuàng)建工具。它是用于造型、建模以及繪制3D美術(shù)動畫的軟件程序。但是,在3D動畫軟件中還包含了其他類型的...
?三昧動漫對于著名ARPG游戲《巫師》系列,最近CD Projekt 的高層回應并不會推出《巫師4》。因為《巫師》系列在策劃的時候一直定位在“三部曲”的故事框架,所以在游戲的出品上不可能出現(xiàn)《巫師4》
想讓你的3D打印模型更堅固?不妨嘗試一下Cura參數(shù)設置和設計技巧,讓你輕松掌握!
10. Unity3D入門:手把手帶你開發(fā)一款坦克大戰(zhàn)的游戲
Unity工程創(chuàng)建完成后如圖所示: 接下來應該導入此項目所需的Unity Package文件,要用到的Unity package文件大家可以去Unity3D的官方網(wǎng)站下載(地址:ht...
最新文章
同學您好!