unity透明通道加颜色_研究一下unity官方的Visual Effect Graph案例(其一)

示例项目:

https://github.com/Unity-Technologies/VisualEffectGraph-Samples

案例一:UnityLogo

efde225e4b1517526298ff7cb45911f3.gif
第一反应,哇,好xx炫酷!但是性能很惨,有大约75w个粒子,开销要15ms。

这个特效可以大体可以分为2部分,一是一个绕着中心无规则旋转的球,大量生成粒子。一是那个logo作为力场,吸附这些发射出来的离散的粒子。一开始我以为logo就是一个简单的正方体,然后以边作为吸附区域。然后发现是一张3D的Texture。

544eb9482b14f2418a57af0cc325a518.png

还有一个引力场每帧直接作用于每个粒子,产生扰动。

6aa0794ca2fec588b2721cb9a3624d18.png

b2e6e0c9d20c4a15d92adf4502599c04.gif
关闭该力场后特效失去灵魂

产生粒子的球体还能与粒子发生碰撞。

9a317d59e9e897f81cc6f4daa209e769.png

87a45792f25339f36b892ad5d6390937.gif
把摩擦力设为8以后会变成烟花...小本子记下来说不定用得到...


有关颜色,我一开始觉得有光照...看了文档才知道粒子颜色由两个东西控制,一是周期的颜色变化,从紫色到红色。

fbf6e737be2b5be014d67fd51e98c22c.png

一是通过曲线控制,改变球体周围的颜色产生伪光照的效果。(很聪明的作法)

有关时间,特效的周期,官方特地说了下用Total Time(Per-Particle),不要用(Total Time),我试了下,用Total Time球的运动真的是离散的...

e83a14ba3d615dbdcdf0b404c29b6eb8.png

案例二:Morphing Face

fc1d7977cf864dce1decc32d1596e1f8.gif

一开始我觉得是小正方体拉伸产生的形变,(因为形变剧烈,内部的面露出来了,所以变黑了..)场景里有冷暖灯。仔细看了下是正方体变成狭长长方体然后稍微改变一下朝向,那还应该有个移动的光源。然后找了半天没发现那个移动的光源...结合上一个案列,那应该是是变成正方体时额外加了颜色做出伪光照的效果...

e6d8b72330422a7e56c36f7ea26ef652.png
Visual Effect Graph自带的模型转换点缓存的工具

官方用Houdini生成点缓存导入(没说是不是直接导入就能用),不过也可以从Window/Visual Effects/Utilities/Point Cache Bake Tool打开自带的工具生成。

419036a17a9831324e26e7fffd0e340d.png
使用Point Cache节点来使用点缓存数据

469e2a83bc67198ffeae0adfa341d918.png
顶点的法线会作为拉长后的长方体颜色

802975ed91d16a76d3a2097459f534ae.gif

意思是houdini生成的点缓存法线方向都一样是吧...

1a2ad350c6a1efdb4153395add7a8ae7.png

循环这次用了这个节点,从-12到12之间不断插值并输出并且2.5秒循环一次。

案例三:Butterflies

65dfa7a287b37a27c670367f3a09c9e8.gif

这个特效比较炫技...我一直在想把蝴蝶做成prefab了用脚本控制运动轨迹会不会更省一点。

蝴蝶的翅膀是带透明通道的贴图,中间部分是mesh。

82ddd6ee69d3834fe6fca80ef08ab3fe.png
蝴蝶在水平方向上朝向速度方向,在垂直方向上角度固定

c1d58489a426dce33601ffd3012299a2.png
身体部分有个向上的偏移并不与速度方向完全一致

场景里面有个扰动场但是影响很小,关了也看不出任何变化

ddc28f5e04677249627505e9cde52af2.png

蝴蝶的主要移动方式还是随机改变力的方向,然后限制最大速度。

5e375fc80a1d9be71c000464a0484b0f.png

翅膀的扇动与整体的前进使用了正弦函数,来表现蝴蝶运动克服空气阻力的效果。就是让蝴蝶动起来不那么平滑。

1ceb87b4c53e266416108b94075b4830.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值