zoukankan      html  css  js  c++  java
  • 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的最终位置是从其根组件来的;组件也可以拥有子组件。

    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去控制,与玩家进行互动。

    GameFramework

    参考

    1.游戏架构快速指南 https://docs.unrealengine.com/latest/CHN/Gameplay/Framework/QuickReference/index.html


    本系列文章会和我的个人公众号同步更新,感兴趣的朋友可以关注下我的公众号:游戏引擎学习。扫下面的二维码加关注:
    游戏引擎学习

  • 相关阅读:
    PAT 1088 三人行
    memset和memcpy
    算法训练 结点选择
    算法训练 K好数
    算法训练 最大最小公倍数
    算法训练 区间k大数查询
    算法训练 Eurodiffusion
    Kubernetes Device Plugins
    Kubeadm and Kops
    Go语言包管理工具Glide
  • 原文地址:https://www.cnblogs.com/ygxsk/p/7693965.html
Copyright © 2011-2022 走看看