|
如同動(dòng)態(tài)光影一樣,天氣系統(tǒng)同樣為2.5D RPG游戲所不可或缺的元素之一。從視覺角度講,天氣系統(tǒng)讓游戲場(chǎng)景空間層次分明,立體感更強(qiáng);從用戶角度講,天氣系統(tǒng)賦予游戲更貼近現(xiàn)實(shí)的親歷體驗(yàn),試想下游戲中的花花草草隨風(fēng)而動(dòng),云霧繚繞風(fēng)雨雷電一切來得自然而平滑,玩家即似身臨其境般享受;從功能角度講,不同的氣候狀況會(huì)對(duì)角色及魔法效果產(chǎn)生各異影響,極大的提升游戲趣味性。
模擬相對(duì)較真實(shí)的天氣效果,粒子系統(tǒng)必不可少,天氣中的雨、雪、閃電、云霧等均可看做是大量粒子的集合。因此首先我們新建一個(gè)名為Particle的粒子類,然后再新建天氣對(duì)象Weather,本節(jié)中我為Weather編寫了常見的6種天氣狀態(tài)分別為:下雨、刮風(fēng)、飄雪、雷電、云霧、天懲。每種天氣的實(shí)現(xiàn)方式大同小異,特別強(qiáng)調(diào)隨機(jī)性及仿真性,重點(diǎn)是把握住粒子的移動(dòng)軌跡及銷毀處理。另外,游戲設(shè)計(jì)之初天氣層的位置就應(yīng)當(dāng)確定下來,如果僅僅是想做一些簡(jiǎn)單的天氣效果,比如不隨場(chǎng)景移動(dòng)的雨、雪等,那么只需將Weather放置于游戲窗口中即可;而如果要制作全局性的比如云霧游走、落雷閃電等,則需將Weather放置于場(chǎng)景空間中。當(dāng)然,一切天氣粒子都處于場(chǎng)景空間中效果會(huì)最真實(shí),但性能開銷偏大,畢竟你要用這些粒子布局填滿整個(gè)地圖尺寸而不僅僅是屏幕寬高。
因此,同時(shí)也為了更方便的進(jìn)行場(chǎng)景特效渲染,我們得清楚的劃分好場(chǎng)景各層次及它們之間的關(guān)系,我的思路大致如下:
由天氣層外搭配上HLSL實(shí)現(xiàn)的日夜交替、夢(mèng)回過去效果,最終使得整個(gè)天氣狀態(tài)系統(tǒng)顯得尤為真實(shí)而豐富。當(dāng)然,目前Silverlight 4 還無法對(duì)HLSL效果進(jìn)行GPU硬件加速,不過已不遠(yuǎn)了,畢竟Moonlight前幾個(gè)月已實(shí)現(xiàn)了該功能。本節(jié)中的所有天氣都包含兩種模式:簡(jiǎn)單/仿真,在仿真模式下天氣粒子會(huì)被更多的修飾和處理以貼近真實(shí)情況,比如旋轉(zhuǎn)、縮放、扭曲、閃爍等,當(dāng)然性能開銷也會(huì)大許多。不過,當(dāng)你感受著分布均勻、遠(yuǎn)近分明的雨水;隨風(fēng)散落、清新?lián)涿娴穆淙~;零零星星、化作煙塵的白雪;時(shí)隱時(shí)現(xiàn)、游蕩自若的霧靄以及那強(qiáng)烈震撼的閃電雷擊時(shí),或許你會(huì)覺得這一切都是值得的:
另外,對(duì)于內(nèi)容豐富的天氣系統(tǒng)來說若能搭配上相應(yīng)的游戲屬性,效果就更好了。大家完全可以敞開思路,比如下雨時(shí)無法施展火系魔法;飄雪時(shí)冰系魔法得以加成;刮風(fēng)時(shí)移動(dòng)速度減慢;云霧天氣影響玩家視線;雷電隨機(jī)照成傷害等等,優(yōu)秀的設(shè)計(jì)往往在于能把握住那些易被忽略的細(xì)節(jié),一旦被玩家發(fā)現(xiàn)并從中探索出新穎的玩法,游戲趣味性及耐玩性將不言而喻。
最后,如果您還希望繼續(xù)探尋天氣系統(tǒng)場(chǎng)景渲染之完美極致,不妨像“天懲”那樣為每個(gè)著地雨滴制作水波漣漪;為每塊觸地雪粒制作層巒堆疊;讓一切對(duì)象因風(fēng)的撩撥而起舞飛揚(yáng)。沒錯(cuò),設(shè)計(jì)的創(chuàng)意就在您的手中,請(qǐng)不要拘束,Silverlight 2.5D RPG從此刻起由您來主宰!
本節(jié)源碼下載地址:Demo3.rar
在線演示地址:http://silverfuture.cn
NET技術(shù):Silverlight 2.5D RPG游戲技巧與特效處理:(四)天氣系統(tǒng),轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。