Silverlight 2.5D RPG游戲技巧與特效處理:(四)天氣系統

作者: 深藍色右手  來源: 博客園  發布時間: 2011-03-15 11:25  閱讀: 1080 次  推薦: 1   原文鏈接   [收藏]  

  如同動態光影一樣,天氣系統同樣為2.5D RPG游戲所不可或缺的元素之一。從視覺角度講,天氣系統讓游戲場景空間層次分明,立體感更強;從用戶角度講,天氣系統賦予游戲更貼近現實的親歷體驗,試想下游戲中的花花草草隨風而動,云霧繚繞風雨雷電一切來得自然而平滑,玩家即似身臨其境般享受;從功能角度講,不同的氣候狀況會對角色及魔法效果產生各異影響,極大的提升游戲趣味性。 

  模擬相對較真實的天氣效果,粒子系統必不可少,天氣中的雨、雪、閃電、云霧等均可看做是大量粒子的集合。因此首先我們新建一個名為Particle的粒子類,然后再新建天氣對象Weather,本節中我為Weather編寫了常見的6種天氣狀態分別為:下雨、刮風、飄雪、雷電、云霧、天懲。每種天氣的實現方式大同小異,特別強調隨機性及仿真性,重點是把握住粒子的移動軌跡及銷毀處理。另外,游戲設計之初天氣層的位置就應當確定下來,如果僅僅是想做一些簡單的天氣效果,比如不隨場景移動的雨、雪等,那么只需將Weather放置于游戲窗口中即可;而如果要制作全局性的比如云霧游走、落雷閃電等,則需將Weather放置于場景空間中。當然,一切天氣粒子都處于場景空間中效果會最真實,但性能開銷偏大,畢竟你要用這些粒子布局填滿整個地圖尺寸而不僅僅是屏幕寬高。

  因此,同時也為了更方便的進行場景特效渲染,我們得清楚的劃分好場景各層次及它們之間的關系,我的思路大致如下: 

  由天氣層外搭配上HLSL實現的日夜交替、夢回過去效果,最終使得整個天氣狀態系統顯得尤為真實而豐富。當然,目前Silverlight 4 還無法對HLSL效果進行GPU硬件加速,不過已不遠了,畢竟Moonlight前幾個月已實現了該功能。本節中的所有天氣都包含兩種模式:簡單/仿真,在仿真模式下天氣粒子會被更多的修飾和處理以貼近真實情況,比如旋轉、縮放、扭曲、閃爍等,當然性能開銷也會大許多。不過,當你感受著分布均勻、遠近分明的雨水;隨風散落、清新撲面的落葉;零零星星、化作煙塵的白雪;時隱時現、游蕩自若的霧靄以及那強烈震撼的閃電雷擊時,或許你會覺得這一切都是值得的:

  另外,對于內容豐富的天氣系統來說若能搭配上相應的游戲屬性,效果就更好了。大家完全可以敞開思路,比如下雨時無法施展火系魔法;飄雪時冰系魔法得以加成;刮風時移動速度減慢;云霧天氣影響玩家視線;雷電隨機照成傷害等等,優秀的設計往往在于能把握住那些易被忽略的細節,一旦被玩家發現并從中探索出新穎的玩法,游戲趣味性及耐玩性將不言而喻。

  最后,如果您還希望繼續探尋天氣系統場景渲染之完美極致,不妨像“天懲”那樣為每個著地雨滴制作水波漣漪;為每塊觸地雪粒制作層巒堆疊;讓一切對象因風的撩撥而起舞飛揚。沒錯,設計的創意就在您的手中,請不要拘束,Silverlight 2.5D RPG從此刻起由您來主宰!

  本節源碼下載地址:Demo3.rar

  在線演示地址:http://silverfuture.cn

1
0
 
標簽:Silverlight
 
 

文章列表

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()