随笔分类 - Unreal Engine 4
摘要:完全可行,速度很快,智能提示、代码格式化、查找Symbol等等都不比VS+Visual AssistX 差。 准备 1. 打开编辑器的Editor Preferences Source Code,选择VSCode 2. 在工程的uproject文件上右键 Generate Visual Studio
阅读全文
摘要:添加模块在这篇文章里已经有详细的描述了: https://orfeasel.com/creating-custom-modules/ 但是这篇文章中少写了一个步骤: 最后要在 <工程名>Editor.Target.cs 以及 <工程名>.Target.cs 中做一点修改: 这里也要加入新的模块名称字
阅读全文
摘要:之前的项目中使用Arduino做UE4的输入设备时候需要用到UE4Duino这个插件,以字符串的形式从Arduino中组装信息并发送到串口,使用UE4Duino进行解析,过程比较麻烦。 最近发现的一个工具UnoJoy可以把Arduino变成一个游戏手柄,开发和调试就简单多了。不过要注意它只能模拟一些
阅读全文
摘要:1. 找到引擎目录下Plugins/Marketplace/插件名称,移动到工程的Plugins目录下 2. 移除引擎中的插件,具体方法: 第二步是必须的,否则将会有两个版本的相同插件
阅读全文
摘要:打开界面 MergeActors的界面在Window>DeveloperTools>MergeActors 启用合并材质的方法 使用Use specific LOD Level 一种特殊情况 合并材质适用于多个物体材质不统一的情况,但是如果场景中有大量类似物体,材质和uv也都很统一,那么合并材质就会
阅读全文
摘要:可能原因 1. 场景中没有LightmassImportanceVolume,或者LightmassImportanceVolume设置有问题 这里着重讲一下后者。据一些用户反馈,LightmassImportanceVolume的Scale不能修改,要保持(1.0,1.0,1.0),而修改大小的任
阅读全文
摘要:大家知道在Unity里做UI,利用Prefab是少不了的,但是在UE4里如何做呢? 这是实际工作中遇到的问题,我Google关键词“UMG Prefab","UMG resuable”,没发现相关的话题,就自己研究了一下,发现其实UMG里是可以把一部分UI做成"Prefab"的。 大家都知道UMG里
阅读全文
摘要:背景介绍: 用Node.js,express,Mongo搭建了一个简单后台,为项目提供REST风格的API服务。 第一个查询是通过Get进行,返回一个json字符串。 在虚幻里使用VaRest来进行访问API是一个很好的选择。折腾了半天,才摸索出请求json的最佳实践: 切记Construct Js
阅读全文
摘要:I. Replication Replication指的是 从服务端向客户端 传递数据和信息的行为。注意是单向的,不会从客户端传递信息和数据到服务端。 假设一个Actor被设置为Replicates, 当且仅当它被服务端生成 ,那么它会被所有客户端生成,并被Replicated。言外之意,即使是Re
阅读全文
摘要:I. 教程案例框架描述 该套教程做了一个简单的汽车控制系统,没有用到物理模拟。用油门和方向控制汽车的加速度和转向,同时还有一些空气阻力和滚动摩擦力的设置增加了真实感。汽车的位置是通过加速度和时间等计算出来的。 关键的参数包括:加速度,速度,质量,最大驱动力,最小转弯半径等。 详细的计算方式就不细说了
阅读全文
摘要:Udemy上的教程《Unreal Multiplayer Mastery - Online Game Development in C++》中对Actor Roles的总结非常直观到位,一看就懂,而且忘不了。 相比之下纯文字的官方文档逊色不少,希望官方文档也能做的更人性化一些,而不是仅仅追求严谨。
阅读全文
摘要:工程中测试 创建bat文件,格式如下: UE4Editor.exe路径表示虚幻编辑器相应版本的UE4Editor.exe的绝对或者相对路径,如果路径名称中有空格,需要用引号把路径包裹住 工程文件名表示uproject文件的绝对或相对路径,如果路径名称中有空格,需要用引号把路径包裹住 [地图名及参数]
阅读全文
摘要:RepNotity的作用 把变量设置成RepNotify除了像C#语言中的"属性"一样,提供一个改变变量时调用一个函数的机会以外,其真正重要的作用其实是应对网通同步延迟问题。 一定要牢记网络同步是需要时间的,不像单机编程一样,程序的执行是同步的,即时的。 每个设置成“replicated"的属性的同
阅读全文
摘要:效果描述 一个服务器,两个客户端,让他们连接后分别生成不同的Pawn,并且在不同的位置生成。 意义 这是个项目需求,但是我发现如果能够彻底理解并制作出这个功能,会对虚幻4内置的网络功能以及一些重要的Gameplay 的类有更深入的了解。 目前已有解决方案 在Google上也搜了好久,但是相关信息并不
阅读全文
摘要:Service中可以override的函数有8个,因为每个函数都有个AI版本的,所以实际上是4组函数,AI版本的和非AI版本基本一样, 他们分别是: Receive Search Start (AI) Receive Activation (AI) Receive Tick (AI) Receive
阅读全文
摘要:运行时,按下引号键('),就会出现AI的Debug信息,包含 四个大的分类,可以通过键盘上的1234键来显示和关闭相应的选项。 另外在EQS模式下还可以按*键切换显示查询点 按下Tab键可以自由移动视角(和角色脱离)
阅读全文
摘要:比如自定义了一个玩家的Context, 那么需要把这个玩家直接放置到场景中 在Context中override Provide Single Actor函数,按类型获取所有的Actor,其中第一个作为返回值即可。 测试效果:
阅读全文
摘要:用4.16版本跟着网上的几篇Montage教程(分别是对应4.6和4.8版本)做,遇到各种各样的问题,经过各种搜索和分析,最终终于搞定了。 4.16版的Montage和之前有了不小的变化,总结如下: Root Motion 以前Montage里可以设置是否使用RootMotion,现在已经不复存在了
阅读全文
摘要:工作中需要,就总结了一下,如下图:
阅读全文
摘要:QueryContext 查询环境,表示以哪个东西作为查询参考点 两个常量: EnvQueryContext_Querier表示查询者本身作为查询参考点,假如查询者为敌人的AI,那么就代表敌人本身。 EnvQueryContext_Item 表示生成的点本身 另外可以自己定义QueryContext
阅读全文