火焰效果材质实现_「游戏开发」使用Unity实现魔法火焰效果

*本文转载自公众号“Unity官方平台”。

本文由视觉效果艺术家Evgeny Starostin分享如何使用Unity制作魔法火焰效果的过程,让我们一起学习和制作魔法火焰吧。

下面是魔法火焰效果图。

6abdc783c334aeabc8c66b93aba3cb81.gif

项目下载

本文提供项目工程及着色器下载。本文为转载文章,请关注公众号“Unity官方平台”(可至文末链接跳转),在该公众号后台发送消息:“魔法火焰

项目灵感

在第一次玩Supergiant Games的RPG游戏《Hades》时,游戏的美术和视觉效果让人非常吃惊。受此启发,我希望能够以类似的风格创作作品。这也是让我尝试使用Unity制作魔法火焰效果的一次契机。

d9c6b1bb192ece0d649a0bfec9e13b88.png103c53c51486112ff49b56bdea351c12.png

工作流程

整个工作从制作简单的火焰精灵图开始。首先,我使用PhotoShop制作了一个基本形状。

0035ca0b822318bec14109345be4d683.gif

然后把基本形状的四个变体组合为一个精灵图。

333d1a9ce7edf71c9dd99f15d6613afd.png

并为火焰制作了一个简单的粒子系统。

4f6b09cbb2a3b3f396a7203fd343119f.gif

为了让火焰更引人注目加生动,我决定给粒子添加消融效果。

我参考了特效大神Mirza Beig的文章《Unity自定义粒子顶点流》,并编写了自定义的着色器,这篇文章详解了如何使用Unity的自定义顶点流。

因此,我的火焰粒子会以下图的方式进行消融。

38fce06d765b99bc753c9bd382449914.gif

为了给火焰赋予魔法感,我准备了二个发射器副本,略微修改了粒子的大小。

235138bc897c41df4efbe1c442be50aa.gif

下面是不同颜色的火焰效果。

17fbc0d1e196d8f55e0b2921c3faaafa.gif

最后我选择了最初的版本,然后继续进行制作。

我喜欢魔法出现在巫师手掌上的效果,这会让人感觉巫师正在施放法术。我找到了不错的参考图像,并参考其下载了由用户Masterxeon1001制作的一个带有完整绑定的手部模型。

我使用绑定来调整手的姿势,然后将结果导入到Unity。

61f9184b12f4d496f87b2ddd01fbf7f1.gif

接下来添加一些新的发射器,它们给火焰的主要部分加入了过度曝光效果、细小粒子和拖尾迹效果。

335111afdafc3ce723b951ab91778d83.gif

每个效果都补充了整体外观。

28a32ffeffc7a3a7ebdaac7d58fd4036.gif

最后,我决定加入液体从手掌渗出的效果。我制作了额外的网格,把它放到手指之间。

660cf5f5bf40b41d7b58b8f85c4a800e.png

在这里,我使用了基于噪声纹理的着色器,该纹理会不断沿着一条轴移动。我还添加了更多粒子,它们带有相同的火焰材质,但有不同的行为。

2aafb521b39cda918e29add5c41b07f9.gif

最后,一个魔法火焰特效就制作完毕了。

e81402e0d88e64a4ac9842d4c66dd9f1.gif

小结

我们可以添加不同动画或者改变颜色来制作出不同的效果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/312385.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

激光炸弹(二维前缀和问题)

2020.12.30开始学习AcWing算法《算法竞赛进阶指南》&#xff1b; 上传博客方便复习。 //Wecccccccc //2021.1.2 #include <iostream> using namespace std; const int N 5010; int mp[N][N]; int main() {int n,m,k,r,x,y,w;cin>>k>>r;r min(r,5001);n m …

错误使用.Net Redis客户端CSRedisCore,自己挖坑自己填

本文2019年中原创首发于博客园&#xff0c;当时使用CSRedisCore的排障思路引起很大反响&#xff0c;当时被张队公众号翻牌&#xff0c;本次转回公号。背景上次Redis MQ分布式改造之后&#xff0c;编排的容器稳定运行一个多月&#xff0c;昨天突然收到ETL端同事通知&#xff0c;…

mysql 整数_MySQL 整数(int)数据类型

MySQL中定义数据字段的类型对你数据库的优化是非常重要的。MySQL支持多种类型&#xff0c;大致可以分为三类&#xff1a;数值、日期/时间和字符串(字符)类型.数值类型(整型)MySQL支持所有标准SQL数值数据类型。这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL和NUMER…

最佳牛围栏(二分)

2020.12.30开始学习AcWing算法《算法竞赛进阶指南》&#xff1b; 上传博客方便复习。 #include <iostream> using namespace std; #include <algorithm> const int N 100001; int n, m; int cow[N]; double sum[N];bool check (double ave) {for (int i 1; i <…

IHostingEnvironment VS IHostEnvironment - .NET Core 3.0中的废弃类型

原文&#xff1a;https://andrewlock.net/ihostingenvironment-vs-ihost-environment-obsolete-types-in-net-core-3/作者&#xff1a;Andrew Lock译者&#xff1a;Lamond Lu本篇是如何升级到ASP.NET Core 3.0系列文章的第二篇。Part 1 - 将.NET Standard 2.0 类库转换为.NET C…

mysql stack is full_mysql优化之表的优化与列类型选择

表的优化与列类型选择列选取原则####1、字段类型优先级整型 > date,time > char,varchar > blob因为 整型&#xff0c;time运算快&#xff0c;节省空间&#xff0c;char/varchar要考虑字符集的转换与排序时的校对集&#xff0c;速度慢&#xff0c;blob无法使用内存临时…

