UE特效案例 —— 火堆

2024-01-20 01:40
文章标签 特效 案例 ue 火堆

本文主要是介绍UE特效案例 —— 火堆,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

一,环境配置

二,场景及相机设置

三,效果制作

模型材质效果制作

特效元素制作

1,火

2,火星

3,烟雾

4,热浪/折射

四,效果性能优化

查看材质复杂度 Shader Complexity

查看光照复杂度 Light Complexity

五,效果修改


一,环境配置

  • 创建默认地形Landscape,如给地形上材质需确定比例;
  • 添加环境主光源DirectionalLight,设置相应的强度和颜色;
  • 添加天光反射SkyLight,用于天空反射;
  • 添加指数级高度雾ExponentialHeightFog,设置雾密度Fog Density及散射颜色Fog Inscattering Color;
    • 设置Directional Inscattering Color为零;
    • 设置雾的起始距离Start Distance;
  • 设置曝光PostProcessVolume,设置Min/Max Brightness为1;
    • 与关闭Game Setting类似,但还需设置Exposure Compensation;

二,场景及相机设置

        在环境配置好,即可导入所需的模型Mesh,纹理贴图Textures,及可能用到的场Fields等;

  • 将主模型放置到关卡适当位置;
    • 根据贴图,给模型添加基本的材质球;
    • basecolor/metallic/specular/roughness/anisotropy取值范围都是0~1;
    • metallic为1,则specular不起作用;
    • 自发光可以无穷大;
  • 根据模型设置相机,以获得相应的画面;
    • 可在相机视口的Cinematic Vieport的模式下方便调整;
    • 避免误动,锁定相机(右击对象关闭Transform/Lock Actor Movement);
    • 可关闭右下角的相机小视图(Editor Preferences/Preview Selected Cameras);
  • 添加主光,以设置火堆大体的光照效果;
    • 可用点光源,设置相应的颜色的范围;
    • 可设置多个点光源,模拟不同方向和位置的光照;

 

三,效果制作

        环境及相机都设置后,接下来即是真正的效果制作了;效果包括模型本身材质效果、及主体的Cascade或Niagara效果;

模型材质效果制作

        木材燃烧时,燃烧的部分一般会有高热流动的效果;可通过材质纹理颜色及变化来模拟该效果;

特效元素制作

        火、火星、烟雾、热浪;

1,火

火材质制作

  • 透明无光照模式;
  • 火贴图为一张序列纹理贴图,使用SubUV纹理采样,可使子贴图平滑过渡;
  • 使用ParticleColor关联上自发光和透明度,可在粒子内控制;
  • 使用DepthFade处理交叉边缘硬切问题;

Cascade制作

  • 发射Sprite精灵粒子(即始终面向摄像机);
  • 附材质,附上设置好的火材质,根据火贴图设置SubUV(8*4),线性融合Linear Blend模式;添加Subimage Index模块来动态播放子序列(从0开始的);
  • 调发射位置,设置圆柱形cylinder发射位置,调整好布局,可分为火堆中间火,及底部周围火(向中心倾斜Initial Rotation);
  • 设值初始状态
    • 初始尺寸,默认PSA Square对齐,改为SPA Rectangle矩形模式(可分别设置长和宽),在相应调节Initial Size;
    • 初始生命,调节火焰的生命长短,可反应本身变化的快慢;
  • 调节生命周期内属性
    • Color over Life、Size by Life等,配合效果调节颜色、透明度、大小等;
    • 避免大小缩放的时候从中间缩放,可添加Pivot Offset调整缩放枢纽;

注:I键隐藏或显示编辑器背景,O键键隐藏或显示编辑器地面;可使用Screen Percentage调整视图清晰度;

2,火星

火星材质制作

  • 透明无光照模式;
  • 根据粒子速度ParticleSpeed,火星形态不一,低速偏圆形,高速偏长条形;
  • 火星飘动时有闪烁效果,使用Sin来实现,关联上Time*(1-ParticleRelativeTime),避免粒子闪烁一致,
  • 使用ParticleColor关联上自发光和透明度,可在粒子内控制;

