400-650-7353

精品课程

您所在的位置:首页 > IT干货资料 > unity > 【Unity基础知识】ASE制作燃烧溶解效果

【Unity基础知识】ASE制作燃烧溶解效果

  • 来源:Unity干货资料
  • 2021-09-08 13:45:43
  • 阅读()
  • 分享
  • 手机端入口

大家好,我是优就业小优,又和大家见面了。今天我们来讲一下,如何用Amplify

Shader Editor插件制作一个燃烧溶解的效果。如下效果:

一、首先我们实现消融的效果

首先需要设置一下主节点的属性

渲染类型(Render Type)要选成透明切口(Transparent Cutout)

渲染队列(Render Queue) 要选成透明度测试(Alpha Test)

遮罩值(Mask Clip Value) 要选成0.5(可手动调节)

当主节点的属性设置成如上后,你会发现主节点的 opacity mask变得可选了。这个就

是透明度遮罩,如果这个值给的大于mask clip value(目前是0.5)那么这个像素就可显示,如果小于这个值(0.5)那么这个像素就不显示。我们知道,Alpha混合运算量是比较大的,但是在实际游戏效果中,有些物体的Alpha的值如果很小,在远处就是看不见的,好不容易运算出来,玩家又看不见,那还不如不算,直接裁剪掉。所以这时候就用上了Alpha Test.如果小于某个Alpha值就直接过滤。省去后面的运算。


这里加了一个遮罩图,是因为我们要实现一个溶解的效果,就是有些像素显示有些像素不显示,就要每个像素不同的opacity mask值,所以用一个噪声图来给每个像素不同的mask值。

接着我们给遮罩图(Dissolve Guide)一个可控的变量值 (Dissolve Amount),这个值的类型是Property,那么意味着我们可以在C#代码里控制它。它的值如果是0,那么我们希望物体有局部消融,如果是1那么我们希望物体全部消融。参数含义如下:

One Minus:节点就是一个翻转节点,在这里就是1-DissolveAmount。

Remap节点:将其输入上设置的值从(Min Old, Max Old)范围转换为由(Min New, Max New)定义的新值。这里我们想把1-DissolveAmount的值从---0的范围变

成-0.6—0.6的范围。

为什么要这样呢?因为我们原先遮罩贴图输出的颜色值的某一通道比如R通道,输出的值的范围是0--1,然后Dissolve Amoun 的值经过翻转后变成了-1--0。这两个相加的范围就是-1到1,但是我们这里opacity mask值需要的范围,0-1。那么我们就需要把DissolveAmount的范围调整为-0.6-0.6,这样和如果遮罩图的单一通道颜色值的是1,相加后是0.4也是小于0.5的。这样就能实现全部消融的效果。

学习疑问申请解答
您的姓名
您的电话
意向课程
 

中公优就业

IT小助手

扫描上方二维码添加好友,请备注:599,享学习福利。

>>本文地址:
注:本站稿件未经许可不得转载,转载请保留出处及源文件地址。

推荐阅读

优就业:ujiuye

关注中公优就业官方微信

  • 关注微信回复关键词“大礼包”,享学习福利
QQ交流群
在线疑问解答
(加群备注“网站”)
IT培训交流群 加入群聊 +
软件测试 加入群聊 +
全链路UI/UE设计 加入群聊 +
Python+人工智能 加入群聊 +
互联网营销 加入群聊 +
Java开发 加入群聊 +
PHP开发 加入群聊 +
VR/AR游戏开发 加入群聊 +
大前端 加入群聊 +
大数据 加入群聊 +
Linux云计算 加入群聊 +
优就业官方微信
扫码回复关键词“大礼包”
享学习福利

测一测
你适合学哪门IT技术?

1 您的年龄

2 您的学历

3 您更想做哪个方向的工作?

获取测试结果
 
课程资料、活动优惠 领取通道