游戏开发
文章平均质量分 81
utmhikari
talk is cheap code is rich
展开
-
【游戏开发】用Lua编写UE4游戏逻辑——UnLua上手
大型的游戏项目包含许多错综复杂的业务逻辑,针对UE4游戏而言,如果纯粹采用C++编写的话,一方面会增加大量的劳动成本,影响效率,另一方面难以解决游戏热更的问题。lua作为胶水语言,能够与C/C++/C#等语言互通,简化业务逻辑编写,并且支持热更。针对UE4的游戏开发,UnLua以及sluaunreal都是采用lua编写逻辑的解决方案。作为一个没有怎么接触过游戏开发技术栈的小白,本文主要上手UnLua的使用。从github上,我们可以clone下来示例的project,编译后即可运行。整个demo的逻辑原创 2020-08-02 16:28:40 · 10090 阅读 · 0 评论 -
【游戏开发】踩坑UE4的Python脚本插件
UE4以C++为基础,在游戏开发需求当中,官方推崇的是Blueprint可视化编程,而除此之外像UnLua、puerts等解决方案也提供了lua、ts等其它脚本语言的支持。至于python,UE4本身就有插件支持,叫做PythonScriptPlugin,启用插件后,在编辑器里,可以输入python代码执行一系列命令。在最新的4.27版本中,python的版本是3.7.7。回到正题,之所以这篇文章标题叫踩坑,是因为真的踩坑了——尝试用PythonScriptPlugin来编写UE4的游戏逻辑,最终放弃。P原创 2021-11-21 01:28:21 · 3028 阅读 · 1 评论 -
【游戏开发】UE4下判断一个点是否在特定长方体内的计算方法
近期在研究寻路功能的测试工作,需要对玩家寻路过程中的行进轨迹进行采样,判断采样点是否在特定的寻路区域内。UE4自带了NavModifierVolume的actor,可以放置到场景里标识某个区域的寻路成本(不了解寻路相关背景的话可以参考先前的文章),因此我们做采样的时候,也需要判断某个点是否在特定的NavModifierVolume里。由于自己所负责的游戏是网游,NavModifierVolume最后导出给服务器用了,实际游戏里获取不到这些actor的数据,因此实际测试时,一方面需要下载服务器上的NavMod原创 2021-09-01 20:47:17 · 1814 阅读 · 0 评论 -
【游戏开发】UE4用C++编写行为树的Task、Service、Decorator节点
在游戏领域,行为树是常用的AI解决方案,用行为树可以快速明了地描述AI的行为模型,而UE4提也供了非常完善的行为树解决方案,不仅有用户友好的界面,而且也有多样化的底层支持。在官网的行为树快速入门指南中,我们可以了解到UE4行为树编辑器的使用以及用蓝图创造行为树节点的方式,而在一些特定的需求当中,蓝图相对于C++并不会非常灵活。因此,笔者稍微研究了下行为树C++层次中的内容,简单分享下行为树里各种节点的C++写法首先上一张行为树完整图,是基于场景查询系统(EQS)快速入门制作的:在官网EQS入门的例子原创 2021-08-21 14:48:58 · 3231 阅读 · 0 评论 -
【游戏开发】初识寻路&navmesh,探索RecastDemo
在手游时代,尤其对于大世界游戏而言,寻路的实现基本在专门的寻路服务器上进行。在众多寻路的解决方案中,recastnavigation是最为经典实用的一个,很多游戏甚至游戏引擎都采用类似的实现。recastnavigation项目自带了RecastDemo,用图形化的界面帮助用户认识寻路网格(navmesh)的生成以及寻路的过程。因此,作为初学者的笔者,也决定通过RecastDemo去初步认识寻路的机理奥秘。构建RecastDemo首先克隆recastnavigation项目,从文档中可以看到Recast原创 2021-08-07 21:41:59 · 2080 阅读 · 0 评论 -
【游戏开发】UE4联机渲染swarm agent配置
UE4在构建场景光照时,会启动swarm agent进行构建,但如果只用一台电脑会出现构建速度较慢的情况。为了加快编译的效率,需要配置联机渲染。首先需要注意的是,在UE4中自动打开swarm agent和手动打开swarm agent会用到不同的配置。因此,建议的方法是手动打开swarm agent进行配置(对于所有机器),然后再开UE4。每个swarm agent以及调度器swarm coordinator的可执行文件位置,都在引擎的Engine\Binaries\DotNET下在官方文档中,有Unr原创 2021-05-23 14:27:06 · 5137 阅读 · 2 评论 -
【游戏开发】用UE4的Subsystem来管理DataTable表格数据
在UE4游戏开发中,官方文档推荐了2套功能:Data Driven Gameplay Elements以及Programming Subsystems。我们可以结合这两者的功效,实现一个简单的表格配置数据管理模块。Data Driven Gameplay Elements讲述了一套通过DataTable数据表的asset驱动gameplay的方式。在C++代码中,我们可以预先定义好表结构所对应的USTRUCT,然后通过导入CSV文件的方式,去创建以该USTRUCT为结构基础的DataTable。这样在游戏原创 2021-02-17 00:59:53 · 1707 阅读 · 0 评论