Cascade制作

  • 发射Sprite精灵粒子(即始终面向摄像机);
  • 附材质,附上设置好的火星材质;
  • 调发射位置,设置圆柱形cylinder发射位置,调整好布局;
  • 设值初始状态
    • 初始尺寸,默认PSA Square对齐,改为SPA Velocity模式(可沿速度方向),在相应调节Initial Size;
    • 初始生命,调节火星的生命长短,可反应本身变化的快慢;
    • 初始速度,设置初始的运动方向;
  • 调节生命周期内属性
    • 添加Acceleration、Orbit、Drag等,来调整生命周期内的运动;
    • Color over Life、Size by Life等,配合效果调节颜色、透明度、大小等;

注:离视图较远时,火星可能变糊或消失,勾选材质内的Responsive AA,即可改善;

3,烟雾

烟雾材质制作

  • 透明无光照模式;
  • 烟雾贴图为一张序列纹理贴图,使用SubUV纹理采样,可使子贴图平滑过渡;
  • 使用ParticleColor关联上自发光和透明度,可在粒子内控制;
  • 使用DepthFade处理交叉边缘硬切问题;

Cascade制作

  • 发射Sprite精灵粒子(即始终面向摄像机);
  • 附材质,附上设置好的烟雾材质,根据烟雾贴图设置SubUV(8*8),线性融合Linear Blend模式;添加Subimage Index模块来动态播放子序列(从0开始的);
  • 调发射位置,设置圆柱形cylinder发射位置,调整好布局,添加点旋转差异Initial Rotation;
  • 设值初始状态
    • 初始尺寸,默认PSA Square对齐,在相应调节Initial Size;
    • 初始生命,调节生命长短,可反应本身变化的快慢;
    • 初始速度,设置初始的运动方向;
  • 调节生命周期内属性
    • 添加Acceleration、Drag等,来调整生命周期内的运动;
    • Color over Life、Size by Life等,配合效果调节颜色、透明度、大小等;

4,热浪/折射

烟雾材质制作

  • 透明无光照模式;
  • 添加法线贴图,避免精灵粒子始终面对相机无入射角,无法形成折射;
  • 使用DynamicParameter,可在粒子内动态控制折射强度;
  • 添加RadialGradientExponential,避免精灵粒子边缘也折射;

Cascade制作

  • 发射Sprite精灵粒子(即始终面向摄像机);
  • 附材质,附上设置好的热浪材质;
  • 调发射位置,设置圆柱形cylinder发射位置,调整好布局;
  • 设值初始状态
    • 初始尺寸,默认PSA Square对齐,在相应调节Initial Size;
    • 初始生命,调节生命长短,可反应本身变化的快慢;
    • 初始速度,设置初始的运动方向;
  • 调节生命周期内属性
    • 添加Acceleration、Drag等,来调整生命周期内的运动;
    • 使用Dynamic模块来动态控制折射强度;

注:折射只可折射视口中的内容,视口外无法计算;对半透明物体默认不受折射影响,关闭Render After DOF即可折射;

四,效果性能优化

        制作完整个效果后,还需查看其时间的性能,复杂低性能的效果,可能影响实际使用;

查看材质复杂度 Shader Complexity

        性能消耗主要来源于许多重复透明对象的重复绘制

 

优化性能的方法

  • 减少透明对象的重复量;
  • 将CPU粒子改为GPU粒子,但会限制许多粒子模块和材质节点的使用;
    • Acceleration无法使用,可使用Const Acceleration替代;
    • Orbit无法使用,可使用场Field替代;
    • ParticleRelativeTime无法使用,可使用ParticleRandomValue替代;
    • Dynamic无法使用,可使用ParticeColor节点传递通道参数;
    • 可根据贴图,剪切空白部分,从而较低重复绘制;
    • GPU必须设置边界框,如边界框过小,当视口看不见边界框时,则粒子会整体消失;

