前言
小时候最喜欢看西游记,总是幻想着自己能像孙悟空那样,脚踏筋斗云穿梭云海间,生活在仙境中。长大后做了图形程序,一直想做一个真正的云海出来,但由于移动端的计算瓶颈,一直没能做出一个兼顾性能和效果的体积云(体积云是基于物理的云渲染系统,在游戏中模拟出具有半透明、无规则的表现效果的云)。
本人是一个游戏开发爱好者,经常会fellow一些前沿的技术,并且将一些感兴趣的技术点开发成一个可以方便使用的插件。最近看到华为HMS Core 中的CGKit提供了一个体积云插件,所以就花了两天时间按照官方文档集成到Unity中,下图是一个简单场景的效果(上面的云为天空盒,下面的云为集成后的体积云),可以看到体积云整体偏真实,“金边”效果也比较明显,支持动态光照,可以在云中任意穿梭。最重要的是我在一个低端机(荣耀8青春版)上测试了一下性能,分辨率为720P的情况下,竟然可以跑到50帧!该插件还有一个有意思的功能是,支持开发者定制云的形状,这样我就可以拥有一朵任意形状的云了。
接下来就和大家分享一下我是如何将HMS CGKit体积云插件集成到Unity中的,希望对大家的开发有所帮助。
2、开发准备
1、Visual Studio,推荐使用2017及以上版本;
2、Android Studio,推荐使用4.0及以上版本;
3、Unity,推荐使用2018.4.12及以上版本;
4、EMUI 8.0及以上华为手机或Android 8.0及以上非华为手机;
5、下载SDK
到华为开发者联盟下载SDK,下载链接及说明文档链接如下:
API参考:https://developer.huawei.com/consumer/cn/doc/development/HMSCore-R