给一个不多于5位的正整数,求出它是几位数?

分别求每一位上的数字&#xff0c;关系如下&#xff1a; 求万位上的数&#xff1a;ten_thousandnum/10000; 求千位上的数&#xff1a;thousand(num%10000)/1000; 求百位上的数&#xff1a;hundred(num%1000)/100; 求十位上的数&#xff1a;ten(num%100)/10; 求个位上的数&#…

【敏捷案例】老板太外行,朝令夕改!要不要拿了年终奖就撤?

快到春节了&#xff0c;不知道有多少人在等着春节后跳槽&#xff0c;想跳槽的原因也很多&#xff0c;其中一个比较普遍的原因是和老板聊不到一块儿去。前两天&#xff0c;有个学员咨询了我们一个问题&#xff0c;因为这个问题比较普遍&#xff0c;拿出来和大家一起讨论一下~提出…

mysql商品规格设计_[电商]我的商品规格设计思路

这部分的设计必然少不了会有商品、货品、规格、规格值表。先说下我对四个表之间关系设计&#xff1a;商品与货品是一对多的关系。规格与规格值是一对多的关系。就这两种关系&#xff0c;关系很清晰&#xff0c;其实我刚开始的设计是这样的&#xff1a;商品与货品是一对多的关系…

冒泡排序及简单优化

普通冒泡排序&#xff1a; //Wecccccccc //2021.1.6 #include <iostream> using namespace std;int main() {int n, a[100];cin >> n;for (int i 0; i < n; i) {cin >> a[i];}for (int i 0; i < n - 1; i) {for (int j 0; j < n - 1; j) {if (a…

【2019总结篇】谈谈数字化时代,ERP如何坐稳数字化底座

源宝导读&#xff1a;面向未来&#xff0c;信息化、在线化、智能化&#xff0c;开放应该是数字化转型的核心要素&#xff01;本文将重点介绍2019年明源云ERP开放平台在推进数字化转型中的核心技术层面的实践成果。一、前言面向未来&#xff0c;信息化、在线化、智能化&#xff…

rjdbc读取mysql_R通过RJDBC连接外部数据库 (转)

1、library(RJDBC)drvconnlibrary(RJDBC)drvconn3、 连接sas的spdslibrary(RJDBC)drvconn dbSendUpdate(conn,"LIBNAME DEMO SASSPDS schemademoschema USERdemo PASSWORD{sas001}ZM0 HOST127.0.0.1 Serv5000") #注释&#xff1a;dbSendUpdate可以执行所有的sql语…

斐波那契数列及其优化

菲波那契数列定义为&#xff1a;f(1) 1; f(2) 1; 当n>2时&#xff0c;f(n) f(n-1) f(n-2)&#xff0c;输入n&#xff0c;求菲波那契数列的第n项。要求&#xff1a;用递归函数求菲波那契数列的第n项。 1.递归 代码如下&#xff08;未优化&#xff09;&#xff1a; //We…

dotNetCore操作Redis(含CentOS7哨兵模式部署)

现在说到使用缓存中间件基本就是 Redis 了&#xff0c;通常开发环境或测试环境部署一个单机版就可以运行了&#xff0c;但要上生产环境还需要进行高可用的方式来部署&#xff0c;本文说说在 CentOS7 中 Redis 高可用的部署以及在 dotNetCore 中怎样调用。环境CentOS&#xff1a…

php和mysql一键安装包_iis+php+mysql一键安装教程和安装包

导读&#xff1a;iis上mysqlphp一键安装 很多用vps的朋友&#xff0c;在windons系统iis上配置mysqlphp环境的时候都非常的头痛&#xff0c;过程非常复杂和麻烦&#xff0c;所以我们推荐大家用mysqlphp一键安装包&#xff1a; 1、下载mysqlphp一键安装包&#xff0c;安装包下载地…

埃氏筛法(素数筛选)

代码如下&#xff1a; //Wecccccccc //2021.1.6 #include <iostream> using namespace std; int vis[100000]; //0为素数&#xff0c;1为不是素数 int main() {int maxn;cin >> maxn;vis[0] vis[1] 1;//0,1都不是素数&#xff0c;所以赋值为1for (int i 2; i &…

程序员过关斩将--自定义线程池来实现文档转码

背景我司在很久之前&#xff0c;一位很久之前的同事写过一个文档转图片的服务&#xff0c;具体业务如下&#xff1a;1. 用户在客户端上传文档&#xff0c;可以是ppt&#xff0c;word&#xff0c;pdf 等格式&#xff0c;用户上传完成可以在客户端预览上传的文档&#xff0c;预览…

mysql开启gtid dump_mysqldump关于--set-gtid-purged=OFF的使用

数据库的模式中我开启了gtid&#xff1a;mysql> show variables like %gtid%;---------------------------------------------| Variable_name | Value |---------------------------------------------| binlog_gtid_simple_recovery | ON || enforce_gtid_consistency | O…

with grant option mysql_mysql用户及权限(WITH GRANT OPTION)

添加用户授权方法一&#xff1a;create user userip identified by password;grant SELECT on op_db.* to userip with grant option;flush privileges;添加用户授权方法二&#xff1a;grant SELECT on op_db.* to userip identified by password with grant option;flush priv…

2019年Linux与开源如何统治技术圈

2019 年&#xff0c;Linux 与开源疯狂发展&#xff0c;ZDNet 专栏作者 Steven J. Vaughan-Nichols 梳理了 5 个年度大事件&#xff0c;从中我们可以看出来技术的未来还是属于 Linux 和开源软件的。1、IBM 以 340 亿美元收购 Red Hat排名第一的是 IBM 收购 Red Hat&#xff0c;这…