UE4入门学习3:GamePlay框架
| 文章 | UE4入門學習3:GamePlay框架 |
| 作者 | 游藍海( http://blog.csdn.net/you_lan_hai ) |
UE4為游戲開發提供了一套基礎的框架,在這套框架的基礎上,我們可以快速的構建出我們的游戲雛形。本文結合官方文檔《游戲架構快速指南》,來分析一下UE4的這套游戲框架。
Actor
什么是Actor
Actor是UE4里最基礎的場景元素,他類似與Unity3D里的GameObject,或者是Cocos2d-x的Node。Actor本身只是一個容器,沒有任何可視化的屬性,甚至連位置屬性也沒有。但是Actor可以擁有若干個可視化的組件(Component)來表示其外觀,Actor也可以擁有子Actor。
什么是組件
組件需要掛在Actor身上使用,可以理解為人身上的掛件;組件可以有位置屬性,Actor的最終位置是從其根組件來的;組件也可以擁有子組件。
人物
UE4提供了很多內置的Actor,便于游戲開發。
Pawn
Pawn是可以被控制的物體,也就是擁有Controller。可以認為Pawn是生物的基類。
Character
Character是人形的Actor,默認擁有一個用于碰撞的膠囊體組件(CapsuleComponent)和運動相關的組件(CharacterMoveMentComponent),并具有一些動畫相關的功能。可以認為是人性動物的基類。
控制器
控制器用于控制Pawn的行為,一般分為AIController和PlayerController。控制器也是從Actor派生的,因此也可以加入到場景中。
PlayerController
玩家控制器。是Pawn和控制其的玩家之間的橋梁,PlayerController代表了人類玩家的意愿。
AIController
用于控制NPC的控制器,決定了NPC如何與玩家互動。
顯示
HUD
平頭顯示信息,也就是我們常說的UI。顯示玩家的名字,血條,得分等信息。
相機
每個PlayerConroller都有一個PlayerCameraManager,代表了玩家的視角。
游戲規則和狀態
GameMode
游戲模式。處理游戲的規則,只存在與服務器端,因此客戶端相關的邏輯不能存放在GameMode中。
GameState
游戲狀態。記錄游戲的數據,比如當前游戲的進度,世界任務的完成狀態等,會自動同步到各個客戶端。
PlayerState
玩家狀態。記錄玩家個人的數據,比如名字分數等,會自動同步到各個客戶端。
總結
GamePlay框架使用了MVC架構,其中Pawn是視圖,PlayerState是數據模型,PlayerController是控制器。
一個游戲由游戲規則(GameMode)和游戲狀態組成(GameState);玩家在游戲里的化身是Pawn,玩家通過PlayerConroller控制著自己的化身,通過PlayerCameraManager觀察世界,PlayerState記錄了玩家的數據,HUD顯示了這些狀態;NPC則由AIConroller去控制,與玩家進行互動。
參考
1.游戲架構快速指南 https://docs.unrealengine.com/latest/CHN/Gameplay/Framework/QuickReference/index.html
本系列文章會和我的個人公眾號同步更新,感興趣的朋友可以關注下我的公眾號:游戲引擎學習。掃下面的二維碼加關注:
轉載于:https://www.cnblogs.com/ygxsk/p/7693965.html
總結
以上是生活随笔為你收集整理的UE4入门学习3:GamePlay框架的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python学习之路day1
- 下一篇: 高德地图-轨迹回放(二)