Iefans,靠谱的软件下载站

首页 最新文章 最新安卓 最新苹果 浏览器 IE教程 在线图片编辑 最新软件 最新游戏

当前位置: IEfans / IE专区 / IE修复/ Unity利用材质自发光实现物体闪烁

Unity利用材质自发光实现物体闪烁

编辑:秩名2020-08-05 09:34:39

Unity中利用材质自发光实现物体闪烁效果,供大家参考,具体内容如下

补充:这种方法有一点问题,在测试(Windows平台)的时候发现,要想在Build出来的游戏中实现闪烁效果,就必须在 Project 窗口中将源材质的自发光属性(Emission)启用,否则自发光效果就只能在编辑器模式中生效。

启用源材质的自发光效果后,将其亮度(Brightness)调整为0,物体看起来就和没有启用自发光时一样。

看到别的游戏里有物体高亮闪烁效果,但自己不会写Shader,就只想到用材质自发光来做一下,不知道有没有更好的办法!

原理比较简单,通过代码开启材质的自发光效果,然后不断地调整自发光的亮度即可。

首先要获取到材质对象实例 material,然后通过其进行其他操作:

启用自发光效果的代码是 material.EnableKeyword("_EMISSION")

关闭自发光效果的代码是 material.DisableKeyword("_EMISSION")

设置自发光颜色和亮度的代码是 material.SetColor("_EmissionColor", Color.HSVToRGB(_h, _s, _v))

其中的 _h、_s、_v参数分别代表颜色的色相、饱和度和亮度。

获取颜色的色相、饱和度和亮度的代码为 Color.RGBToHSV(color, out _h, out _s, out _v)

下面有完整的源代码

此方法实现的闪烁效果不能发出光晕,因为自发光的光晕必须经过烘焙才能生效,而烘焙是在运行前完成的,所以无法在运行时产生光晕效果;另外闪烁的最高亮度只能为1,不能像烘焙时那样将亮度设为大于1而产生HDR效果。

Unity利用材质自发光实现物体闪烁

源代码

Unity利用材质自发光实现物体闪烁

Unity利用材质自发光实现物体闪烁

Unity利用材质自发光实现物体闪烁

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持iefans。

返回旧版Copyright © 1998-2023 www.iefans.net All Rights Reserved 沪ICP备17019769号-18 意见反馈