UE4子弹特效

转自:http://blog.ch-wind.com/ue4-projectile-visual-effects/

子弹使用抛体就可以实现了,但是要让其看起来更加真实,则可能需要加上一些粒子特效。

当前UE4版本4.8.1。

子弹的特效制作主要使用粒子系统进行实现,只有用于着弹效果的地方使用的是Decal Material。官方的这篇教程对于了解如何去制作一个粒子系统很有作用。原始教程地址:https://wiki.unrealengine.com/Projectile_Visual_Effects(教程中有提供相关文件的下载)。

特效的制作基础是UE4自带的第一人称模板,不需要初学者内容。也可以直接下载文档末尾处的工程文件进行观赏,工程文件不到10M,相当的方便。

着弹特效

制作特效之前,先实际参考一下现实世界中的效果比较好。为了模拟出好的特效,观察整个过程中能量的变化非常的重要。因此,教程中对子弹的着弹效果进行观察后。将特效分为了闪光、烟雾、破片三个子特效。

闪光

闪光特效使用T_Hit.tga贴图来制作材质。材质类型修改为Translucency,同时,为了保证闪光特效始终显示在表层,将Disable Depth Test设置为True。闪光特效中示例工程中额外的添加了Near Camera Fade和Depth Fade,这样的话在子弹有射入角度时就不会依然显示一个光晕了,更加自然一些。

 

新建一个粒子系统,并在Required模块中将默认发射器的材质修改为刚刚建立的材质。为了方便以后辨识,可以将发射器的名称修改为HIT。按照之前的教程中的建议,删除Color Over Life模块,替换为Initial ColorScale Color/Life模块。在模块的属性上,主要使用粒子生命周期和初始大小进行随机化来增强特效的随机性。

烟雾

第一步依然是构建材质,烟雾的材质相对复杂一些。在示例的截图中,有添加Near Camera Fade特性,但是在示例工程中该材质并没有添加。使用到的贴图分别是T_Smoke与T_S_Normal。

烟雾特效中,额外的使用Initial Rotation和Initial Rotation Rate来作随机化。同时添加Sphere模块对初始位置以及速度应用随机。

烟雾特效中,由于材质中使用了MacroUV,需要对MacroUV进行修改。点击编辑器的空白处,在粒子系统的属性中进行设置。如果不同的发射器使用的是不同的设置,也可以在Required模块对MacroUV属性进行修改。

破片

破片效果主要使用SubUV模块进行实现。需要添加Acceleration模块进行重力模拟,Collision模块进行碰撞模拟。

这一部分示例工程中的材质和教程中的截图相差比较大,Near Camera Fade和Depth Fade被取消,同时用一种近似的方法生成了法线。

由于碎片较小,很难观察出有什么不同……

拖曳

拖拽特效同样通过粒子进行实现。使用的是Ribbon类型的发射器。拖拽部分使用的材质教程中没有对Panner的速度进行说明,实际情况如下:

这一部分在操作是需要注意的是,必须删除Initial Velocity模块。由于教程中没有明言,会导致结果与预期的不同。

还有一个示例工程的不同之处在Required模块中:

Screen AlignMent设置为Facing Camera Position

Sort Mode设置为Distance to View

弹痕与子弹

弹痕的特效使用Decal Materia进行实现。

材质中使用快速方法生成了测试用的替代法线贴图。

子弹的材质没有什么特别的地方,并不是教程的重点。如果是使用球体而不是子弹的话,可以跳过子弹的材质。

蓝图

实际的对上面生成的特效进行使用测试。

在组件中添加Ribbon的粒子系统,修改抛体的速度和重力设置,同时勾选平面移动限制。在碰撞点生成粒子系统和Decal Materia。

开始调试,就能看到相当不错的子弹特效了。

时间: 2024-10-11 21:23:38

UE4子弹特效的相关文章

[UE4]子弹穿透多个机器人

一.将机器人的碰撞类型改成“OverLap” 二.使用“MultiLineTraceByChannel”这个是可以穿透检测,可以检测到多个物体(前提是被检测物体的碰撞类型是“OverLap”).“LineTraceByChannel”只能检测到一个碰撞物体. 三.如果机器人在修改碰撞类型前就已经放置在场景中,则后修改的碰撞类型不会应用到已经放置在场景中的机器人.这一点要特别注意,测试时,要先把场景中的机器人全部删除,再重新把机器人放置到场景. 原文地址:https://www.cnblogs.c

飞机大战开发05按角度发射的子弹和拖尾子弹的实现

