如何在移动端游戏中实现下雪系统?

  • Post author:
  • Post category:其他


首先还是从雪粒子开始,雪粒子无法像雨一样根据深度来直接判断阻挡,因为雨是垂直下落的,但雪不是,雪是会有各种方向的,所以这里需要做实实在在的碰撞来处理遮挡。


就是用了一个触发器,就可以看到雪被挡住了。因为自带的物理引擎性能也很好,这样做还可以接受。


然后要开始处理积雪。第一步还是要实现一个雪的材质,起码要看上去像雪。

基本原理就是雪是白色的,然后加上一个法线,模拟雪表面的纹理。


这样就有了基本的感觉。


然后是处理雪的逐渐覆盖,首先想到的就是


域名买卖平台


利用柏林噪声生成fbm,来逐步覆盖雪地。


可以看到地面和球体都有部分被雪覆盖的痕迹。 接下来依然要处理遮挡部分,和下雨是一样的。


最后是运动痕迹,和以前的草思路一样。


然后说下这个雪的问题。

顶点片段着色器并不复杂,而且可以适当减少噪声计算来获得好的帧率。问题大的反而是为了处理雪的碰撞,以及雪的速度较慢,会积累大量的粒子在屏幕里。

所以改良措施就是直接用雪粒子特效代替,因为粒子特效是多线程优化过的,也支持碰撞,性能会好不少。

其他应该和下雨类似,需要自己整合到项目中。