04 2020 档案

摘要:在UnLua插件中可以直接使用协程编写蓝图中LatentAction逻辑,实现延迟执行线性逻辑。 典型用例:在蓝图中可以调用delay函数,不过,仅能在事件图表使用,因为整个事件图标是作为一个蓝图函数处理的,在Delay或者说是LatentAction位置就记录节点ID,待计时器触发,继续执行图表函 阅读全文
posted @ 2020-04-21 13:47 夏至日道在于内衡 阅读(1198) 评论(0) 推荐(0)
摘要:前几回初步实现了在LUA层中新建UClass,让C++自动调用Lua函数,但因为虚幻是单个脚本状态机,不方便处理多个LUA状态机,本文尝试初步解决该问题。 参考UnLua插件后暂时搁置在LUA中新建UClass的方式,改用Hook的形式修改先修的UClass里面的函数实现C++自动调用LUA函数。 阅读全文
posted @ 2020-04-15 18:32 夏至日道在于内衡 阅读(826) 评论(0) 推荐(0)
摘要:通常情况下安装还Unreal后,会自动关联uproject文件,但偶尔也会出现关联失败或者被损坏,又不想去Launcher里面点验证(太慢了), 有个简洁的办法是用命令行成成代码改成文件,批处理如下: Linux和Mac会陆续追加 阅读全文
posted @ 2020-04-12 18:51 夏至日道在于内衡 阅读(670) 评论(0) 推荐(0)
摘要:接上一回处理多个LUA状态机问题,暂时无法解决单个虚幻状态机对应多个LUA状态机问题,故先搁置,转而看看UnLua的设计,本文记录对其改进过程。 UnLua里面有个非常便捷的功能,就是在蓝图编辑器界面可以直接生成LUA代码模板,开始以为是基于反射生成的,看了下发现其实是从内置的LUA文件复制的, 非 阅读全文
posted @ 2020-04-09 12:40 夏至日道在于内衡 阅读(1415) 评论(0) 推荐(0)
摘要:Unreal默认同步方式能解决大部分轻量游戏的常用情况,不需要太多改动, 但仍然需要留意其一些内置函数的用法,此处略作简要记录。 一、单位隐身 单位隐身后,显然服务器不能在给敌方玩家同步隐身的单位的数据(包含位置,血量等),友方玩家的同步机制不变, 此时可以在服务器端的AActor::IsNetRe 阅读全文
posted @ 2020-04-07 15:09 夏至日道在于内衡 阅读(233) 评论(0) 推荐(0)
摘要:此一回主要研究虚幻的反射类。 虚幻的反射类跟C++的静态编译类不同,可以在Runtime增删改,其概念更接近LUA的table。 UClass实质功能就是描述一段内存的内容,使用FProperty描述成员变量,UFunction描述反射函数。 FProperty描述了成员变量在Container(即 阅读全文
posted @ 2020-04-03 18:28 夏至日道在于内衡 阅读(770) 评论(0) 推荐(0)
摘要:通常游戏中的单位/角色包含多个属性,比如生命值,移动速度,攻击力等等,游戏运行过程对属性修改非常频繁, 比如获得一个增益效果:角色基础血量提高10%,持续20秒;获得一个减益效果:最终血量降低100点,持续15秒。 为了统一描述属性,方便修改和回退属性,对于每个字段设计5个值,分别为基础值,基础增加 阅读全文
posted @ 2020-04-03 18:24 夏至日道在于内衡 阅读(556) 评论(0) 推荐(0)