UE4 框架

转自:http://www.cnblogs.com/NEOCSL/p/4059841.html

有很多人是从UE3 接触到Unreal,如果你也对UE3非常了解,便能很快的上手UE4。但是,UE4的开发模式还是有所不同的。

  

  1.谈谈过往,UE1和UE2。

  我知道在那个时候咱们一样挥霍美好的童年在玩游戏而不是做游戏,当然做游戏更挥霍你的青春XD

  UE1和UE2是为FPS设计的,使用UnrealScript来进行编程。说实话UnrealScript是最好的学习面向对象编程的语言。

  

  2.UE3

  添加了kismet。更多的模块类。但是仍旧以FPS为核心设计的

  3.UE4

  UnrealScript被下岗了,恭喜你咱们下岗了~。变成了Blueprint,这时候关卡设计师们大声叫好:”不再需要求着愚蠢的程序员帮我们实现系统了,哈哈“。

  游戏类型随意,Paper2D让你轻松制作2维游戏。

  还有许多工程实例供你学习。

  好了咱们向前看~

  5.UnrealScript vs.C++ vs.Blueprint

  这是许多人的疑问,看好戏吧

  6.UnrealScript

  ①面向对象编程,和C,C++,Java比较像。但是还是有区别的

  ②虚拟机编译,这和java一样,方便移植,缺点是速度慢效率低

  ③添加了许多有用的特性,State(说实话状态写AI简直是最完美的方案,我的游戏AI便是强依赖State).Timers(非常方便延迟执行),Delegates(容易引起崩溃,注意使用哦)

  7.Blueprint

  ①对艺术家和设计师来说就是逃离恶心程序员”这不可能实现“的最有力武器,你可以做到”你行你上啊~“。Kismet的伙计应该很容易上手

  ②还是虚拟机,和UnrealScript是一样的。因此,如果你很重视一个环节的执行效率,那么就是用C++

  ③和UnrealScript一样,但一些方面比UnrealScript强。例如你在添加Component中时可以不用关闭编辑器直接修改模型。实在是工农大解放啊...

  8.C++

  ①UE编程始终可以基于C++,除非你用UDK,你这个穷鬼XD

  ②紧密结合虚拟机,因为Blueprint变量和方法有时是需要和C++交互的

  ③为了替换UnrealScript为开发者已经大幅提升了?

  9.UE4基础元素

  ①Actor 

  我们又见面了Actor,Actor是在一个关卡中持续存在的,通常他包含几个Actor组件。支持网络复制和多人游戏。

  •  Actor不包含位置,方向。这些东西在Root Component中存储。对于UE3 中的Pawn也由PlayerCharacter继承了,因为他有MovementComponent包含跳跃,速度等属性
  • 由SpawnActor() 生成
  • 必须由Destroy来销毁
  •  在游戏中不能被垃圾回收

  ②什么是ActorComponent?

  • 能被复用的功能可以添加进入Actor
  • 包含一些最有趣的函数和事件
  • 能被Blueprint访问~

  ③组件例子

  •  Scene Component 添加形状和连接
  • Primitive Component 添加碰撞和渲染
  • UAudioComponent,UArrowComponent,UInputComponent,ULightComponent,UMeshComponent,UParticleSystemComponent等等...
  • 写过UnrealScript会对组件深有体会

  ④PrimitiveComponent组件事件举例

  •  Hit- 再碰到强的时候调用
  •  Begin/EndOverlap -进出一个Trigger
  • Begin/EndCursorOver 没用过
  • Clicked/Released 不解释
  • InputTouchBegin/End
  • Begin/EndTouchOver

 

   10.你就只认得个Pawn

  •   Pawn就是你的阿凡达
  • 这个傀儡被Controller操纵着
  • 通常处理运动和输入控制
  • 实现HP的好位置
  • 通常没有运动或是输入反馈的代码,你可以在Controller中写

  11.来见见老朋友Controller

  •   控制Pawn的傀儡师
  • 可以理解做就是玩家
  • AIController就是控制AI的
  • 一次只能Possess一个Pawn
  • 当Pawn死的时候可以继续存在,在我的游戏中让pawn死亡,游戏假重置,就是controller直接Possess一个新Pawn的
  • PlayerControlelr
    •   玩家阿凡达的接口
    • 处理点击,手柄,键盘
    • 显示和隐藏鼠标指针
    • 不需要Pawn表示的好地方
    • 菜单,语音聊天...

一些别的有用选项  

  12.Character

  这是使用过UE3的人学习UE4最困惑的地方,有了Pawn为什么还要扩展PlayerCharacter?

  •  这是一种能走的Pawn,因为包含了MovementComponent
  •  和上边一样,添加了一些有用的组件
  • 处理碰撞
  • 处理客户端角色运动
  • 比UE3有更大的升级

  13.HUD

  •   还有一些绘制API
  • 没有构建HUD的工具
  • UMG直接提供所有的东西,我讨厌老旧UI系统。UMG让人解放了

  14.GameMode

  •   还记得GameInfo吗,实现游戏规则用的
  • 配置Pawn,Controller和HUD是谁
  • 能在任何地方被访问,我来告诉你API GetGameMode()
  • 只在服务器和单机实例中存在
  • GameState是被用来在客户端复制状态用的
  • 默认游戏类型可以在Project Settings中被设置
  • 每个地图都有自己的GameMode,需要你亲手设置

  15.Input

  •   这是我对UE4最赞赏的改进之一,你直接在编辑器中添加Bind而不是让你眼花的配置文件中
  • 在Project Settings中设置去吧
  • 获取指令  
    •   PlayerController
    • Level Blueprint
    • Possessed Pawn

  16.碰撞

  •  有多种碰撞处理的方法

    •   线性检测 Line Trace
    • 体积扫过 Geometry Sweeps
    • 重叠测试 Overlap tests
  •   简单的碰撞

    •   Box,胶囊,球,多边形
    • 在运动和物理模拟的时候都需要
  •   复杂碰撞
    •   实际用于多边形
    • 武器和反向动力

 

