如同动态光影一样,天气系统同样为2.5D RPG游戏所不可或缺的元素之一。从视觉角度讲,天气系统让游戏场景空间层次分明,立体感更强;从用户角度讲,天气系统赋予游戏更贴近现实的亲历体验,试想下游戏中的花花草草随风而动,云雾缭绕风雨雷电一切来得自然而平滑,玩家即似身临其境般享受;从功能角度讲,不同的气候状况会对角色及魔法效果产生各异影响,极大的提升游戏趣味性。
模拟相对较真实的天气效果,粒子系统必不可少,天气中的雨、雪、闪电、云雾等均可看做是大量粒子的集合。因此首先我们新建一个名为Particle的粒子类,然后再新建天气对象Weather,本节中我为Weather编写了常见的6种天气状态分别为:下雨、刮风、飘雪、雷电、云雾、天惩。每种天气的实现方式大同小异,特别强调随机性及仿真性,重点是把握住粒子的移动轨迹及销毁处理。另外,游戏设计之初天气层的位置就应当确定下来,如果仅仅是想做一些简单的天气效果,比如不随场景移动的雨、雪等,那么只需将Weather放置于游戏窗口中即可;而如上海徐汇企业网站设计与制作果要制作全局性的比如云雾游走、落雷闪电等,则需将Weather放置于场景空间中。当然,一切天气粒子都处于场景空间中效果会最真实,但性能开销偏大,毕竟你要用这些粒子布局填满整个地图尺寸而不仅仅是屏幕宽高。
因此,同时也为了更方便的进行场景特效渲染,我们得清楚的划分好场景各层次及它们之间的关系,我的思路大致如下:
由天气层外搭配上HLSL实现的日夜交替、梦回过去效果,最终使得整个天气状态系统显得尤为真实而丰富。当然,目前Silverlight 4 还无法对HLSL效果进行GPU硬件加速,不过已不远了,毕竟Moonlight前几个月已实现了该功能。本节中的所有天气都包含两种模式:简单/仿真,在仿真模式下天气粒子会被更多的修饰和处理以贴近真实情况,比如旋转、缩放、扭曲、闪烁上海徐汇企业网站制作等,当然性能开销也会大许多。不过,当你感受着分布均匀、远近分明的雨水;随风散落、清新扑面的落叶;零零星星、化作烟尘的白雪;时隐时现、游荡自若的雾霭以及那强烈震撼的闪电雷击时,或许你会觉得这一切都是值得的:
另外,对于内容丰富的天气系统来说若能搭配上相应的游戏属性,效果就更好了。大家完全可以敞开思路,比如下雨时无法施展火系魔法;飘雪时冰系魔法得以加成;刮风时移动速度减慢;云雾天气影响玩家视线;雷电随机照成伤害等等,优秀的设计往往在于能把握住那些易被忽略的上海企业网站设计与制作细节,一旦被玩家发现并从中探索出新颖的玩法,游戏趣味性及耐玩性将不言而喻。
最后,如果您还希望继续探寻天气系统场景渲染之完美极致,不妨像“天惩”那样为每个着地雨滴制作水波涟漪;为每块触地雪粒制作层峦堆叠;让一切对象因上海网站建设风的撩拨而起舞飞扬。没错,设计的创意就在您的手中,请不要拘束,Silverlight 2.5D RPG从此刻起由您来主宰!
本节源码下载地址:Demo3.rar
在线演示地址:http://silverfuture.cn