Unity 官方教程2
fps模板小游戲 3D
官方文檔
Creator Kit: FPS - Unity Learn
對象分組和相對世界坐標
建立空的游戲對象對對象進行分組
相對坐標 : 子對象相對于父對象中心點的坐標
世界原點: 相對于世界中心的坐標
子對象使用世界坐標,將父對象的坐標設置為(0,0,0)
創建對象
創建場景: 在頂部菜單欄中,選擇 FPSKIT > Create new Scene。
注意: FPSKIT 菜單并非是 unity 中的默認菜單,而是通過代碼,新增如 Unity 編輯器的自定義功能。 Assets/Creator Kit - FPS/Scripts/Editor unity 支持定制功能,非常靈活,開發者可以根據自己的需求,打造屬于自己的 unity ,從而簡化開發過程
添加游戲目標:
選中 Assets/Creator Kit - FPS/Prefabs/Targets/GermSlimeTarget 預制件,拖入 Hierarchy 中,并在 scene 中,調整其位置
更改目標對象屬性: Inspector 窗口 --> Target 組件 --> 更改目標的 Health(小怪的生命) 和 Point Value (殺死后得分)
添加其他目標對象: Assets/Creator Kit - FPS/Art/Models/Characters,選中 GermSpike ,拖入 scene
為新對象添加剛體組件: 單擊 Add Component 按鈕,然后開始在搜索欄中鍵入“Rigidbody”并添加;禁用 Use Gravity 復選框,啟用 Is Kinematic 復選框。 禁用 Use Gravity 將使病菌漂浮,而啟用 Is Kinematic 會阻止子彈(或其他任何對象)使病菌四處移動。
注意:啟用 Is Kinematic,則剛體對象將不會被物理引擎驅動,只能通過變換 (Transform) 對其進行操作。
為新對象添加碰撞體: Add Component 并搜索 Sphere Collider。添加該組件。
Sphere Collider(球形碰撞體)將確保可以擊中病菌,有時會將這個碰撞體稱為“命中范圍”。在 Scene 視圖中,你會發現這個碰撞體就是包圍病菌的綠色球體。
調整碰撞體的大小,使其緊緊地包圍住整個對象素材。
將新對象設置為目標: 單擊 Add Component,然后搜索并添加 Target 組件。
組件會添加一個自定義腳本來使病菌成為目標。添加腳本后,請更改目標的 Health 和 Point Value 值,然后再次測試游戲。完成后,請務必保存更改。
設計關卡
關閉音頻輔助圖標: 在 Hierarchy 窗口中,選擇 LevelLayout 游戲對象。 在 Scene 視圖的右上角,單擊 Gizmos 按鈕旁的向下箭頭。 在菜單中,向下滾動列表并禁用 Built-in Components 部分中的以下兩個復選框:AudioReverbZone、AudioSource
添加新房間和走廊: 在 Hierarchy 中,確認 LevelLayout 游戲對象仍然為選中狀態; 在 Inspector 窗口中,找到 Level Layout 組件。單擊 Editing Layout。這樣會默認啟用添加模式。然后,單擊 CorridorGroup 以添加走廊,或者單擊 RoomGroup 以添加房間。 你可以按鍵盤上的 R 鍵來旋轉房間并更改這個房間嘗試貼靠到的門。對位置感到滿意后,請單擊鼠標按鈕來放置房間。
如果操作失誤或者要刪除房間,請單擊組件中的 Remove 按鈕。完成此操作后,將光標移到 Scene 視圖中的房間和走廊上方就會突出顯示這些房間和走廊。單擊一個房間即可將這個房間刪除。
完成關卡設計的編輯工作后,再次單擊 Inspector 窗口中的 Editing Layout 按鈕以禁用關卡編輯器工具。
添加門: 選擇 Assets/Creator Kit - FPS/Prefabs/Door and Key/FatBlob,拖拽到 scene 中,選擇合適的位置,堵住路口,充當門
添加鑰匙并匹配門: 在 Project 窗口中,選擇 Key 預制件,拖拽到 scene 中,選擇合適的位置,在 Inspector 中,找到 Key 組件。在 Key Type 字段中,為鑰匙提供一個唯一的名稱。
在 Hierarchy 中,選擇 FatBlob 游戲對象。在 Inspector 中,找到相應的 Lock 組件。使用下拉菜單將 Key Type 值設置為所選的鑰匙名稱。現在,玩家只要收集到鑰匙,就可以開啟對應的門
修改武器
根據原武器新建自己的新武器: 選擇 Assets/Creator Kit - FPS/Prefabs/Weapon/GermOBlaster 預制件,按 Ctrl + D (Windows) 或 Cmd + D (macOS) 來復制一個副本,并將武器重命名。
在新武器的預制件中,更改武器屬性: 雙擊新武器,進入預制件編輯狀態,在 Inspector 中,找到 Weapon 組件。 將 Trigger Type 更改為 Manual?,F在,僅在按下扳機時,武器才會發射一次,而不是盡可能快地發射。 Clip Size 的值從 30 更改為 8,以減少單次重新裝填彈匣的彈藥量。將 Damage 的值從 0.5 更改為 5。 保存。
將新武器添加給 Character: 在 Hierarchy 中,選擇 Character 游戲對象
在 Inspector 窗口中,找到 Controller 組件。
選擇 Starting Weapons 條目名稱左側的小箭頭以展開該條目。將 Size 從 3 更改為 4。這將在關卡開始時為玩家提供四種武器。
將新武器預制件從 Project 窗口拖到 Inspector 中顯示的 Element 3 字段上。
保存后,運行游戲測試,用鼠標滾輪或 1、2 、3、4 鍵來切換武器。
關卡終點
創建 LevelEnd 游戲對象: 在 Hierarchy 窗口中右鍵單擊一個空的區域,然后選擇 Create Empty,在 Inspector 窗口中,將游戲對象重命名為“LevelEnd”。
添加盒裝碰撞體: 在 Inspector 中,單擊 Add Component 按鈕。搜索“Box Collider”,然后將此組件添加到 LevelEnd。啟用 Is Trigger 復選框。
單擊 Add Component 按鈕。搜索“End Checkpoint”,然后將此組件添加到 LevelEnd。
將碰撞體放在合適位置: 使用變換組件工具將該對象放置在所需的關卡結束位置。房間或走廊的盡頭就很適合作為關卡終點。
構建游戲發布
確保要用于游戲的場景已打開。在頂部菜單中,選擇 File > Build Settings。
在對話窗口中,選擇空的 Scenes In Build 列表底部的 Add Open Scenes 按鈕。此時會將當前打開的場景添加到構建中。
單擊 Build 按鈕。選擇要保存構建版本的文件夾并為其命名。Unity 將創建構建版本,然后打開包含可執行文件的文件夾。通過啟動此文件即可玩這個游戲。
拓展手冊
?
?
探索創作者套件的所有可能性:
參考詳細手冊以了解更多信息以及編輯器的背景資料。 這些參考內容包括:
-
此創作者套件中所有武器設置的相關概述。
-
有關導入你自己的 3D 模型并使用它來創建新型武器的指導。
-
有關高級游戲功能(例如,創建在銷毀目標時觸發的門鎖系統)的指導。
3.創作者套件:初學者代碼 荒野西部
官方文檔:Creator Kit: Beginner Code - Unity Learn
資源:Creator Kit: Beginner Code | Tutorials | Unity Asset Store
游戲類型: 3D ARPG (動作角色扮演游戲) 包含:
-
角色系統
-
怪物系統
-
物品系統
-
AI 系統
使用vs2019作為開發者工具
edit - preference - External Tools -> visual studio XXXX 2019.
打開項目
Hierarchy -> LevelDesign -> PotionSpawner -> Inspector -> Spawner Sample -> SpawnerSample -> Project -> 雙擊在 vs 中打開
或者,直接在 Project -> Assets/Creator Kit - Beginner Code/Scripts/Tutorial/ 下,雙擊在 vs 中打開
官方類庫
注意: 一定要使用英文官方網站的 api 文檔:Unity - Scripting API: MonoBehaviour
變量
函數
Unity 官方教程 - 函數簡介
C# 官方教程 - 方法
調試
輸出錯誤日志
debug.log
-
用 Console 查看錯誤提示和警告
-
用 vs 2019 進行 debug
可視化腳本 #
visual script
-
Visual Script 官方文檔
-
unity 可視化開發官方專題
-
unity 可視化編程官方教程
流程控制
C# 官方文檔 - 選擇語句 C# 官方文檔 - 迭代語句 C# 教程 - 通過分支和循環語句了解條件邏輯(強烈建議學習)
組件類
using UnityEngine; using CreatorKitCode;public class SpawnerSample : MonoBehaviour {public GameObject ObjectToSpawn;public int distance =2;void Start(){SpawnObject(15);SpawnObject(55);SpawnObject(95);}void SpawnObject(int angle){Vector3 direction = Quaternion.Euler(0, angle, 0) * Vector3.right;Vector3 spawnPosition = transform.position + direction * distance;Instantiate(ObjectToSpawn, spawnPosition, Quaternion.identity);} }總結
以上是生活随笔為你收集整理的Unity 官方教程2的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ftp上传文件出现“sftp: cann
- 下一篇: JNative用法注意事项