时间: 2024-12-28 21:20:41

UE4 框架的相关文章

ue4 c++框架 常用

自用,无排版 1.GetPlayerController APlayerController* LocalPlayerController = UGameplayStatics::GetPlayerController(GetWorld(),0);

UE4新手编程之代码初试

虚幻4中常用的按键和快捷键 虚幻4中有一些按键和快捷键很常用,牢记它们并运动到实际的项目开发中,将会大大地提高你的工作效率和使得工作更简便快捷.下面将列举它们出来: 按键 动作 鼠标左键 选择actor 鼠标左键+拖动 前后移动和左右旋转摄像头 鼠标右键 选择actor并打开右键菜单 鼠标右键+拖动 旋转摄像头方向 鼠标左键+鼠标右键+拖动 摄像头上下左右移动 鼠标中键+拖动 摄像头上下左右移动 滑轮向上 摄像机向前移动 滑轮向下 摄像机向后移动 F 聚焦选中的actor 箭头方向键 摄像机前后

游戏开发之UE4添加角色到场景中

接着上次继续学习,现在我们已经有了一个场景并且运行了,我们需要添加一个角色到场景中.要这样做,我们必须从UE4的GameFramework类继承它. 一. 创建一个从Character类继承的类 从基本框架类继承是很简单的: 1) 在项目中打开你的UE4编辑器. 2) 在文件,选择"新建C++类". 3) 这里你可以选择从Pawn类(Pawn类从控制器接收输入)继承或从Actor类继承.不过我们可以这里选择从Character类(角色)继承. 4) 点击继续,然后你可以命名这个类.这里

深入浅出UE4网络

UE4中的官方文档结构比较混乱,且有部分错误,不方便学习.笔者试图通过本文,整理出一篇关于UE4网络的文章,方便朋友们对UE4中的网络同步部分的认识,并有进一步理解.如有讲得不清楚明白的地方,还望批评指正. 本文的结构如下: 一.UE4网络综述 二.UE4中的几种同步方式 1.Actor Replication 2.Property Replication(RepNotify与Replicated Using的区别) 3.Function Call Replication 4.Actor Com

Unity3D for VR 学习(2): 暴风魔镜框架探索

学习一个新技术,有三个法宝: 法宝1: 掌握厂家提供的用户API手册 法宝2: 掌握厂家提供的demo样例 法宝3:<每个研发人员都应树立的一个demo模式> 故,学习魔镜4技术,亦如是也. 暴风魔镜4是 硬件 + 暴风VR SDK软件的CardBoard VR解决方案. 硬件 魔镜4硬件提供了展示容器工具,主要由2个凸透镜和塑料头盔构成.故为了看到效果酷炫的VR效果,必须要依赖5寸以上Android手机–720P以上,把通过暴风魔镜SDK做的App放入里面,通过暴风魔镜凸透镜才能看到VR的效

《Inside UE4》目录

InsideUE4 UE4无疑是非常优秀的世界上最顶尖的引擎之一,性能和效果都非常出众,编辑器工作流也非常的出色,更难得宝贵的是完全的开源让我们有机会去从中吸取营养,学习世界上第一流游戏引擎的架构思想. 本系列教程<Inside UE4>,希望从最最底层的C++源码剖析,到最最上层的蓝图节点,力求解释清楚各个选项的内部运作机理.希望做到知其然,而更要知其所以然.也UE4也是一个非常博大精深的引擎,分析透彻各个具体模块的运作机理无疑也是个艰巨的任务,因此书写周期不定,尽量周更. 计划(顺序不定)

UiAutomator Android 的自动测试框架(基础)

</pre>很久没更新博客了,今天至后期的一段时间将带给大家的是<span style="font-family: 微软雅黑; font-size: 14px; line-height: 21px; widows: auto;">UiAutomator android的自动测试框架,一系列的介绍,希望大家喜欢.</span><p></p><p><span style="font-family: 微软

从外围了解UE4

我的游戏终于全球发售咯,在97个国家得到AppStore首页推荐.当前在美国和加拿大付费排行榜的最好成绩是36名.这是当前国内最好成绩的iOS游戏吗?可能,也许吧. 更好的消息是SCE联系了我们,我们将会踏着快船向PlayStation家族进发. 停止沾沾自喜,收集了大量的UE4 官方ppt,这可以让我们从外围解读. 1.虚幻4 的概览:一个程序员对UE4的一瞥 好吧,你会被吓到的. 虚幻4不像你的老奶奶一样,她非常的火辣哦 他有5000以上的目录结构,40000以上的文档.好吧大师,你来上吧

Introduction to C++ Programming in UE4——UE4官方文档翻译与理解(一)

UE4这篇官方文档大体上讲解了UE4本身的诸多特性以及如何编写基本的C++代码,对理解UE4的编程基础内容非常有帮助,还是因为没有对于的汉语翻译.所以,这里我把这篇文档翻译出来,之后还会简洁的对其进行必要的总结.由于内容比较多,会分两个部分进行编写,持续更新~ Unreal C++ is Awesome!(虚幻4的C++是了不起的) This guide is about learning how to write C++ code in Unreal Engine. Do not worry,