UE特效案例 —— 魔法翅膀

2024-01-20 01:40
文章标签 特效 案例 ue 魔法 翅膀

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

目录

一,环境配置

二,场景及相机设置

三,效果制作

模型材质效果制作

1,翅膀02发光基础颜色效果

2,翅膀02发光边缘透贴效果

3,大翅膀发光边缘透贴效果

4,流动翅膀效果

特效元素制作

1,地面流动扩散

2,地面光晕

3,闪烁光晕

4,向上粒子

四,效果修改


一,环境配置

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

二,场景及相机设置

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

  • 将主模型放置到关卡适当位置,并添加基本的材质球;
  • 根据模型设置相机,以获得相应的画面;
    • 可在相机视口的Cinematic Vieport的模式下方便调整;
    • 可配合关卡序列LevelSequence,调节相机参数;
  • 添加主光,设置好武器大体的光照效果;

三,效果制作

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

模型材质效果制作

        一般通过材质纹理颜色及变化来模拟想要效果,此模型效果分为:

1,翅膀02发光基础颜色效果
  • 提取模型本身UV图,通过PS绘制此图来控制自发光效果;
    • 可通过Maya、Max等渲染UV图;
    • 绘制UV图时,可添加若干大小不一的圆点以增加细节;

2,翅膀02发光边缘透贴效果
  • 类似上一效果方法,提取边缘;

3,大翅膀发光边缘透贴效果
  • 类似上一效果方法,提取边缘;

 

4,流动翅膀效果

翅膀模型制作,可由多个面片组合成一个大翅膀;

  • 可使用maya/max/houdini等3D软件制作;
  • 面片可旋转、弯曲,缩放等,保持面片的差异性;
  • 面片的uv应相应错开,避免流动时过于统一;可制作两套uv,分开处理;

注,输出时N、uv(如多个uv还有uv1、uv2)属性需保留;

流动材质制作,使用透明无光照模式;

  • 使用多套纹理叠加给自发光,在通过uv流体,实现流体效果;
    • 可对流动uv,添加扰乱效果,以丰富细节;
    • 使用DeriveHDRfromLDR,提高动态范围(应saturate限制在0-1);

  • 在透明度上在添加纹理,以增加透明度细节;
    • 在使用U/V sin函数,来添加边缘过渡渐变;

  • 使用World Position Offset,来模拟翅膀挥动效果;
    • 同样使用流动UV,来驱动纹理流动;
    • 借助VertexNormalWS,来提供偏移方向;
    • 相机超出边界框时,模型会消失;

  • 还可添加流动的折射效果;

特效元素制作

        地面流动扩散,地面光晕,闪烁光晕,向上粒子;

1,地面流动扩散

材质制作

  • 透明无光照模式;
  • 使用极坐标 VectorToRadialValue ,将纹理变形为圆形;
    • 可使用两层,错开流动,增加细节;
  • 同样使用极坐标纹理设置Alpha,通过RadialGradientExponential控制中心和边缘的透明度;
  • 给所有贴图使用纹理流动,形成扩散效果;
  • 可给所有UV添加扰乱,丰富细节;

注:使用极坐标后,可能出现切边的问题,可使用纹理的MipLevel模式或使用无缝贴图;

Cascade制作

  • 发射Sprite精灵粒子;
  • 附材质,附上设置好的材质;
  • 调发射位置,原点发射爆发一个永远存在(生命为零、循环一次),锁定向上方向Lock Axis;
  • 设值初始状态
    • 初始尺寸,使用默认PSA Square对齐,调节Initial Size;
    • 初始生命,生命为零,永远存在;

注,可创建两层cascade效果,中间一层较亮,外层较暗;

2,地面光晕

材质制作

  • 透明无光照模式;
  • 使用RadialGradientExponential,创建圆环;
  • 添加DepthFade,控制切边;
  • 使用ParticleColor,由Cascade控制颜色和透明度;

Cascade制作

  • 发射Sprite精灵粒子;
  • 附材质,附上设置好的材质;
  • 调发射位置,原点发射爆发一个永远存在(生命为零、循环一次),锁定向上方向Lock Axis;
  • 设值初始状态
    • 初始尺寸,使用默认PSA Square对齐,调节Initial Size;
    • 初始生命,生命为零,永远存在;
3,闪烁光晕

材质制作

  • 使用地面光晕材质;