查看光照复杂度 Light Complexity

        性能消耗主要来源于光照重复度;

 

优化性能的方法

  •  调整光照范围;
  • 关闭不必要的投射阴影cast shadow;

五,效果修改

  • 火星有点小,加大了火星;
  • 背景环境有点亮平;
  • 火堆的灯光有点白亮,范围也过大;另外添加了灯光闪烁修改;
  • 整体没有突出火堆,对比没有拉开;

  • 背景稍微加亮了些;
  • 另外添加了光晕;

注,参考学习来自点线CG

这篇关于UE特效案例 —— 火堆的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/624393

相关文章

六个案例搞懂mysql间隙锁

《六个案例搞懂mysql间隙锁》MySQL中的间隙是指索引中两个索引键之间的空间,间隙锁用于防止范围查询期间的幻读,本文主要介绍了六个案例搞懂mysql间隙锁,具有一定的参考价值,感兴趣的可以了解一下... 目录概念解释间隙锁详解间隙锁触发条件间隙锁加锁规则案例演示案例一:唯一索引等值锁定存在的数据案例二:

MySQL 表的内外连接案例详解

《MySQL表的内外连接案例详解》本文给大家介绍MySQL表的内外连接,结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录表的内外连接(重点)内连接外连接表的内外连接(重点)内连接内连接实际上就是利用where子句对两种表形成的笛卡儿积进行筛选,我

Java Stream.reduce()方法操作实际案例讲解

《JavaStream.reduce()方法操作实际案例讲解》reduce是JavaStreamAPI中的一个核心操作,用于将流中的元素组合起来产生单个结果,:本文主要介绍JavaStream.... 目录一、reduce的基本概念1. 什么是reduce操作2. reduce方法的三种形式二、reduce

Spring Boot 整合 Redis 实现数据缓存案例详解

《SpringBoot整合Redis实现数据缓存案例详解》Springboot缓存,默认使用的是ConcurrentMap的方式来实现的,然而我们在项目中并不会这么使用,本文介绍SpringB... 目录1.添加 Maven 依赖2.配置Redis属性3.创建 redisCacheManager4.使用Sp

springboot项目redis缓存异常实战案例详解(提供解决方案)

《springboot项目redis缓存异常实战案例详解(提供解决方案)》redis基本上是高并发场景上会用到的一个高性能的key-value数据库,属于nosql类型,一般用作于缓存,一般是结合数据... 目录缓存异常实践案例缓存穿透问题缓存击穿问题(其中也解决了穿透问题)完整代码缓存异常实践案例Red

Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例

《Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例》本文介绍Nginx+Keepalived实现Web集群高可用负载均衡的部署与测试,涵盖架构设计、环境配置、健康检查、... 目录前言一、架构设计二、环境准备三、案例部署配置 前端 Keepalived配置 前端 Nginx

MySQL 复合查询案例详解

《MySQL复合查询案例详解》:本文主要介绍MySQL复合查询案例详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录基本查询回顾多表笛卡尔积子查询与where子查询多行子查询多列子查询子查询与from总结合并查询(不太重要)union基本查询回顾查询

Java Stream流使用案例深入详解

《JavaStream流使用案例深入详解》:本文主要介绍JavaStream流使用案例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录前言1. Lambda1.1 语法1.2 没参数只有一条语句或者多条语句1.3 一个参数只有一条语句或者多

MySQL 中的 JSON 查询案例详解

《MySQL中的JSON查询案例详解》:本文主要介绍MySQL的JSON查询的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录mysql 的 jsON 路径格式基本结构路径组件详解特殊语法元素实际示例简单路径复杂路径简写操作符注意MySQL 的 J

Python Transformers库(NLP处理库)案例代码讲解

《PythonTransformers库(NLP处理库)案例代码讲解》本文介绍transformers库的全面讲解,包含基础知识、高级用法、案例代码及学习路径,内容经过组织,适合不同阶段的学习者,对... 目录一、基础知识1. Transformers 库简介2. 安装与环境配置3. 快速上手示例二、核心模