摘要: 接上一回处理多个LUA状态机问题,暂时无法解决单个虚幻状态机对应多个LUA状态机问题,故先搁置,转而看看UnLua的设计,本文记录对其改进过程。 UnLua里面有个非常便捷的功能,就是在蓝图编辑器界面可以直接生成LUA代码模板,开始以为是基于反射生成的,看了下发现其实是从内置的LUA文件复制的, 非 阅读全文
posted @ 2020-04-09 12:40 夏至日道在于内衡 阅读(1399) 评论(0) 推荐(0)
摘要: Unreal默认同步方式能解决大部分轻量游戏的常用情况,不需要太多改动, 但仍然需要留意其一些内置函数的用法,此处略作简要记录。 一、单位隐身 单位隐身后,显然服务器不能在给敌方玩家同步隐身的单位的数据(包含位置,血量等),友方玩家的同步机制不变, 此时可以在服务器端的AActor::IsNetRe 阅读全文
posted @ 2020-04-07 15:09 夏至日道在于内衡 阅读(230) 评论(0) 推荐(0)
摘要: 此一回主要研究虚幻的反射类。 虚幻的反射类跟C++的静态编译类不同,可以在Runtime增删改,其概念更接近LUA的table。 UClass实质功能就是描述一段内存的内容,使用FProperty描述成员变量,UFunction描述反射函数。 FProperty描述了成员变量在Container(即 阅读全文
posted @ 2020-04-03 18:28 夏至日道在于内衡 阅读(744) 评论(0) 推荐(0)
摘要: 通常游戏中的单位/角色包含多个属性,比如生命值,移动速度,攻击力等等,游戏运行过程对属性修改非常频繁, 比如获得一个增益效果:角色基础血量提高10%,持续20秒;获得一个减益效果:最终血量降低100点,持续15秒。 为了统一描述属性,方便修改和回退属性,对于每个字段设计5个值,分别为基础值,基础增加 阅读全文
posted @ 2020-04-03 18:24 夏至日道在于内衡 阅读(511) 评论(0) 推荐(0)
摘要: 上一回实现了运行时创建枚举,这次再试试结构体,虚幻中的反射结构体是UScriptStruct的实例.同样,蓝图新建的结构体是UUserDefinedStruct的实例. 结构体由多个字段构成,虚幻中称为属性,即FProperty,FProperty描述了一个变量在一段内存的位置和大小,结构体通过链表 阅读全文
posted @ 2020-03-30 21:59 夏至日道在于内衡 阅读(618) 评论(0) 推荐(0)
摘要: 虚幻4中的蓝图系统可以在运行时创建枚举/结构体/类(把编辑器看作一个基于Runtime引擎完整的游戏产品),非常好用, 但是在实际使用中由于蓝图只能在编辑器创建,还是略有麻烦,所以准备在其他脚本语言实现无编辑器,此处以LUA为例. inside unreal系列文章有介绍反射系统,里面提以枚举入手, 阅读全文
posted @ 2020-03-30 21:18 夏至日道在于内衡 阅读(413) 评论(0) 推荐(0)