首页 > 代码库 > 写在我第一个虚幻程序之前

写在我第一个虚幻程序之前

        最近再在学习虚幻4,由于俺是程序员,对于蓝图什么的不太熟练(也没兴趣),所以我跳过官网教程前两个,直接学习programming guide 呵呵。由于我自己仅仅会cocos2dx,对于3d的一些术语不太熟悉所以看到这篇文章的大神们请多多指点。下图整个架构组件之间的联系:

              

        

我就直接从官网截个图(太懒了)。

AActor 是整个架构最基础的能显示在场景中的节点(类似cocos2dx中CCNode我是这么理解的)

UObject 是整个架构中最父类(cocos2dx 中的Ref)。

和cocos2dx 不同的是,虚幻4 是面向组件编程(听着就比cocos2dx高了不止一个档次呵呵)

UE4有很多个Module, GamePlay部分也是一个或多个Module, 每个Editor也是一个Module

  • 搜索了一下, Module总数170+, 总共分三类: Runtime, Editor, Developer
  • Runtime这边比较重要的是Core, UObject, Engine
    • Core
      • 数据类型
      • 数据库
      • 容器
      • IO/Log
    • UObject: 所有对象的基类. UE中还有个约定是Object代表不是Actor的对象
      • 反射(不可思议吧c++竟然可以反射)
      • 序列化
      • 文件包
    • Engine
      • Actor: 由Component所组成的集合, 并且可以不断地Tick
      • Component: 组成Actor的功能组件, 如USceneComponent管理transform, UPrimitiveComponent代表几何信息
      • Level: 关卡
      • World: 游戏世界, 管理Level, Actor, Controller等 
  • Gameplay
    • GameMode: 定义游戏规则. 
    • GameState: 管理游戏状态, 
    • Pawn: 可以被玩家或者AI控制的Actor
    • Character: 人形的Pawn. 默认带有胶囊体碰撞和移动组件
    • Controller: 控制器, 分PlayerController和AIController
    • HUD: 2D信息, UI之类
    • Camera: 玩家的视角. 值得注意的是PostEffect是跟相机关联的

写在我第一个虚幻程序之前