Cascade制作

  • 发射Sprite精灵粒子;
  • 附材质,附上设置好的材质;
  • 调发射位置,原点发射爆发一个并循环,放置于地面流动扩散中间;
  • 设值初始状态
    • 初始尺寸,使用默认PSA Square对齐,调节Initial Size;
    • 初始生命,生命为1;
  • 调节生命周期内属性
    • Color over Life,配合效果调节颜色、并通过透明度控制闪烁(配合Emitter Duration);
4,向上粒子

材质制作

  • 使用地面光晕材质;

Cascade制作

  • 发射Sprite精灵粒子;
  • 附材质,附上设置好的材质;
  • 调发射位置,圆柱范围循环发射;
  • 设值初始状态
    • 初始尺寸,使用默认PSA Square或PSA Velocity对齐,调节Initial Size;
    • 初始生命,调节生命长短并随机;
    • 初始速度,调节初始速度并随机;
  • 调节生命周期内属性
    • Acceleration,设置向上的加速度并随机;
    • Color over Life,通过生命配合效果调节颜色、及透明度;
    • Size By Life,通过K帧来控制闪烁;
    • Orbit,调节环绕,给速度一些扰乱;
    • Drag,调节阻力来控制速度;

四,效果修改

注,参考学习来自点线CG

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



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

相关文章

springboot循环依赖问题案例代码及解决办法

《springboot循环依赖问题案例代码及解决办法》在SpringBoot中,如果两个或多个Bean之间存在循环依赖(即BeanA依赖BeanB,而BeanB又依赖BeanA),会导致Spring的... 目录1. 什么是循环依赖?2. 循环依赖的场景案例3. 解决循环依赖的常见方法方法 1:使用 @La

MySQL中实现多表查询的操作方法(配sql+实操图+案例巩固 通俗易懂版)

《MySQL中实现多表查询的操作方法(配sql+实操图+案例巩固通俗易懂版)》本文主要讲解了MySQL中的多表查询,包括子查询、笛卡尔积、自连接、多表查询的实现方法以及多列子查询等,通过实际例子和操... 目录复合查询1. 回顾查询基本操作group by 分组having1. 显示部门号为10的部门名,员

Rust中的Drop特性之解读自动化资源清理的魔法

《Rust中的Drop特性之解读自动化资源清理的魔法》Rust通过Drop特性实现了自动清理机制,确保资源在对象超出作用域时自动释放,避免了手动管理资源时可能出现的内存泄漏或双重释放问题,智能指针如B... 目录自动清理机制:Rust 的析构函数提前释放资源:std::mem::drop android的妙

Python爬虫selenium验证之中文识别点选+图片验证码案例(最新推荐)

《Python爬虫selenium验证之中文识别点选+图片验证码案例(最新推荐)》本文介绍了如何使用Python和Selenium结合ddddocr库实现图片验证码的识别和点击功能,感兴趣的朋友一起看... 目录1.获取图片2.目标识别3.背景坐标识别3.1 ddddocr3.2 打码平台4.坐标点击5.图

使用Navicat工具比对两个数据库所有表结构的差异案例详解

《使用Navicat工具比对两个数据库所有表结构的差异案例详解》:本文主要介绍如何使用Navicat工具对比两个数据库test_old和test_new,并生成相应的DDLSQL语句,以便将te... 目录概要案例一、如图两个数据库test_old和test_new进行比较:二、开始比较总结概要公司存在多

SpringBoot实现动态插拔的AOP的完整案例

《SpringBoot实现动态插拔的AOP的完整案例》在现代软件开发中,面向切面编程(AOP)是一种非常重要的技术,能够有效实现日志记录、安全控制、性能监控等横切关注点的分离,在传统的AOP实现中,切... 目录引言一、AOP 概述1.1 什么是 AOP1.2 AOP 的典型应用场景1.3 为什么需要动态插

Golang操作DuckDB实战案例分享

《Golang操作DuckDB实战案例分享》DuckDB是一个嵌入式SQL数据库引擎,它与众所周知的SQLite非常相似,但它是为olap风格的工作负载设计的,DuckDB支持各种数据类型和SQL特性... 目录DuckDB的主要优点环境准备初始化表和数据查询单行或多行错误处理和事务完整代码最后总结Duck

MySQL不使用子查询的原因及优化案例

《MySQL不使用子查询的原因及优化案例》对于mysql,不推荐使用子查询,效率太差,执行子查询时,MYSQL需要创建临时表,查询完毕后再删除这些临时表,所以,子查询的速度会受到一定的影响,本文给大家... 目录不推荐使用子查询和JOIN的原因解决方案优化案例案例1:查询所有有库存的商品信息案例2:使用EX

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置