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