多角度的子弹: 这个的实现可以仍然用MoveBy动作来完成,设定一个子弹偏移的角度,计算出到出屏幕,子弹在x轴和y轴上移动的距离,移动就OK了. 上代码: void GameLayer::createBulletByAngle(float angle) { Size screenSize = Director::getInstance()->getWinSize() ; Vec2 crePos = m_pPlayerPlane->getPosition() ;//子弹的初始位置 float f

2015最新iOS学习线路图

iOS是由苹果公司开发的移动操作系统,以xcode为主要开发工具,具有简单易用的界面.令人惊叹的功能,以及超强的稳定性,已经成为iPhone.iPad 和iPod touch 的强大基础:iOS 内置的众多技术和功能让 Apple设备始终保持着遥遥领先的地位. iOS学习路线:http://www.mobiletrain.org/page/ios.html 课程分  类 课程模块 模块介绍 课程内容 Part1C语言 C语言和Objective-C语言 C语言 Mac系统及常用工具.进制:C数据

[Unity 设计模式]桥接模式(BridgePattern)

1.前言 继上一讲IOC模式的基础上继续本讲桥接模式,笔者感觉桥接模式是23种设计模式中桥接模式是最好用但也是最难理解的设计模式之一,23中设计模式就好武侠剧中一本武功秘籍,我们在工作过程中想要熟练运用其中的每一种设计模式就好比跟高手过招想要能运用好武侠秘籍中的每一招每一式,并且能随着对手出招的不同我们能随机应变对应的招数,这就要求我们对每一种设计模式都理解的非常深刻才能运用自如,打出组合拳的效果. 2.需求 我们在FPS类游戏中会碰到这样的需求——实现武器和角色,无论是敌人还是我方角色都能通过

unity3d泰斗破坏神2----课程列表

免费 课时1:泰斗破坏神第一支预告视频 01:32免费 课时2:泰斗破坏神第二支预告视频 01:58第 1 章 : 游戏开始 用户登录 服务器选择课时3:游戏开始 用户登录 服务器选择课时4:素材介绍,导入素材,开始界面的制作 29:58课时5:制作登录界面 21:39课时6:制作注册界面 08:47课时7:控制用户登录和注册界面的跳转 33:22课时8:制作服务器选择界面 18:32课时9:处理服务器列表的初始化 25:57课时10:处理服务器的选择 15:24课时11:给场景添加云和动画效果

9个步骤:教你设计出优秀的MMORPG副本关卡

转自:http://www.gameres.com/664485.html 副本的定义 以一张场景地图为原型,针对单个玩家.队伍或者团队生成的一个实例,包含完整的开启关闭.怪物刷新.进度记录等逻辑. 副本的作用 1. 更有效的给予用户成就感: a)有效的展示.验证角色及用户的能力——数值和技巧难度考验角色属性能力及用户操作技术: b)加深用户对角色职业特性的认知,有效的展现职业特性价值——战斗考虑到职业特性的发挥: c)提供给玩家提升角色能力的场所——价值物的产出控制: 2. 更有效的带给用户乐

一个MMORPG的常规技能系统

广义的的说,和战斗结算相关的内容都算技能系统,包括技能信息管理.技能调用接口.技能目标查找.技能表现.技能结算.技能创生体(buff/法术场/弹道)管理,此外还涉及的模块包括:AI模块(技能调用者).动作模块.寻路/移动模块以及人物属性和伤害数值结算等. 先说下技能模块每个部分的职责和原理: 技能信息管理:管理unit所拥有的技能以及技能的等级.cd等.在我们游戏中,这里还需要负责管理符文,符文会对技能信息进行修改. 技能调用接口:AI或者UI操作触发技能,触发技能时可能选择了一个目标(AI),

虚幻UE4的后处理特效介绍

虚幻UE4提供了后处理特效的功能,可以实现景深,光溢出,色调调整,饱和度等等.要使用虚幻4的后处理,就一定要用到PostProcessVolumn,这是一种特殊的体积,可以放置在场景中的任何位置. 每个 PostProcessVolume 实质上是一个类型的混合层.其他混合层可以来自游戏代码(比如命中特效),UI 代码(比如暂停菜单),摄像机(比如暗角效果),或者 Matinee(旧胶片效果).每个混合层都能有自己的权重值,这样混合效果能容易控制.混合的做法始终是 Lerp(线性插值),当前启用

UE4的编程C++创建一个FPSproject(两)角色网格、动画、HUD、子弹类

立即归还,本文将总结所有这些整理UE4有关角色的网络格.动画.子弹类HUD一个简单的实现. (五)角色加入网格 Character类为我们默认创建了一个SkeletaMeshComponent组件,所以我们只须要做的就是使用哪一个静态网格模型.接下来我们为我们的FPSCharacter类创建一个蓝图,这样我们能够简单的把资源指定给静态网格模型这里,而且方便以后操作加入的组件. 作为開始,我们首先要导入一个第三人称的静态网格模型.最后我们设置成两个网格,一个是我们自己看的,另外一个是其它人看到的.