关于UDK GameFramework的一点总结
整体的类关系
Actor类
该类为场景中所有能够直接放置的物体的基类,该类继承自Object类,定义了放置在场景中的物体一些
基础性行为。所有在场景中直接放置的物体要使用Spawn放法进行生成,不要使用new关键字。因为Spawn方法生成后,
引擎会添加垃圾回收的相关操作。
我的理解是:引擎会把通过该方法生成的对象加入到场景树中,同时增加引用计数。在每次进行垃圾回收操作的时候,
引擎遍历场景树,根据引用计数,把不用的物体标志为不可达,然后在下一帧的时候进行清理。
Controller 和 Pawn
Controller类是控制器类,主要用于控制逻辑,Pawn类是实体类,应用具体的模型,动作,以及一些传感器
性质的部件。我们的巨佬讲解时,把Controller比作人类的灵魂,Pawn比作具体的肉体。玩家通过Controller来控制
Pawn,玩家的灵魂可以进行转移,来控制不同的Pawn。通过这种方式可以轻松的在拥有不同功能的pawn之间进行
切换,我想这应该就是模块化编程吧,高内聚低耦合。这种设计模式在进行AI开发时,优势特别明显。因为小怪的行为多数都是简单且雷同,小怪不同的外貌,具体
的动作。这样我们就可以用同一个控制器来控制,不同外貌动作的小怪,从而达到减少开发量,快速迭代的目的。
Component
Component 继承自Object,是Actor的扩展。通过给Actor添加不同的Component来增加Acotor的功能,
同时也可以通过Component来实现Actor的差异化,我想这应该就是组件化编程,好像还有个设计模式,我忘记了
。在目前的开发中用到的主要Component有ParitcleSystemComponet,StatciMeshComponnent,
SkeletMeshComponent,ColliderComponent等等,生成Component使用new关键字,在生成后要加入
到Component的数组中。当Actor被销毁时,Actor身上的组件也会被销毁。
结束语
做点总结,技术进步后面继续补充,如有说的不对的地方,请看到的同学批评指正。
关于UDK GameFramework的一点总结相关推荐
- Unity,UDK,Unreal Engine4或者CryENGINE——我应该选择哪一个游戏引擎
在digital-tutors看到的一篇文章,很多初学者都有这样的疑问,因此翻译到这里. 原文: http://blog.digitaltutors.com/unity-udk-cryengine-g ...
- GameFrameWork学习笔记(一)
目录 写在前面的一些废话 一.框架基础抽象类 二.框架入口 三.引用池和非托管内存 写在前面的一些废话 最近项目核心模块要重构,负责非核心模块的我就清闲了不少,想给自己充充电,唔,好像也不算充电,反正 ...
- 【游戏周边】Unity,UDK,Unreal Engine4或者CryENGINE——我应该选择哪一个游戏引擎
在digital-tutors看到的一篇文章,很多初学者都有这样的疑问,因此翻译到这里. 原文:http://blog.digitaltutors.com/unity-udk-cryengine-ga ...
- GameFramework:资源热更代码分析,检查版本信息,下载版本文件,校验版本文件,得到更新文件数量,下载文件,TaskPool
资源下载流程图 流程跳转的日志 版本信息-版本检测-下载版本列表-下载散文件代码分析 进入ProcedureCheckVersion.OnEnter流程,进行task请求,userData为StarF ...
- GameFramework篇:StarForce全解读(总目录)
说实话,我刚开始看这个官方案例的时候,其实心里是没底的,因为模块和封装着实有点夸张(别误会,是我层次低的原因,并不是说这样不好).好了,说这些是想告诉大家,不要慌,我一个菜鸡都能挺过来你们也可以,并且 ...
- UDK中Kismet处理输入及脚本输入处理
Ⅰ,Simple keypress detection in UDK using Kismet UDK中最简单的输入实现 UDK中处理消息相应,可以自行编辑,处理相应的UScript, 但这里,我们首 ...
- GameFramework——事件系统
委托和事件 要搞懂GF的事件系统,我们要先搞清楚什么是委托和事件 传送门 委托delegate我认为就是一种函数类型,从而可以绑定多个同种返回值,参数的函数用于同时触发,而事件event就是委托的一种 ...
- 零起点学算法07——复杂一点的表达式计算
零起点学算法07--复杂一点的表达式计算 Description 下面你来计算一个复杂一点的计算表达式 Input 没有输入 Output 输出表达式的值,保留2位小数 题目分析:根号要用sqrt来算 ...
- 关于位姿变换的一点体会
关于位姿变换的一点体会 1.题外话 2.刚体的位姿变换 2.1 位姿变换的定义 2.2 旋转矩阵的具体形式 2.2.1 二维情况 2.2.2 三维情况 3.旋转方向 4.平移方向 1.题外话 对于刚体 ...
最新文章
- 一文尽揽2018 Google I/O:谷歌让你感受到AI科技的魅力
- Hbase完全分布式高可用集群安装配置
- 产能不足?英特尔DG2 GPU将采用台积电7nm工艺
- 微信sdk 隐藏右上角菜单项
- 在计算机应用领域中媒体是指,在计算机中,媒体是指什么
- nero linux4 序列号,Nero Linux 4 Nero Linux v4.0.0.0b
- 【七日阅书】1.注重实效《程序员修炼之道—从小工到专家》
- 测试软硬件系统信息的工具 -- EVEREST Ultimate Edition
- CentOS8 Docker 端口映射
- Linux 服务器进行安全加固,防止黑客攻击
- Latex学习之插入编号-实心圆点列表,横杆,数字
- nginx resolver失败
- 微信群满100人后无法扫码进群?你们要的解决方法来了!
- Flutter 多渠道打包详解(埋点统计系列文章)
- alsa与PulseAudio
- 发送手机短信获取验证码功能
- jquery的$是什么意思与相关的
- ADV流速仪坐标系统
- 自学web前端练手——咖啡店主页(html+css3+js)
- Paillier同态加密算法
热门文章
- 【无标题】小程序开发网站建设前端网页制作美工H5
- 关于C语言全局变量的定义和用法
- 什么是调制(modulation) ?
- Linuxnbsp;2.6.19.xnbsp;内核编…
- 浅谈对Python的理解和优缺点
- 如何使用maven给Java打包
- 软考软件设计师下午真题-面向对象的程序设计与实现-状态设计模式(2011年下半年试题六))Java代码讲解
- 常见的网络协议与网络要素的介绍
- vfp和python比较_(原創) 由C/C++看VFP (技術感想) (C++/VFP)
- 进入空气稀薄地带,《朗读者》再现阿里云10年技术自主研发