学习unity的第一个游戏-Playground
- Playground 項(xiàng)目 unity 論壇鏈接
- Playground 官方教程鏈接
- 項(xiàng)目資源及安裝
主要參考教程:【unity2021入門】13-官方入門教程系列-02-PlayGround-01??????
(老師很不錯(cuò),歡迎一鍵三聯(lián))
Unity Playground 提供了一系列易于使用和整合的單任務(wù)組件,因此不要求具有編碼技能。通過(guò)將這些組件整合在一起,便可以創(chuàng)作出多種游戲風(fēng)格的 2D 物理游戲。還可以使用 Playground 來(lái)了解游戲設(shè)計(jì)或關(guān)卡設(shè)計(jì)。
注意:
官方文檔中,使用的是 Unity 2017 ,版本比較舊,跟新的 Unity 界面有所區(qū)別,建議用新版本的同學(xué),還是按此文檔來(lái)操作,避免出現(xiàn)問(wèn)題
制作你的第一個(gè)游戲
制作教程中第一個(gè)小游戲:飛船躲隕石
1.1 創(chuàng)建玩家
1.打開項(xiàng)目:
打開前面課程中已經(jīng)準(zhǔn)備好的 playground 項(xiàng)目
2.創(chuàng)建新場(chǎng)景:
project 窗口 --> Assets/scenes 文件件,右鍵 create scene ,創(chuàng)建只帶有一個(gè) camera 對(duì)象的場(chǎng)景,重命名為 PlaneAsteroid
3.添加玩家飛船:project 窗口 --> Assets/Images/SpaceShips/ 拖拽其中一個(gè)飛機(jī)到 Hierarchy 中,讓飛船對(duì)象成為 PlaneAsteroid scene 的子對(duì)象;選中飛船,在 inspector 窗口中,將對(duì)象命名為 Ship ,并將 Tag 選中為 Player
?4.讓飛船動(dòng)起來(lái):
- 添加組件,將腳本:使用 Inspector 底部的 Add Component 下拉菜單,然后鍵入“move”把Move with Arrows 綁定到飛船對(duì)象上;
- 一旦你添加了 Move 腳本,還會(huì)自動(dòng)添加一個(gè) Rigidbody2D 組件。這是因?yàn)?Move 需要 Rigidbody2D 才能起作用。
- 調(diào)整 Gizmos 中的腳本圖標(biāo)大小,將其縮小:使用 Scene 視圖中的下拉表單輔助圖標(biāo)進(jìn)行縮小。將 3D Icons 滑動(dòng)條向左拖動(dòng),直到圖標(biāo)大小合適。
?
相關(guān)概念:
- tag(標(biāo)簽): 利用標(biāo)簽,我們可以將對(duì)象分為幾類,以便腳本僅在碰觸到正確的對(duì)象時(shí)才能執(zhí)行操作。沒(méi)有標(biāo)簽,就無(wú)法區(qū)分對(duì)象。可以在項(xiàng)目配置中,增減標(biāo)簽
- script(腳本): Unity 中的游戲代碼
- sprite(精靈): Unity 中的 2D 游戲?qū)ο笏夭?/li>
1.2 調(diào)整物理值
?RigidBody2D 組件和移動(dòng)腳本組件上,暴露出很多物理引擎相關(guān)的參數(shù)值,通過(guò)調(diào)整,可以改善游戲體驗(yàn)
- 在 RigidBody2D 組件上,我們要將 Gravity 修改為 0
- Orient to direction:船頭朝向移動(dòng)方向
- Friction :摩擦力,設(shè)置為 5 可以消除漂移
- Speed : 更改速度
- mass :質(zhì)量,影響慣性
相關(guān)概念:
物理引擎:Unity 中,包含了完整的物理引擎,可以讓開發(fā)者非常方便地模擬顯示中的物理現(xiàn)象,比如:質(zhì)量、慣性、重力、速度、加速度、碰撞、反彈等等。
物理系統(tǒng) 官方文檔
RigidBody(剛體):是實(shí)現(xiàn)游戲?qū)ο蟮奈锢硇袨榈闹饕M件。如果想讓一個(gè)游戲?qū)ο衲鼙晃锢硪嫠绊?#xff0c;就必須為其添加 RigidBody 組件,分為 2D 和 3D,分別針對(duì)不同的游戲類型。剛體可以接受力和扭矩(通過(guò)腳本編寫代碼來(lái)實(shí)現(xiàn)),向剛體施加力/扭矩實(shí)際上會(huì)改變對(duì)象的變換組件位置和旋轉(zhuǎn)。?
2D 剛體官方文檔
1.3 添加障礙物和碰撞
1.添加小行星
2.添加兩個(gè)組件到小行星:Rigidbody2D 和 PolygonCollider2D,把 PolygonCollider2D中的is Trigger的對(duì)勾去掉,否則無(wú)法作用在物理引擎上;設(shè)置小行星重力為 0,否則小行星會(huì)掉下來(lái)!調(diào)整小行星參數(shù):Friction(摩擦力)、?Angular Friction 為旋轉(zhuǎn)阻力和 Mass(質(zhì)量,推薦10)
3.添加 PolygonCollider2D 給飛船:必須都有該組件,才能正常碰撞
4.碰撞后掉血:向小行星添加一個(gè)名為 ModifyHealthAttribute 的腳本
?
5.向飛船添加另外一個(gè)名為 HealthSystemAttribute 的腳本,這樣飛船能夠檢測(cè)到這種傷害。
6.通過(guò)將小行星拖拽到 project/Assets/Prefabs 中,將其設(shè)置為預(yù)制件(Prefab);并進(jìn)行復(fù)制(Windows 上的快捷鍵為 Ctrl+D,Mac 上的快捷鍵為 Command+D),從而在飛船周圍創(chuàng)建一個(gè)小的小行星場(chǎng)。
相關(guān)概念:
Collider(碰撞體):2D 多邊形碰撞體,碰撞體的形狀由線段組成的自由形狀邊緣定義,因此可對(duì)其進(jìn)行高精度調(diào)整以適應(yīng)精靈圖形的形狀。
官方文檔
Prefab (預(yù)制件):Unity 的預(yù)制件系統(tǒng)允許創(chuàng)建、配置和存儲(chǔ)游戲?qū)ο蠹捌渌薪M件、屬性值和子游戲?qū)ο笞鳛榭芍赜觅Y源。預(yù)制件資源充當(dāng)模板,在此模板的基礎(chǔ)之上可以在場(chǎng)景中創(chuàng)建新的預(yù)制件實(shí)例,就是“可重用資源模板”
預(yù)制件 官方文檔
1.4 添加用戶界面
通過(guò)用戶界面(user interface)給玩家回饋信息
將 UserInterface 預(yù)制件從 /Prefabs 文件夾拖入到場(chǎng)景中。在你查看 Game 視圖時(shí),系統(tǒng)會(huì)自動(dòng)顯示一個(gè) UI 彈出窗口,其中包含 Score 和 Health 屬性。
1.5 添加游戲目標(biāo)
假設(shè)我們希望飛船收集一些星星,但不能撞到小行星。一旦收集到所有星星,便贏得了比賽。但如果發(fā)生碰撞的次數(shù)太多,游戲便結(jié)束!
1.添加星星:直接在搜索欄搜索“star”,將這個(gè)星星從 /Images 文件夾拖入到場(chǎng)景中。
2.添加分?jǐn)?shù)腳本:為星星添加 Collectable 腳本,將星星變成一個(gè)可收集物品,收集到一個(gè)星星便會(huì)獎(jiǎng)勵(lì)玩家一個(gè)點(diǎn)數(shù)。
3.添加碰撞體,讓星星能被飛船收集:為星星添加 PolygonCollider2D 組件,并啟用 Is Trigger 屬性。
1.6 添加獲勝條件
完善游戲,添加獲勝條件
1.將星星作為預(yù)制件,復(fù)制 5 個(gè);將這些星星分布到周圍,讓一些星星很容易獲得,但其他一些星星很難獲得。通過(guò)這樣的方式,我們也可以讓我們的小游戲難度逐漸增大。
2.選擇 UI 游戲?qū)ο?#xff0c;然后在 UI 腳本上確保游戲類型為 Score,并且所需得分為 5。
注意:星星個(gè)數(shù)需要 大于等于 Score 值,否則永遠(yuǎn)無(wú)法勝利
再次按 Play,看看你是否可以在游戲中獲勝。如果你獲得了全部的 5 個(gè)星星,你應(yīng)該會(huì)看到一條消息為“Player 1 wins!”。
恭喜,你已經(jīng)制作出了你的第一個(gè)游戲。真棒!請(qǐng)繼續(xù)調(diào)整,直到你對(duì)控制方式、難度和關(guān)卡布局感到滿意為止。
總結(jié)
以上是生活随笔為你收集整理的学习unity的第一个游戏-Playground的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: DeFi史上具备从0到1创新性的7个代币
- 下一篇: 数字化变电站建设方案