![](https://img-blog.csdnimg.cn/20200714110933983.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Unreal Engine
文章平均质量分 83
UE4
Bob__yuan
这个作者很懒,什么都没留下…
展开
-
【UE4】打包失败 Failed to build UATTempProj.proj
UE 打包失败 Failed to build UATTempProj.proj原创 2022-11-23 20:52:46 · 2507 阅读 · 2 评论 -
【UE4】NiagaraSystem / ParticleSystem 自动添加 Module
Niagara/Cascade自动添加Module原创 2022-06-07 22:16:59 · 1092 阅读 · 1 评论 -
【UE4】用 AssetRegistry 获取编辑器中所有 MI
在编辑器中经常有遍历所有 xx 类型的资源,然后进行一些逻辑,比如查找所有BlendIn 是 0 的蒙太奇,或者所有 Replicated 是 false 的 Actor 等等。原创 2022-01-29 14:08:00 · 2471 阅读 · 0 评论 -
【UE4】Bounds 详解
本文使用 UE 4.26 ActionRPG 示例项目,对 Bounds 进行学习和总结。一、Bounds 是什么 / 有什么用 任何的游戏引擎,最终呈现出在屏幕上的效果,都是经过和很多变换和计算从三维世界空间,转成屏幕像素空间才能够被玩家看到的,这个过程中,摄像机的位置,FOV,物体的位置,透明度,深度值等等信息,都能影响物体在最终屏幕上的位置和大小,如果每个物体的每个点都要计算,计算量太过庞大,所以每个物体先进行可见性剔除,对于完全不可见的物体,就可以在流程中很早地舍弃掉,减少很多计算。 .原创 2021-09-05 14:34:36 · 3528 阅读 · 0 评论 -
【UE4】特效之 Particle System 详解(二)—— 特效池
一、特效池是干嘛的1.1 使用特效池的目的 ParticleSystem(俗称粒子特效)的释放最终调用的都是 CreateParticleSystem 函数,如下所示:UParticleSystemComponent* CreateParticleSystem( UParticleSystem* EmitterTemplate, UWorld* World, AActor* Actor, bool bAutoDestroy, EPSCPoolMethod PoolingMethod)原创 2021-07-25 11:44:58 · 2845 阅读 · 1 评论 -
【UE4】在 Content 目录中查看、筛选资产
本文使用 UE4.26 的记录一下在编辑器 Content 目录下查找所有 xx 类型的 BP 的方法一、@TOC原创 2021-07-22 18:03:43 · 3360 阅读 · 1 评论 -
【UE4】枚举类型输出
在 UE 中,设计一个枚举类型可以用如下方式:UENUM(BlueprintType)enum class ESeriaPlayerState : uint8{ ENone = 0xFF UMETA(Hidden), EIdle = 0, EBattle = 1, //战斗状态 ENum UMETA(Hidden),};原创 2021-06-12 21:10:15 · 2529 阅读 · 0 评论 -
【UE4】关于UE和游戏,应该知道的一些英语知识
本文记录一些做游戏,以及用 UE 引擎,需要知道的一些基础英语知识,以及一些自己的理解,可能会更多从程序的角度讲述。如有不对,欢迎指点、讨论。一、缩写 / 简称1.1 一些单词的简称简称全称含义 / e.g.ASCAbility System ComponentUAbilitySystemComponentCDOClass Default ObjectGetDefaultObject()CDCool Down一般用来表示技能冷却时间GASGa.原创 2021-06-04 22:52:52 · 1701 阅读 · 1 评论 -
【UE4】DataTable - 数据表
本文使用 UE 4.26,引擎自带 ARPG 项目,从代码和编辑器两个方面记录一下 UE4 中的 DataTable,也就是数据表的用法。一、DataTable 是什么 DataTable 就是数据表(以下简称 DT),也就是二维的,M 行 N 列的矩阵,如下图所示: 是一个 5 行(Row),三列(Col)的数据表。程序可以通过策划配置的数据表找到对应关系做相应的逻辑,对策划很友好。二、编辑器中使用2.1 创建一个数据表 在编辑器中,右键,Miscellaneous -> D.原创 2021-06-02 11:10:01 · 8093 阅读 · 1 评论 -
【UE4】Montage NextSection 问题记录
本文使用 UE4.26,以及 GAS 系统,记录一下 Montage Next Section 的一个问题一、问题背景和表现1.1 问题背景 在 UE4 中,有时候需要在播放 Montage 的同时修改 Section 的连接关系(关于 Montage 和 Section 的含义和用法可以参考 这里),比如有时候想第 1 段后边接第 2 段,有时候想接第 3 段,这时候可以用 UGameplayAbility::MontageSetNextSectionName 设置第一段的下一段是哪个,然后就.原创 2021-05-28 14:59:26 · 935 阅读 · 0 评论 -
【UE4】特效之 Particle System 详解(一)—— 综述
本文使用 UE4.26 版本,对 UE 中的粒子特效 (Particle System) 进行学习,总结,主要包括:特效编辑器 CascadeParticle一、Cascade 与 Particle System1.1 Cascade 里的术语 在 UE 中编辑 ParticleSystem 的编辑器叫 Cascade(双击打开一个 Particle System 资源即可),界面如下图所示: 右侧中间的这部分最重要,是 Emitters,即粒子特效。 其中每一个竖着的方块每一个.原创 2021-05-19 17:30:56 · 8594 阅读 · 2 评论 -
【UE4】通过动画序列自动生成蒙太奇(In Code)
一、功能背景二、实现效果三、实现方法四、参考资料原创 2021-05-18 12:59:20 · 2083 阅读 · 1 评论 -
【UE4】消息框
一、效果二、实现 UE4 中的消息类型如下:namespace EAppMsgType{ /** * Enumerates supported message dialog button types. */ enum Type { Ok, YesNo, OkCancel, YesNoCancel, CancelRetryContinue, YesNoYesAllNoAll, YesNoYesAllNoAllCancel, YesNoYesAll,原创 2021-05-08 16:40:20 · 1644 阅读 · 1 评论 -
【UE4】动画通知
本文总结 UE4 中动画通知 AnimNotify(动画通知状态 AnimNotifyState)的源码分析以及问题总结。一、动画通知简介 动画通知是 UE4 中主要配置在动画(Animation)或者动画蒙太奇(AnimMontage)上的通知,通过动画的运行驱动通知的触发。通知分为两种:AnimNotify(动画通知) – 没有时长;只有 Notify 方法;详见 AnimNotify.hAnimNotifyState(动画通知状态) – 有时长(TotalDuration);有 N原创 2021-04-08 15:54:08 · 2015 阅读 · 0 评论 -
【UE4】在 Dedicate Server 上刷新一帧骨骼 Mesh Pose
问题描述 在 UE4 中,为了性能优化,常会在 Dedicate Server 上把 Mesh 的 Tick 关掉(即 OnlyTickMontagesWhenNotRendered),使其在在服务器上保持 TPose,只在客户端上实时刷新 Mesh Pose(即 AlwaysTickPoseAndRefreshBones)。if (GetNetMode() == NM_DedicatedServer && GetMesh()){ GetMesh()->VisibilityB原创 2021-02-23 18:17:26 · 1057 阅读 · 3 评论 -
【UE4】TriggerAnimNotifies 递归调用问题
AnimNotifyState 的 Trigger 核心是三个数组:ActiveAnimNotifyState: 记录上一帧在 Active 的 NotifyState(简称 Act)NotifyQueue.AnimNotifies: 记录这一帧 Montage 上所有 Notify(包括 Notify 和 NotifyState)NewActiveAnimNotifyState(局部变量): 通过 1 和 2 计算出有哪些是这一帧新的 NotifyState(简称 NewAct)Notify原创 2021-02-23 17:50:04 · 665 阅读 · 0 评论 -
【UE4】AnimNotify 相关源码分析
一、问题描述 UE4 中的动画通知分为两种:AnimNotifyAnimNotifyState 第一种是只有 Begin 的触发一次的 Notify,第二种是有 Begin 和 End 以及 Tick 的有持续时间(在动画条上有长度的 Notify)。本文讨论内容只关于 AnimNotifyState。 对于 AnimNotifyState,UE4 官方文档中说明:可以保证从 Notify Begin Event 开始可以保证从 Notify EndEvent 结束可以保证 No原创 2020-11-20 12:06:17 · 1294 阅读 · 0 评论 -
【UE4】Enable / Disable RootMotion at RunTime in Montage
MeshComp->GetAnimInstance()->SetRootMotionMode(ERootMotionMode::IgnoreRootMotion);原创 2020-11-17 16:34:11 · 1649 阅读 · 2 评论 -
【UE4】Slomo 顿帧
fsd原创 2020-11-16 15:20:12 · 3240 阅读 · 0 评论 -
【UE4】Github 上访问 Unreal Engine 的源码
111原创 2020-09-18 14:37:05 · 3936 阅读 · 0 评论 -
【UE4】LineTrace 功能详解
LineTraceSingleGetWorld()->LineTraceSingleByObjectTypeGetWorld()->LineTraceSingleByChannelUKismetSystemLibrary::LineTraceSingleUKismetSystemLibrary::LineTraceSingleForObjects原创 2020-09-01 16:44:48 · 9644 阅读 · 0 评论 -
【UE4】Camera Shake 震屏
本文使用的引擎版本是 UE 4.25.1,使用 “Third Person” 模板。一、创建 Camera Shake 步骤如下:在 ThirdPersonBP 的 Blueprints 文件夹中创建一个 “Blueprint Class”,选择 Parent Class 为 “CameraShake”,命名为 “OnCamShake”,里边的参数设置如下,其中"Oscillation Duartion" 是震动时间,Pitch、Yaw、Roll分别对应摄像机绕着自己的 Y、Z、X 轴的原创 2020-07-14 11:01:29 · 6063 阅读 · 0 评论 -
【UE4】Unlua luaL_dostring、luaL_loadstring
luaL_loadstring 之后调用 lua_pcall 会出错。 luaL_dostring 的定义如下:#define luaL_dostring(L, s) \ (luaL_loadstring(L, s) || lua_pcall(L, 0, LUA_MULTRET, 0))结论 用 luaL_dostring。。原创 2020-07-13 18:06:56 · 1407 阅读 · 0 评论 -
【UE4】径向模糊 RadialBlur(PC and Mobile)
效果示例 图片为百度上找的 径向模糊 的示例图(网游中常见的轻功,向前飞的时候,屏幕会变得模糊,给玩家一种 冲刺加速 的感觉,这种模糊是从屏幕中心,沿着一圈圈同心圆向外传递的,这就是径向模糊 Rdial Blur)。实现方法 首先需要在 UE4 中创建一个 Material(UE4 中的材质都是创建一个 Material,然后用的时候用这个材质创建 Instance,这样调整 Instance 不会修改原始 Material吗,就像类的实例化,然后分别调整每个实例。)。 创建 Materi原创 2020-06-20 10:54:33 · 3290 阅读 · 2 评论 -
【UE4】Change Image in UMG in game
原创 2020-06-12 17:34:02 · 2707 阅读 · 0 评论 -
【UE4】AI NPC 重生后不动(Controller无法possess)
原创 2020-06-11 12:02:25 · 2284 阅读 · 5 评论 -
【UE4】Virtual Joystick 用蓝图解决两个手指触屏冲突问题
在 UE4 中制作手机游戏(比如第三人称3D游戏,就像吃鸡手游)时,会需要对角色进行移动和视角的控制。UE4 中提供了默认的 Virtual Joystick 也就是虚拟摇杆。在引擎中 “Edit” 下的 “Project Settings…” 中 “Input” 里的 “Default Touch Interface” 中可以选择(也可以直接搜 “Touch”)。 默认情况,引擎文件夹是不显示的,也没法搜到引擎文件中的内容。需要在 “View Options” 中将 “Show Engine Co原创 2020-06-08 15:00:11 · 3314 阅读 · 0 评论 -
【UE4】移动端 Virtual Joystick 和 UMG button 冲突
问题说明 joystick摇杆和UMG button在移动端冲突的问题:按住摇杆时,UMG button按了不起作用。解决办法 UMG button的Is Focusable属性设置为 false。 参考:[UE4]移动端Joystick和UMG button冲突的问题...原创 2020-06-07 14:14:00 · 2126 阅读 · 1 评论 -
【UE4】快捷键
UE4引擎中的快捷键:Ctrl + B在 Content Browser 中所搜一个文件的时候,Ctrl + W原创 2020-05-29 17:43:34 · 6204 阅读 · 0 评论 -
【UE4】Aim Offset
实现效果参考资料文档 - Unreal 官方文档 - Aim Offset(对配置没有什么用,只是介绍)视频 - Youtube 教学 - UE4 TPS Aim OffSet Setup Part 6(我是跟着这个视频做的)文档 - 使用 Animation Starter Pack 进行配置(这个文档应该就是上边视频的总结版)...原创 2020-05-29 16:21:43 · 447 阅读 · 0 评论 -
【UE4】Android Preview 模式下,材质显示异常
Preview Rendering Level 在 Unreal 中,想要设计手机玩的游戏,可以修改 Render 模式来查看。 上图中 “Preview Rendering Level” 中三个选项分别对应 电脑、安卓机、ios。打开安卓的 preview 之后,途中红框的安卓小人就变成了黄色底,再次点击可以关闭。Android Preview 材质显示异常 实际使用过程中,会碰到原来效果没有问题,但是切换到 Android 就显示出问题的情况,如下两图所示。上图是正常效果,下图是切换之后原创 2020-05-29 10:14:08 · 2426 阅读 · 0 评论 -
【UE4】导入 .uasset 文件,迁移资源
一、项目资源迁移 在 Unreal 中导入 .uasset 文件,经常会出错。因为 Unreal 的文件连接关系很复杂,在项目与项目之间移动资源,直接复制粘贴是肯定不行的,要在引擎中打开原有项目,选择要移动的资源,比如是一个关卡(level)。应该右键需要移动的关卡文件,选择 “Asset Actions” 中的 “Migrate”,即 “迁移”。 这时候会弹出一个问你当前项目中没有保存的文件需不需要保存,保存之后,就会弹出与选中的 level 有关系的所有文件,以及对应的组织关系。然后在选择想要原创 2020-05-28 20:48:39 · 19834 阅读 · 6 评论 -
【UE4】创建首个关卡
UE4 构建首个关卡 本文利用 UE4 中的 “Third Person” 模板,从空项目创建出一个小关卡出来。最终效果:参考资料:虚幻引擎入门 第一个小时具体步骤1. 创建 Third Person 游戏项目 在 Epic Games Launcher 中启动 UE4 引擎,创建新项目,选择 “Games” Category,“Third Person” Template。Project Settings 的设置方式可以参考:Project Settings。2. 创建level原创 2020-05-26 15:36:51 · 2131 阅读 · 0 评论 -
【UE4】添加一个 AI NPC
1原创 2020-05-26 15:27:02 · 2459 阅读 · 0 评论 -
【UE4】UAbilityTask_Repeat 潘森E技能
结构ModuleGameplayAbilitiesHeader/Engine/Plugins/Runtime/GameplayAbilities/Source/GameplayAbilities/Public/Abilities/Tasks/AbilityTask_Repeat.hInclude#include “Abilities/Tasks/AbilityTask_Repeat.h”SyntaxUCLASS () class UAbilityTask_R原创 2020-05-24 17:57:33 · 709 阅读 · 0 评论 -
【UE4】“xxx.generated.h”
摘自 https://zhuanlan.zhihu.com/p/115750451当一个头文件中 include “xxx.generated.h“,意味着这个头文件加入了反射系统。那些 UPROPERTY, UFUNCTION 之类的宏,也标记着这些方法属性等等加入了 UE4 的反射系统,加入了反射系统,UE4 才能帮你做 GC(垃圾回收),你才能实现蓝图、C++ 通信等等很多功能。 需要在头文件中声明一个 UCLASS 或 USTRUCT 后后才会生成 “xxx.generated.h”原创 2020-05-18 20:45:16 · 7329 阅读 · 0 评论