
虚幻引擎图文笔记
文章平均质量分 68
Unreal Engine(虚幻引擎)学习笔记
开发游戏的老王
虚幻官方授权讲师(UAI,Unreal Authorized Instructor)
高校教师
Unreal Open Day 2022演讲嘉宾
Unreal Circle2023苏州站演讲嘉宾
Unreal Circle2024成都站演讲嘉宾
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
UE4动画系统:什么是动画通知(Anim Notify)
文章目录什么是动画通知(Anim Notify)?动画通知的使用方法1. 直接在动画编辑器中添加动画通知2. 创建可复用的动画通知类(Anim Notify Class)补充什么是动画通知(Anim Notify)?动画通知就是UE4的动画回调事件,它会被绑定(注册)到动画时间轴的时间点上(可以精确到毫秒),当动画播放到该点就会触发事件并执行我们想要的操作。常见的使用情景比如:在奔跑动画中,我们想让角色脚部和地面接触的时刻播放音效。如果没有动画通知,我们必须人工计算出这些时间位置,然后在那个时间通执原创 2020-12-27 12:04:20 · 5372 阅读 · 2 评论 -
Unreal Engine 4 卡通轮廓线(Toon Outlines)教程 之 后期处理法(Post Process Outlines)
本文是《Unreal Engine 4 卡通轮廓线(Toon Outlines)教程》的第二部分:后期处理法(Post Process Outlines),书接上文《Unreal Engine 4 卡通轮廓线(Toon Outlines)教程》之 反转网格法文章目录后期处理法(Post Process Outlines)理论部分(译者注,头疼可跳到下面的实操部分)什么是卷积(Convolution)?拉普拉斯边缘检测(Laplacian Edge Detection)实操部分(译者注)创建边缘检测算子.翻译 2020-12-25 22:31:06 · 6076 阅读 · 3 评论 -
虚幻插件:开源免费的松耦合事件系统插件Global Event System
Global Event System的Github地址,当前已经支持到UE 4.26偶然间发现Github上名为Global Event System(下文简称GES)的开源事件系统插件。GES的个性鲜明:优点简单易用极其松的耦合:事件和委托的绑定都是通过字符串事件参数为WildCard.原创 2020-12-24 11:11:10 · 861 阅读 · 1 评论 -
虚幻插件:Logic Driver Pro 终极状态机插件初探
文章目录获取与安装原理和特性状态机Node Class使用范例定义上下文定义状态机State_A to State_BState_B to State_CState_A/State_B/State_C小结获取与安装这是老王在虚幻商城出的第一滴血,99.99大刀,这个插件还有一个Lite版34.99刀Logic Driver Pro 是一个引擎插件,目前支持到4.19-4.26,下载启用即可原理和特性Logic Driver就是一套通用状态机系统,可以用来开发游戏逻辑/AI/UI等等,状态机驱动原创 2020-12-23 17:08:14 · 1941 阅读 · 0 评论 -
Unreal Engine 4 卡通轮廓线(Toon Outlines)教程 之 反转网格法(Inverted Mesh)
原文|《Unreal Engine 4 Toon Outlines Tutorial》作者|Tommy TranApr 2 2018 阅读时长|25分钟 内容难度|入门级文章目录开始吧反转网格法(Inverted Mesh)创建反转网格材质复制网格译者注: 本教程提供了范例工程,如果需要可以到原文网站免费注册并下载所谓“卡通轮廓线”,指的就是渲染时环绕在对象上的线。和卡通着色类似,轮廓线能够让你的游戏更加具有风格化。让你的对象看起来像是用笔或墨手绘的一样。拥有此风格的游戏比如:大神(Oka.翻译 2020-12-22 17:48:16 · 2510 阅读 · 5 评论 -
虚幻引擎图文笔记:重定向小技巧 之 使用T-Pose版Mannequin(附T-Pose Mannequin的CSDN下载)
文章目录前言步骤1. 获取T-Pose版Mannequin2. 生成T-Pose的姿势资源(PoseAsset)3. 应用T-Pose的姿势资源4. 重定向前言在《虚幻引擎图文笔记:彻底搞懂UE4骨骼动画的重定向(Retargeting)》一文中老王介绍了虚幻引擎(UE4)中重定向的原理和工作流程。大家可能注意到,在进行第3步:微调姿势的时候,挺麻烦的,而且容易出现位置不准,不对称等等问题(尤其对于强迫症同学),所以需要一个一劳永逸的方法。步骤很多的动画资源,它们的模型都是T-Pose的,所以拥有一原创 2020-12-21 09:14:35 · 1972 阅读 · 0 评论 -
虚幻引擎图文笔记:彻底搞懂重定向(Retargeting)之 基本使用流程
什么是重定向(Retargeting)UE4 动画重定向UE4 动画蓝图重定向UE4 骨骼重定向什么是重定向(Retargeting)UE4 动画重定向UE4 动画蓝图重定向UE4 骨骼重定向原创 2020-12-20 20:57:57 · 6571 阅读 · 14 评论 -
虚幻引擎图文笔记:关卡原型神器插件Blockout Tools Plugin,12月免费,手慢无
插件名称:Blockout Tools Plugin,兼容4.22~4.26本月底免费,手慢无Blockout Tools Plugin的虚幻商城地址原创 2020-12-19 18:41:57 · 13239 阅读 · 15 评论 -
虚幻引擎图文笔记:用蓝图实现简单的碰撞以及碰撞响应
现实世界中的碰撞现象大家都司空见惯,比如:一枚硬币掉到地板上(和地板发生碰撞),发出清脆的响声。但在虚拟世界里,这个过程至少要分为两个步骤:1. 碰撞:硬币和地板发生碰撞2. 碰撞响应:系统获取碰撞事件,然后调用一些列方法来播放碰撞的声音本文将使用虚幻引擎的蓝图实现一个碰撞并响应的过程原创 2020-12-19 12:09:32 · 2600 阅读 · 1 评论 -
虚幻引擎图文笔记:游戏运行时如何在不更换材质的情况下修改物体材质的参数(比如:颜色)
本文以游戏运行时修改小球颜色为例介绍了如何动态求改物体的材质参数效果演示小球原本是绿色的,当按下E键,小球变成了红色本文的重点是改变颜色,触发事件我们使用键盘事件作为演示文章目录效果演示0. 在场景中添加一个StaticMeshActor1.自定义材质2. 创建蓝图运行一下小结0. 在场景中添加一个StaticMeshActor在场景中添加一个StaticMeshActor并更名为"Ball"1.自定义材质新建一个Material并命名为BallMaterial,这个材质的逻辑很.原创 2020-12-18 19:51:25 · 1741 阅读 · 1 评论 -
虚幻引擎图文笔记:使用布料模拟(Cloth Simulation)系统制作一面可以随风飘动的旗帜(更新)
UE4的布料系统真是强大,可以在游戏运行时实时解算布料出动画。本文以一面随风飘动的旗帜的制作为例,带大家了解一下UE4布料模拟(Cloth Simulation)系统的使用步骤。效果图截图工具的原因,图象有些卡顿文章目录效果图Blender端建模绑定并蒙皮导出FBXUE4端导入FBX编辑物理资源生成物理数据为物理材质刷权重应用物理数据场景测试Blender端建模注意:旗帜部分如果要得到良好的模拟效果,需要增加细分,同时面数增加会影响运行效率,所以要权衡以后再做决定。绑定并蒙皮导.原创 2020-12-17 20:35:50 · 5134 阅读 · 0 评论 -
虚幻引擎图文笔记:使用Set View Target with Blend实现多个摄像机间的平滑切换
在Unreal中平滑切换视角还真是简单只用一个Set View Target with Blend节点统统搞定Target:需要一个CharacterController参数(通过CharacterController获取这个玩家的当前视角)New View Target需要一个Actor 当这个Actor上有Camera组件时,就会切换到新Camera的视角。有趣的是即使这个Actor上没有Camera组件,视角也会切换(这时可能是直接把原来原创 2020-12-15 19:28:06 · 6079 阅读 · 4 评论 -
虚幻引擎图文笔记:游戏运行时如何显示鼠标指针
答案就是自定义PlayerController类下面我们来看一下实现步骤新建一个派生自PlayerController的蓝图类并将其指定为World Settings中的Player Controller Class在自定义的PlayerController类中显示鼠标指针就可以了原创 2020-12-11 20:53:07 · 4202 阅读 · 0 评论 -
虚幻引擎图文笔记:“ThirdPerson_Jump Asset“节点和“ThirdPerson_JumpStart Asset“节点到底是啥?
ThirdPerson_JumpStart Asset节点ThirdPerson_Jump Asset节点在官方的很多模板的动画蓝图状态机的状态迁移条件中都可以看到上面两个古怪的节点,之所以说它们古怪是因为我们在可添加的节点列表里找不到这两个节点。这两个节点的作用倒不难理解,都是获取当前动画状态到播放结束所生的时间比例。这两个节点在新版的UE4中分别可以用Time Remaining(Ratio)(ThirdPersonJump)和Time Remaining(Ratio)(ThirdPerson原创 2020-12-11 18:27:36 · 1059 阅读 · 0 评论 -
虚幻引擎图文笔记:如何让任意Actor获取到玩家的输入事件(Input Event)
1. 开启输入普通的Actor默认是未开启的。2. 接收输入事件这样在这个Actor中一般输入事件和自定义的输入事件就都可以接收到了。3. 是否独占此输入注意: Consume Input默认是勾选的,这时比这个Actor优先级低的对象将不会再收到这个输入事件。所以如果要让其它Actor也可以接收这个输入则要取消勾选。...原创 2020-12-11 12:02:24 · 3685 阅读 · 1 评论 -
虚幻引擎图文笔记:用蓝图接口(Blueprint Interface)实现一个游戏事件的分发系统
前言之前写过一篇《UE4基础:用蓝图构建出一个GameMode中的游戏事件通信系统》,想基于GameMode和传统继承的方式实现一个消息分发系统。这两天看了一些教程发现,之前的方法是挺笨的。实现蓝图间通信的标准办法应该是通过“蓝图接口”。学过C#和Java的同学对这种实现方法应该不陌生。其实我是想实现一个和Godot一样,可以通过组来分发消息的系统,但是由于UE4的蓝图不能定义泛型函数,也不能使用不定类型参数,也不能用字符串调用函数,所以那种通用的事件分发系统是实现不了的。本例只是我的中多个事件分发系原创 2020-12-10 21:17:51 · 2042 阅读 · 0 评论 -
虚幻引擎图文笔记:官方Side Scroller模板(即横板动作游戏模板)都干了哪些事儿(重点归纳)
文章目录导入资源定义了一个混合空间(BlendSpace)构造了一个动画蓝图动画状态机状态Idle/Run状态JumpStart状态JumpLoop状态JumpEnd状态跳转条件Idle/Run→JumpStartJumpStart→JumpLoopJumpLoop→JumpEndJumpEnd→Idle/Run定义了按键映射定义了一个Character蓝图蓝图的组件结构Character的参数设置Mesh的参数设置SpringArm的参数设置CharacterMovement的参数设置事件蓝图导入资源原创 2020-12-09 19:31:04 · 1912 阅读 · 0 评论 -
Animation Starter Pack导出的FBX格式动画文件(附CSDN下载)
Animation Starter Pack导出的FBX格式动画文件下载地址UE4 Animation Starter Pack 62个动画打包下载,资源是Unreal Market的免费资源,这些是从UE4中导出的62个动画FBX(2013)文件下面是预览图原创 2020-12-07 20:10:30 · 1138 阅读 · 0 评论 -
标准Rigify Human(MetaRig)骨骼和UE2Rigify中Unreal Mannequin骨骼模板的区别(附Bony模型下载)
Bony模型下载这个版本的Bony也是用Rigify绑定的,骨骼和UE2Rigify中Unreal Mannequin骨骼模板一致下载地址主要区别脊柱主要是脊柱的段数,胸部及盆骨都是末端骨骼实际并没有太大影响手掌原创 2020-09-20 09:00:43 · 1611 阅读 · 3 评论 -
Unreal Engine 4 卡通着色(Cel Shading)教程
原文|《Unreal Engine 4 Cel Shading Tutorial》作者|Tommy Tran Feb 27 2018阅读时长|20分钟 内容难度|中等文章目录开始吧什么是卡通着色?卡通着色原理创建卡通着色器基于PBR渲染在Unreal Engine 4中制作写实风格的游戏是比较容易的。PBR渲染会模拟光照和材质的交互并生成最终结果。然而如果想开发风格化效果的游戏,你可能就要探索其它技术了。其中一种技术叫做卡通着.翻译 2020-07-16 20:30:27 · 6790 阅读 · 0 评论 -
虚幻引擎图文笔记:Random类节点
在一般的程序语言里,都有生成随机数的方法,有的直接生成一个0~1.0的值,有的允许直接定义随机值产生的范围。其实二者都是等价的。后者可以通过前者构造出来。但是在可视化编程中,构造随机数需要很多节点,所以UE4直接为我们提供了一些常用的随机数节点...原创 2020-07-12 12:53:20 · 4850 阅读 · 0 评论 -
虚幻引擎图文笔记:常用的Clamp(强制范围)系节点
Clamp (float/integer/Angle)if Value <= Min: return Minelif Value >= Max: return Maxelse: return Value Clamp Axis将输入角度换算到0~360范围Clamp Vector Size不改变向量的方向,但是将向量长度限定再`Min`和`Max`间原创 2020-07-11 13:22:22 · 8348 阅读 · 1 评论 -
虚幻引擎图文笔记:Set Timer by Function Name节点
和Set Timer by Event节点类似,Set Timer by Function Name也是规定一个时长,然后循环调用一个方法(逻辑)。只不过这次不需要自定义事件,而是需要定义一个函数,用法如图所示,包含了如何设置/暂停/重启/清除Timer的方法。定义回调函数这个回调函数可以拥有任意个input,只要调用的时候可以提供即可。这点倒是比编程语言的回调灵活工作流程方法一和Set Timer by Event一样用Handle来控制Timer方法二直接用函数名来控制Timer原创 2020-07-09 18:33:44 · 3681 阅读 · 0 评论 -
虚幻引擎图文笔记:Set Timer by Event节点
Set Timer by Event即规定一个时长,然后循环调用一个方法(逻辑)。用法如图所示,包含了如何设置/暂停/重启/清除Timer的方法。原创 2020-07-08 15:56:26 · 5727 阅读 · 0 评论 -
虚幻引擎图文笔记:Do once节点
Do once顾名思义就是触发一次,下面这个例子中,系统为可触发状态,第一次按L键时,屏幕上会显示"hello , Do once",然后就转为不可触发状态,即无论再按多少次L都不会再显示了,直到我们按下R键,将其重置成最初的可触发状态。Start Closed是一个布尔型参数,如果将其勾选则这个系统一开始便处于不可触发状态。...原创 2020-07-07 20:54:32 · 7468 阅读 · 0 评论 -
虚幻引擎图文笔记:Delay节点和Retriggerable Delay节点
Delay和Retriggerable Delay都是用于延迟执行,Duration是延迟的时间(单位:秒),Completed是延迟后执行的逻辑。二者区别是Delay再次触发后计时不会重新开始,而Retriggerable Delay再次触发后计时会重新开始。...原创 2020-07-06 21:27:30 · 2382 阅读 · 0 评论 -
UE4基础:用蓝图构建出一个GameMode中的游戏事件通信系统(7月5日 化简)
蓝图还挺有意思,继承封装多态机制都支持,除了阅读上不如代码看着舒服,其他方面比预想的要好很多。ABSTRACT_GameModeABSTRACT_GameMode里面定义了一个名为GameEvent的EventDispatcher原创 2020-07-04 19:08:23 · 1372 阅读 · 0 评论 -
虚幻引擎图文笔记:用Shader实现简单的动画
效果图这种效果主要用在场景内一些可拾取的对象上Shader实现主要是Movement部分的节点,连接材质的World Position Offset通道,这个效果实际是通过顶点着色器实现的。由于只和World Position Offset通道有关,所以可以在任意材质上附加此效果。...原创 2020-07-04 10:18:28 · 863 阅读 · 0 评论 -
虚幻引擎图文笔记:蓝图函数库(Blueprint Function Library)和蓝图宏库(Blueprint Macro Library)
文章目录概述蓝图函数库蓝图宏库概述蓝图函数库(Blueprint Function Library)和蓝图宏库(Blueprint Macro Library)的意义和C/C++中函数以及宏大致相同。它们都是用于代码复用,并且如果合理使用可以让蓝图变得非常整洁。原创 2020-07-03 16:06:14 · 6302 阅读 · 0 评论 -
虚幻引擎图文笔记:玩家出生点(PlayerStart)
PlayerStart`这个设计的初衷其实就是为了让关卡设计师和角色设计师的工作解耦合原创 2020-07-02 14:05:07 · 9799 阅读 · 3 评论 -
虚幻引擎图文笔记:蓝图中使用Event Dispatcher实现观察者模式
效果图Event Dispatcher概述Event Dispatcher就是消息分发器,通过它可以非常方便地实现观察者模式步骤本文使用Event Dispatcher实现了一个由GameMode最为消息中心,关卡中的Actor及Character之间通过它来传递消息的机制。1. 创建Event Dispatcher在GameMode蓝图中创建2. 在观察者对象中定义回调函数3. 注册4. 解除注册5. 发布事件...原创 2020-07-02 10:57:22 · 1390 阅读 · 0 评论 -
虚幻引擎图文笔记:将自带的TopDown模板改装成键盘和手柄控制模式
UE4自带的TopDown游戏模板是通过鼠标点击并基于导航来控制的,我当前构思的一个游戏原型也是TopDown视角,但是通过键盘和鼠标控制的。那么把自带的TopDown模板简单的改装一下,就可以了。效果图输入设置新建蓝图TOPDOWN_Character蓝图组件设置TOPDOWN_Character 蓝图的事件图TOPDOWN_GameMode...原创 2020-07-01 20:34:54 · 1571 阅读 · 0 评论 -
虚幻引擎图文笔记:蓝图中二项切换节点(Flip Flop)的用法
书接上文《UE4基础:UMG (二)按钮及事件绑定》,将按钮事件绑定的逻辑按照下图链接点击按钮,这样输出结果就可以在A和B两条分支间切换了,非常适合构造开关一类的逻辑原创 2020-06-27 15:22:17 · 3905 阅读 · 0 评论 -
虚幻引擎图文笔记:蓝图中序列节点(Sequence)的用法
文章目录概述不使用序列节点使用序列节点小结概述序列节点(Sequence)的作用就是可以将一个长的顺序执行代码划分成段,更便于管理。注意:序列节点是单线程的。分段会按照引脚(pin)的顺序执行。不使用序列节点使用序列节点小结可以看到使用序列和不使用序列执行效果是相同的,只不过下面的节点布局更加清晰。实践中我们可以将逻辑相近的代码放到同一个引脚分段中...原创 2020-06-26 16:55:26 · 14030 阅读 · 0 评论 -
虚幻引擎图文笔记:UMG (二)按钮及事件绑定
书接上文《UE4基础:UMG (一) Hello World 在屏幕上显示UI控件》原创 2020-06-25 18:02:47 · 6092 阅读 · 3 评论 -
虚幻引擎图文笔记:UMG (一) Hello World 在屏幕上显示UI控件
效果图用Widget显示一个图片文章目录效果图简介新建一个Widget Blueprint编辑UI蓝图设计视图Graph视图加载简介UMG的全称是Unreal Motion Graphics UI Designer其实就是UE4的UI系统。本文是一个UMG小实例,体现了UMG创建、编辑和加载的基本流程。新建一个Widget Blueprint适当命名,本例中命名为“MainMenu”编辑UI蓝图双击打开以后可以得到两个可互相切换的视图设计视图(Design View)和 蓝图是图(Gr原创 2020-06-25 16:00:33 · 4295 阅读 · 0 评论 -
虚幻引擎图文笔记:Rider IDE的Failed to build RiderLink plugin问题(6月26日 补充解决办法 二)
问题描述C++项目,用Rider打开代码出现下面的提示。这个插件是Unreal和Rider之间的桥接插件原创 2020-06-25 11:13:20 · 10204 阅读 · 1 评论 -
虚幻引擎图文笔记:材质(Material)和材质实例(Material Instance)的区别
在UE4中创建并编辑完材质(Material),可以右键选择并为其创建(多个)材质实例(Material Instance)顾名思义,材质实例就是材质的实例。它继承于材质,拥有材质的着色器逻辑,但是只暴露了可调节参数(也就是 Params) 而屏蔽了编辑着色器的能力,目的是当某个(些)模型需要修改参数时,不会影响到使用该材质的其它模型。并且当材质的逻辑更新以后,所有的材质实例也会随之更新。材质编辑界面材质实例编辑界面...原创 2020-06-24 08:48:47 · 8570 阅读 · 4 评论 -
虚幻引擎图文笔记:材质节点if的用法
if 大家都不陌生,在编程中用于控制语句分支。但是初见UE4中的材质节点if时会有点不知所措举个例子解释一下用A和B比较如果A>B输出C如果A=B输出D如果A<B输出E原创 2020-06-22 20:43:18 · 6023 阅读 · 0 评论 -
虚幻引擎图文笔记:材质系统初探 实现一个简单的溶解效果
效果图文章目录效果图准备工作模型准备噪波贴图准备编辑材质准备工作模型准备给Blender的苏珊加了几级细分修改器苏珊本身是展好UV的,如果你使用其它模型也要展好UV导入到 UE4中,不要自动创建材质将苏珊拖拽到场景中,适当调整大小和角度新建一个材质,让它覆盖苏珊的默认材质噪波贴图准备噪波贴图可以决定溶解的方式,本文使用了下面这种贴图把贴图直接导入到UE4中编辑材质...原创 2020-06-22 19:22:07 · 1967 阅读 · 0 评论