標籤:

遊戲里的天氣系統實現起來很難嗎?

這兩天DOTA2才公布了地圖的下雪,下雨和月光效果
看上去很容易的事啊
為什麼現在才出現?

dota2新天氣系統(來自遊民星空)

月光

視頻視頻封面《DotA2》如何添加下雨天效果視頻


理論上不難但是實踐起來超級麻煩。(這裡說的是3A遊戲)

今年E3上展出的遊戲中視覺上讓我驚艷的其中就有《The Division(全境封鎖)》,很大原因就是它的天氣系統做的太好了(羨慕嫉妒恨啊……),這裡有一段視頻展示它的引擎和開發者的使用感想:
視頻封面Tom Clancy"s The Division - Snowdrop Engine @ GDC 2014視頻

真正的動態天氣會涉及到遊戲的很多方面,眼睛可以看到的比如說天空、光照、霧、每個物體上的漫反射、法線、高光、post process包括color grading、tone mapping等;看不到但是能感覺到的遊戲玩法比如說走到雪地上速度會變慢、npc跟你抱怨為神馬天氣這麼糟糕莊稼都被淹死了啊、下雨天撿肥皂容易滑倒什麼的(這是神馬遊戲啊喂!)……要在一個龐大的遊戲引擎里把這麼多東西都照顧周到可真不是件容易事兒。

程序上需要考慮怎麼把天氣系統和其他各種亂七八糟的東西聯繫起來,渲染介面,遊戲系統介面,好不容易接上弦了沒幾天又被人改其他東西改壞了……修好了又被改壞了如此往複直到遊戲發行(貌似變成吐槽了啊喂!)……

在這件事情上其實程序只佔一小部分(如果主要是視覺變化而沒有那麼在意對玩法影響的話),更多的還要靠美術體力活兒。由於物體的屬性不一樣,它們在不同天氣下也會有完全不一樣的材質。就說遊戲中常見的兩種材質,木頭和金屬吧:下雨天,木頭顏色會變深,金屬則基本不變顏色;它們對水的附著力不一樣導致雨水流下來的痕迹不同,要用不同的mask;法線、高光貼圖也需要不同程度的處理。再舉個栗子,上面視頻里有一段在紐約街頭的雪景,雖然都是積雪,警車車蓋上的,和汽油罐子的,和地上車輪壓過的,都有人去進行需要不同的處理。畫完了還不算,還要把這些個不同狀態下的材質神馬的放到上面程序做的系統中去,保證各種情況下的漸變都看起來自然又漂亮又酷炫……

聽起來就感覺各種蛋疼乳酸對不對……

亂入一個……


對其他遊戲不知道,對DOTA2來說不難。而且他們也做過。
舉個例子:一年前出的教學第二關(狙擊手中出潮汐獵人)開場就是下雨天氣。

另外DOTA2確實是動態實時光源,高光不是畫上去的。開啟動態高光特效之後能清楚看到地圖上的路燈會照亮英雄的鎧甲。所以沒有什麼天氣系統需要模型一起變的情況,反而更方便了。

但是dota2確實需要考慮團戰辨識度的問題,雪花雨水的密度要適中,雨天閃電和月光照不亮戰爭迷霧也要做得不那麼反科學。
------------
補充:居然看到有人鄙視DOTA2做不出改變遊戲性的天氣系統,大概是沒玩過12年冬天貪魔節的河道滑冰吧。


很麻煩。

類比一下,同一個角色穿兩件衣服,對遊戲製作方來說是同一個角色還是兩個角色呢?答案是兩個角色。像下圖,服裝B不是在人體上套了運動服,衣服和人體的建模是一個整體,A和B的人體模型本身就不一樣。(不是說動畫骨骼)
服裝A

服裝B

遊戲里的不同天氣需要對應不同的畫面效果,因此同一個場景的晴天與雪天,實際上是兩個完全不同的地圖。假設你有晴天,雪,雨三種狀態,就是3張不同的地圖,製作時的工作量大大增加,遊戲運行時需要的內存容量也大大增加了。如果狀態之間還要自然過渡,需要更多中間細節,容量更大了。

還有光照,現在大部分遊戲的場景光源都是預烘焙的假光源,你看著場景有向陽背陰的區別,其實根本沒有光打過來,全是畫上去的,太陽東升西落和月光這些涉及到光源改變。

當然考慮到效率,並不需要替換完整的地圖出來,如果光照方向改變,只要替換表現明暗效果的部分就可以了。如果下雨,原來的路面主體不需要改變,只要把積水和反光的部分加進來就可以。

GT5和GTA5都是對天氣表現得比較好的例子
Gran turismo 5 「Weather」天氣變化

有人提到遊戲規則也要改變,其實這部分工作量很小,因為地面效果影響的只有很少一些參數,最典型的像賽車遊戲,所謂下雨下雪只要抓地乘個係數就可以。如果天氣效果要深入影響遊戲規則,比如能見度受限,AI規則變化,那就另說了。我是反對把場景變化與遊戲系統聯繫起來的。絕大部分遊戲在只有一套場地和規則的情況下遊戲性都一塌糊塗,還妄想引入完全不同的場地要素和動態規則,悲劇是必然的。像VF3這種世界頂級的遊戲都做不好,我不相信其他遊戲能做得有多好。

我說的這些,前提是遊戲的畫面是主流水平,而且機器不是120G內存固態硬碟的燒包機。遊戲內容的豐富度與機能有非常明確的關係,所以2000年以前的遊戲沒有天氣變化,那時主流內存才4M,連視野範圍之內的場景都放不下,需要拆成很多個地區,設計過渡區,分開讀取,更別說放天氣了。當然也有投機取巧的辦法,就是地面效果不變,所謂下雪就是飄點雪花,場景光照稍微改下,這種狗屁天氣效果20年前就實現過。我見過的第一個有天氣變化的遊戲是30年前的《影子傳說》,DOTA2的效果甚至還不如它,地面都沒怎麼變。

1991年的ZELDA,遊戲畫面不變,然後降低整體亮度(有的是改調色板,有的是覆蓋一層半透明圖層),再加一層表示雨滴的效果。物理效果不改是因為對遊戲性沒什麼好處。

現在都2014年了,天氣變化起碼得有這樣的效果吧……


  • 提問的邏輯很差:

問題與描述不符。

標題不應該描述成「遊戲里天氣系統實現起來很難嗎?」。這樣描述存在兩個謬誤:
第一,問題討論的對象實質是「天氣效果」而不是「天氣系統」。
第二,標題並不是疑問,大多數人用正常思維去理解,都能感覺到提問者存在主管傾向:默認製作天氣效果很容易。並且附圖(可視為論據)說明自己的傾向。

其實從標題到描述,可以發現提問者問的不是一個,而是兩個問題:
第一個是遊戲里天氣系統(但描述所表達的絕對不是天氣系統,而是天氣效果)很難做嗎。
第二個是如果很容易,為什麼很多遊戲都不積極的把天氣效果做出來。

如果是第一個問題,那麼在描述中大量的主觀導向,並附加了提問者自身(私人角度)對天氣效果的認知和衡量標準,讓很多人在剛審題並未加以思考之前,就會傾向很容易的觀點(其實複雜的天氣效果,即時演算量非常大,並不是一個Dota2地圖效果能代表的)。

綜上,我私人分析,提問者真正想質疑的是「為什麼遊戲製作方不主動優化遊戲效果」,而不是「優化遊戲效果的難易程度」。

所以問題標題應該是「為什麼遊戲製作方對製作地圖天氣效果(優化遊戲表達效果)的態度很消極?」

  • 對第一個問題「遊戲里天氣系統(效果)實現起來很難嗎?」的回答:

天氣效果:(是一種渲染,核心為數據)
不同軟體對天氣效果的要求參差不齊,就目前能做到的極限來說,較完美的天氣效果製作起來還是比較困難的。但是僅僅是提問者給出的Dota2的地圖效果來說,不考慮客戶端升級覆寫時,是不是會產生新的遊戲bug之類的問題,實現起來不過是一個中等外包小公司幾個工作日的工作量而已。

天氣系統:(是一種遊戲規則的機制,核心為演算法)
目前大多數存在於第一人稱,和棋牌類遊戲中。說點討人厭的話,這個系統涉及到「智力水平」太多,從製作方,到玩家,往遊戲里弄天氣系統都是一個挑戰。畢竟就目前大眾(不要以自己的感覺去衡量)的平均智力水平(你知道有幾成人你2分鐘前跟他說過的話他2分鐘之後就會忘嗎。對他們而言,光是天氣系統需要的短期記憶能力就讓他們能破口大罵了),到現在流行的「遊戲就是要爽,墨墨跡跡還費腦子的都滾蛋,玩遊戲還『秀優越感』(誰知道是不是真的有人在秀)的都滾蛋」的風氣,實現起來還真的是非常困難。遊戲公司沒有追夢人,他們的目標不是做完美產品,都是要賺錢的。

  • 對第二個問題「為什麼遊戲製作方不主動優化遊戲效果?」的回答:

很多因素。挑幾個簡單而佔比重比較大的來說吧:

第一:做和客戶核心需求無關的附加項,大多數基本對公司來說有百害而無一益。
eg:你買一瓶礦泉水,你發現包裝巨精美。你心裡也會犯嘀咕:是不是我這錢很多都花到包裝上去了?如果是廉價的礦泉水,就算水的品質非常完美,你也會覺得:不能把成本都從水本身補回來吧?是不是喝的水都是自來水?
就算數據證明,就算這麼賣商家也賺錢,你還會覺得中間有貓膩,因為商人不會追求利潤最大化這點,就算在你頭腦中都是不合情理的。
當然對於遊戲而言,這個問題會非常淡化。因為遊戲效果本身是介於遊戲的核心賣點和附加項之間的模糊概念。
但是就算是遊戲中的動畫效果,也是大概有一個閾值X,當未達到時為核心賣點,達到後為附加項。
eg:如果在魔獸世界已經實現了雪天場景有腳印和哈氣,4個方向的光源效果,這時又推出了一個「可放大到極致而不產生貼圖邊縫鋸齒質感,畫面無限圓潤」的效果,導致了客戶端要30個G大,需要各種高配,一般人玩不了。那麼遊戲效果這時已經不是核心賣點,而是附加項了。
附加項和贈品不同,附加項是產品本身的一個屬性,不是額外的附加產物,如同買一送一你會非常開心,但是買一個鋼筆發現它側面有附帶個小液晶可以起到時鐘的功能,你通常不會覺得開心,反而會對鋼筆本身的品質產生質疑。
如果Dota2畫面再豐富一些,你要考慮的是一方面玩家在信息提取時更加費力了,對操作和思考很有影響,另一方面是更加豐富的畫面是附加項,即會讓製作方的投入完全收不到應該有的收益玩家認可度不高或者很多玩家感覺不到差別,又有可能有人詬病畫面提升以後機器配置要求也提升了遊戲進程更卡頓了等等。
這可能是讓遊戲公司有意的避免去做遊戲效果優化的因素之一。

第二:任何公司的舉措都是需要有發動的動力驅使的。
eg:現在如果有一場大學畢業生晚會來到位於學校校區的小賣店拉外聯(就是贊助,學生會幫你打廣告,你掏錢支持學生會的活動),你如果是小老闆,理智的考慮,你會答應嗎?如果你答應了,那你是一個非常有「情懷」的老闆,不是為了輸贏,就是認真,可以考慮去做手機。
對於遊戲而言也是一樣的。每一個遊戲除了研發階段比較注重產品本身,在運營和維護階段如果有什麼舉措的話,更注重的是這個舉措本身的經濟效益。遊戲公司永遠要在培養用戶群,和盈利之間不停地去平衡。具體怎麼平衡,當然要維持最低的用戶群培養成本,去賺取最高的利潤了。
就目前而言,大多數情況是這樣:有種概念叫做「產品經理」,他們才是決定遊戲接下來做什麼變動,舉辦什麼活動,而不是「開發人員」。你想說服產品經理去做成本很低,收益也沒有的策劃嗎?
難易程度絕對不是決定遊戲要怎麼做的因素,能賺多少錢才是。很明顯,對於遊戲效果而言,在低於某個標準X之前,對於公司來說是線性收益的。但是當達到了X以後,再繼續優化遊戲效果是接近零收益的。100個玩家用戶,10個對遊戲能看清模型的C程度效果就滿意了,80個對遊戲要求看起來跟主流遊戲的平均水平差不多的B程度效果就滿意了,10個是能享受極致遊戲優化A程度效果帶來的體驗的骨灰級發燒友。那麼大多數遊戲開發時,都是奔著B級去的。
這可能是讓遊戲公司對去做遊戲效果優化非常消極的因素之一。


就墮胎2的效果來說……就是很容易的事。
我估計需要工作的時間大概是一個活動地圖的七分之一和一個新英雄的十五分之一……和一個新小雞需要的工作時間可能差不多。
至於為啥現在才出……因為這玩意不重要啊。
就像沒人去調水的顏色一樣,一般也沒人會去調天氣。
這種事大概就是誰想起來了就做了,沒想起來就算了。
然後Valve一直沒想起來。

btw我覺得樓主貼的天氣效果比較失敗,大概最後還要再調1-2次。


專欄地址:遊戲中天氣的缺陷 - 靈魂之流 - 知乎專欄

文:曜冰 ; 編輯:影子摩西

多圖預警

本文獨家發表於遊民星空:所有天氣系統都不合格?談遊戲中天氣缺陷

未經許可,未標明來源和作者,謝絕轉載。

  《駕駛俱樂部》剛剛全球發售,想必很多PS4玩家已經在遊戲中享受自己的駕駛之旅了吧。這款以畫面為宣傳點的賽車遊戲,「天氣系統」可以說是吸引眾多玩家的亮點之一,然而很多玩家進入遊戲後卻感覺「也就那樣」……

  事實上,曾有很多遊戲在發售前都會把它的天氣系統作為其特點之一,但卻鮮能給玩家留下深刻的印象。到底是什麼原因導致遊戲中的天氣系統差強人意呢?難道它們全部都「不合格」嗎?


  也許我們可以與現實世界中的「天氣系統」對比,來看看遊戲中的天氣系統到底有何缺陷。

《駕駛俱樂部》的實際遊戲效果也並未達到宣傳中的高度

為什麼堅持在風雨中凋零的王大媽不回家收衣服


  這本來是晴爽的周末下午,除了還在加班的IT狗……科技界人士們,大家都在家裡享受安逸的假期,趁著太陽的熱乎勁兒,陽台上曬著散發著烤蟎蟲的陽光味道的被子床單,小明也早早地做完了家庭作業,在院子里和小夥伴們玩著純潔的遊戲。


  但俗言道:天有不測風雲。突然之間天空遍烏雲密布,幾聲雷響之後,雨也嘩嘩啦下了下來。

  小明狼狽地拖著一身濕透的衣服回到了家中,大人們也不滿地將本已曬好的被褥收了回來……

現實中暴雨中狼狽的行人們

  以上,是現實中天氣突變的一個情景。同樣的事情出現在遊戲中會發生什麼樣的反應呢?


  大部分情況下,什麼也不會發生。

  一些新遊戲,特別是角色扮演和MMORPG遊戲經常會強調自己的遊戲有豐富的天氣系統,遊戲中的表現更加真實。但在絕大部分情況下,遊戲中得天氣系統和「真實」豈止是相差萬里?遊戲中的NPC們彷彿一個個都是業界勞模,無法風吹日晒白天夜晚,都堅守著自己的工作崗位,為玩家提供商品的購買與出售服務、任務和獎勵,甚至是僅僅為了在玩家無聊瞎點時和他說上一句話。

即使沒有加班工資,NPC們也不會輕易離開工作崗位

  但這也是難怪的事情。遊戲中的NPC並不是現實中獨立思考的智慧體,他們的所有行動都是程序員賦予的腳本代碼,若是要賦予其針對不同天氣情況不同的反應,那工作量必然會成倍提升……在遊戲本身越來越求大求全的情況下,這種做法顯然是不可能的。


  並且在遊戲沙盒化的今天,遊戲預設AI遇見的情況往往也是不可控的。例如遊戲製作組給NPC「王大媽」設置了晴天和雨天兩套行動指令,讓她在晴天的時候在菜市場賣瓜,和路過的玩家吆喝自己的瓜又大又甜;而在雨天的時候,「王大媽」則跑到家中抱回曬在院子里的被子,一邊忙活一邊咒罵不長眼的老天爺。但如果遊戲同時把被子設置成了可交互的物品,玩家可以「拾取」它們,而製作組忘了考慮這個情況時,又會發生什麼樣的故事呢?也許「王大媽」會抱著「空氣被子」咒罵無辜的老天爺;也許「王大媽」這個NPC就在被子不翼而飛的空杆子前陷入休克(行動指令無法循環);也許,遊戲會崩潰。


  並不是每個遊戲,都希望自己遊戲的城市裡,有一群「膝蓋中箭」的衛兵啊。


  在多人同時在線的MMORPG中還不得不考慮另一個問題:如果NPC都去家裡躲雨收衣服了,那玩家該找誰來接任務呢?要想解決這個問題恐怕不單單是增加工作量的問題了,也不得不從功能的策划上考慮到不同天氣和環境下功能的分配和引導:如果下雨的時候交付玩家主線任務的村長老頭會回到房間里躲雨,那玩家應該找誰接受任務呢?如果是到房間里找村長,那麼應該如何告知玩家沒有敬業精神的村長已經回家了呢?考慮到遊戲中有成千上萬的「村長」,遊戲策劃需要死多少腦細胞才能把整個系統設計得完美無缺?


  所以在電腦技術的革新(AI智能的進化)或者遊戲研發流程的易用性增強前,這個問題也許沒有完美解決的方法。

在NPC變聰明前,他們只能先在雨中呆著了

  當然,並不是所有遊戲都對遊戲中風吹日晒的NPC們不管不顧,雖然能力有限,但一些遊戲商還是在想辦法改善NPC們的工作環境。


  《洛奇》作為十年前推出的MMORPG在這方面就走在了現在大部分同類遊戲的前面。遊戲中的NPC雖然還是一如既往得敬業,但不同的天氣給遊戲的世界卻帶來了不同的變化。比如玩家必須在打雷的天氣下才能素描任務所需的一個雕像;下雨中篝火的持續時間會縮短、採集的物品會變多之類。

  而單機遊戲這方面的顧及就更少一些,在《上古捲軸》中,最起碼下雨天戶外的NPC會少一些,而且他們終於知道在晚上打烊了。

在如《上古捲軸》的一些遊戲中,製作組還是在環境的反饋上下了功夫

  然而在天氣系統中環境的反饋上,大部分遊戲都還有大量的工作可以做……比如飛行中大風對飛機的影響、駕駛中汽車在積水中的摩擦力變化、模擬經營遊戲中惡劣天氣對客流的影響……乃至戀愛遊戲中不同天氣對角色心情的影響等。


  畢竟在遊戲中風雨凋零不記得回家收衣服的王大媽,讓「真實」這個詞一戳計破。


老師說過,天氣是空氣流動引起的自然現象


  「那個趴著睡覺的同學,請起來回答問題。」還在夢中與邪惡肉村大魔王決戰的小明,不情願地被老師叫了起來,他仍能感受到在剛才的夢境中自己因為保護世界這個重任而產生的緊張和顫抖。


  「為什麼會下雨?」


  「當然是因為龍王在天上打噴嚏。」對這個祖先千年前就給出答案的問題,小明遊刃有餘地回答到。


  「這是我一分鐘前剛講的知識點,考試會考的!天氣是一種因為空氣流動產生的自然現象,下雨是因為熱空氣冷空氣對流水蒸氣凝固。你是來學校幹嘛的?明天讓你家長來學校一趟!」


  如上文所言,天氣是空氣流通導致的自然現象,是無法違背的大自然的規律。這條準則似乎並無法在遊戲的世界中運用。

現實世界中的天氣系統並不是歸龍王管的

  遊戲中的所謂「天氣系統」並不是模擬空氣流動而產生的環境效果,而是針對不同的天氣環境製作出不同的美術素材,然後再在遊戲中運用。


  這當然也是需要技術和工作量的事情,比如不同天氣下的天空貼圖,光源的濾鏡,以及動態環境光,雨、雪、霧等天氣的模擬,雨對河流、積水等水源的相互影響等等。在最近《全境封鎖》等一些遊戲中開始推廣的動態天氣則會涉及到遊戲的更多方面,比如眼睛可以看到的天空、光照、霧;每個物體上的漫反射、法線、高光、post process……


  可以說,遊戲中的天氣系統的確是龍王所直接控制的一種規則,而辛苦的遊戲設計師們就是控制著複雜的天氣的龍王。

喜聞樂見的「濕衣系統」也是天氣系統所需要考慮的

  但既然從原理上,遊戲中的天氣和現實中的天氣就不是一回事兒,那麼必然會在方方面面露出這個海市蜃樓的馬腳。


  其中最經常暴露的「阿喀琉斯之踵」就是遊戲中的天空貼圖了。以《天涯明月刀》為例,這個遊戲在不同天氣的表現上下足了功夫,讓玩家能切身體驗到陽關下的、風雨中的、落雪下的古典江湖。不過在目前開放的版本中,卻使用了低解析度的天空貼圖,每個俠客抬頭張望時,彷彿就能看見屏幕那一段處於虛擬世界之外的真正的自己。

使用貼圖表現的天空總是華麗而又虛假

  另一個讓玩家對遊戲天氣的真實性感到遺憾的地方莫過於遊戲中的「風雲突變」了。因為遊戲中的天氣所對應的都是不同美術資源的表現,而天氣與天氣之間往往是毫無過渡可言……玩家是不可能在大雨到來前看著漫天的魚鱗雲提前做好準備的,遊戲中的雨就像青春期的愛情一樣:說來就來,說走就走。


  按現在天氣效果實現的手段,若是要表現不同天氣之間的過渡就得單獨再做一套套美術資源:從晴天過渡到下雨,從下雨過渡到晴天,從多雲過渡到沙塵暴,從沙塵暴過渡到風雲消散……這樣算下來,要實現更加豐富和真實的天氣系統,得累死多少批遊戲美工呢?

  那麼問題來了:為什麼遊戲中的天氣不從根本上模擬空氣的流動,通過硬體的演算法來實現不同的效果呢?這樣做的話豈不是能降低大量美工的工作量,且保證天氣效果更加真實?


  除開技術上的問題,還有個更加根本的原因是:機能不夠。電子遊戲無不是在機能有限的硬體平台上實現更加豐富的美術效果,而要模擬整個遊戲世界的空氣流動顯然不是能在消費級別的遊戲平台上輕易實現的。

PS3的「模擬地球」最終也不過是句狂妄的宣傳語而已

  也許有玩家會對這樣的理由表示不滿:為什麼因為機能不夠就不做了?我們可以用最高速的內存、最智能的中央處理器、最高效的核能顯卡,這些都不是問題。


  拋開硬體的上限也有每個時代的瓶頸這個原因,遊戲作為一個大眾消費品需要考慮的還是潛在用戶的「最低硬體水平」,所以全平台遊戲往往都是以主機為目標平台開發,有時還是性能最弱的那一台(《刺客信條》新作最近不就是陷入這個問題之中)。以PC為主力平台的遊戲,則會儘力降低硬體配置需求,進行優化……steam上的眾多獨立遊戲和國內流行的網遊無不如此。


  那麼在次世代主機在實現1080p+60幀渲染都力不從心的硬體平台上,多少開發商原因犧牲遊戲的畫面效果甚至流暢性,把稀缺的硬體資源分配出去計算「天氣」這個輔助系統呢?


  時代是不斷發展的,無論是遊戲製作的技術還是遊戲平台的性能都在不斷提升。也許有一天遊戲製造者們在改進遊戲中的天氣系統時,發現已經可以回過頭來從本質上革新遊戲中表現天氣的方式,也許有一天電子遊戲,能夠將更加自然的天氣,以及不同天氣下栩栩如生的遊戲世界,帶給廣大玩家們。

也許有那麼一天,我們將在遊戲中看到如圖現實版讓人沉醉的天空


想起來很早一個國產遊戲,應該玩過的人很少,叫《卧龍與鳳雛》,當時我好像買的是正版。這個遊戲是RPG,操作和仙劍、天之痕等差不多。裡面就有天氣系統,而且天氣對於戰鬥影響很大。天氣有晴天,下雨,打雷還有個啥忘了,好像是下雪。比如雷系技能在打雷天氣下威力就很大。天氣是隨機的,在非戰鬥時間就會每種持續一段時間。而有幾個特定的boss在某個天氣特彆強,而且在它的地圖上出現相應天氣的概率極大。所以只能在別的地圖上亂逛刷出不一樣的天氣然後衝進去砍,不然根本打不過。這個遊戲總體來說,雖然當時玩得很開心,還是比較失敗的,知名度太低了。而且我感覺很多地方是抄天之痕的。不過這個天氣系統確實是個創新,我也覺得遊戲中應該引入天氣系統,可以更加真實。


不麻煩,但是要結合整個場景,實現一個Physically Based Rendering場景,需要優化演算法,選擇材質等


做Far cry 3時,有大半年就是和老夥伴們搞這個,還好有了 pbr,就更難了。

首先,光照必須是全實時的,baking light map 那種就可以直接退了。

馬上開會了,以後補


如果只是簡單的追求一個狀態下天氣表現的話純粹就是渲染和特效的活,一般的難點在於如何保證同樣的場景和特效在不同的天氣狀態下依然看起來不穿幫,渲染方面有大量討論這裡就不多說. 真正比較難處理的是動態連續的天氣機制變化的模擬和與遊戲機制的結合,季節,氣候,日夜的變化需要考慮各方面的影響因素,這方面沙盤遊戲會做的比較深一點,一般動態天氣系統算在構建active world範疇內.


我知道某訊某武俠項目組裡有個哥們半年時間開發一套天氣系統加工具流水後升職加薪了。
這個主要看項目規模性價比考量有不同的trick方式。
簡單的就光照加粒子模擬(可以GPU粒子,軟粒子)。複雜的,大氣模擬、基於大氣散射的光照、加各種後處理的補充,雨滴落到地面的各種物理效果,漣漪,順石壁流下。


我大潛行者07年就實現了~


不知道誰和為什麼邀請了我,我也來答一下吧,第一次在知乎答問題
從開發和美術的角度上來說,這種天氣系統開發起來非常容易,基本上沒有任何難度,但是帶來的負面是開發時間變長成本變大而且size容量變大,從策劃角度上來說玩家前面幾次覺得很新奇很逼真有非常強烈的代入感,但是多了幾次以後呢?對於機器硬體不行的玩家來說呢?會不會導致loading時間變成、效果展示非常爛?
最最最關鍵的問題是天氣是否會對遊戲產生實際的影響,讓天氣有實際意義和效果,玩家認可並且一直有意義下去?比如賽車類遊戲里因為下雨下雪天氣導致剎車距離變長?足球遊戲里因為下雨球的滾動速度變慢?RPG遊戲里因為天氣變黑可視距離變短?


天氣不麻煩,真實感很麻煩,和遊戲性配合起來。
下雨下雪很容易營造,但怎麼影響玩家?
這涉及到重力,凝滯力,能見度等參數。做好了玩的更爽,做壞了玩家罵娘。
比如說《戰地4》的雨天會使你駕船受到影響,但這要結合海洋這一因素,陰天風高浪急,晴天一帆風順。這就給可玩性產生了很大的變化,這就是有利的環境因素。
但很多遊戲基本上沒什麼影響,就是單純的烘托氣氛,印象深的應該是《暴雨》(遊戲和大部分場景一樣)

光照因素是可以變的,但很多光源就是直接固定在那裡不動,綁定在場景里,能夠自己動說明設計出色。


天氣只是用在視頻效果上對玩家來說並沒有實質意義,只有對遊戲操控本身產生了影響,比如讓wow的法濕在雨天放不出火球來,雪天大家移動時都產生溜冰效果附加移動里隨機摔跤效果,這樣的才有意義。

遊戲畫面再好看,看3天就膩味了,只是用來吸引人來玩的,系統可玩性的創新才是真正對玩家有意義的東西。


一點都不難實現 參照我大 刀劍 注意是 已經在線運營11年的遊戲。。
04年那個時候就出現了哦。。 只要用心 程序員是萬能的。。
天氣系統簡單的分為 雨 、雪、霧、霾 配合地表的水體 在渲染層都是仿寫粒子特效+簡單的
重力下降物理計算,外加一個全局光照 仿出 屏幕閃電效果。


在我的遊戲歷程里,最早使用天氣系統,給我帶來深刻印象的是韓國的一款3D網遊《美麗世界》

這款遊戲在國內10月公測, 以現代城市背景,高科技武器,3Dmmorpg,坐騎機車為賣點。

在2002年3D網遊剛剛起步的時候, 吸引了我的眼球。

而公測之後2個月, 12月開始,隨著冬季的來領,遊戲突然出現了一次巨大的變化。

下雪了!

不是我們平常看到的下雪, 不是單單只有雪花的粒子。

而是整個城市變成了白茫茫的一片, NPC穿上了冬裝, 地上,屋檐,樹上,全部都有雪在覆蓋

背景音樂響起了歡快的聖誕的歌曲。

每個玩家都驚嘆不已, 同時開放了新的時裝:聖誕裝。

全伺服器的玩家都融入在了入冬的遊戲氛圍中。


其次是2007年, 我第一次入手nds. 一款小小的手掌機。裡頭任天堂的一款名為《動物之森》的遊戲。

遊戲內容非常親和, 玩家扮演一個小動物,來到了一個小森林包圍的村莊里, 裡頭有市長, 有村民,有圖書館, 有自己的家。

遊戲中,玩家在這個村莊里安靜地生活, 摘摘果實,種種小花, 跟鄰居打打招呼,過著悠閑自在的生活。

咋一聽起來很像《牧場物語》。

然而,和《牧場物語》不同的是,它的時間並不是根據遊戲進度而推移的,《動物之森》的時間,是根據主機的系統時間在進行推移,也就是說,是按照玩家的現實世界的時間推移。

當我在夏天玩的時候, 森林裡會出現螢火蟲,蝴蝶, 在冬天的時候, 地上被白雪覆蓋,小溪結冰。

這兩款遊戲的天氣系統, 給我的印象極為深刻。

好的天氣系統, 在適合的時候被適合地運用了,為的目的是什麼?

代入感。

開發者想要表達給玩家的一個強烈的信息和用戶強烈希望的體驗: 代入感。

開發者創造了一個世界, 希望玩家能深深地被這個世界吸引, 能夠最大程度將自己扮演到這個世界中,玩家對世界感情深厚了,留存率高,對遊戲的評價高, 開發者也從留存的玩家中受益,這樣就是一個雙贏的結果。

類似的系統最經典的就是

人物表情動作系統。

完全不影響遊戲本身的內容,為什麼很多遊戲拼了老命去做這個系統,還有些遊戲專門把它當成宣傳手段。無非就是為了玩家能夠更有代入感,遊戲更加有趣。

繞回最早說的兩個遊戲, 既然這個東西這麼加分,為什麼很多遊戲不做,或者到後期才做?

我覺得最主要的問題是2個:

1. 我們沒必要做,既然要做,就要做到XXX程度。

這裡分成了兩個思路, 一個是一個系統帶來的收益如何。

天氣系統對於開發者來說對產品是否有加分的作用,就好像一個《英雄聯盟》 是否有天氣系統重要嗎? 我玩了半年多的《英雄聯盟》才發現有人物動作表情,一共才四個,一樣玩得好好的。

也就是說這樣的系統,對於某些遊戲是很關鍵的,有些遊戲是微乎其微的東西。

那麼開發者就要考慮是否需要這類東西來吸引玩家眼球。

還有種思路就是開發者的情操問題。

既然要搞,我必須把這個系統搞到我理想的狀態, 下雨需要讓地面濕潤, 人物的衣服也會滲透水滴, 下雪就會積雪,人物在行動的過程中會變得遲緩。

那麼這樣一來,開發成本就直線上升。 考慮到這些成本,老闆一句話:不做,沒意義。

那麼這個系統就擱置了。


2. 天氣系統作為一個賣點, 我要在另一個時期推出。

作為MMO的一個很吸引玩家的系統, 天氣系統就好像紙娃娃系統, 無縫地圖, 人物動作表情一樣。 一直是玩家經常關注的點之一, 也是玩家衡量一個遊戲好壞 是否加分的一個標準之一。

玩家之間會常常提起:XXX遊戲的人物表情有100多個, XXX遊戲還能下雪,還會下雨…… 這樣一來,人傳人後玩家就會慢慢覺得,一個遊戲擁有天氣系統後, 是一個技術層面更加高端的遊戲。

因為玩家並不了解遊戲開發的原理,所以在實現上玩家只需要看到效果,並不用知道這個是否其實是非常簡單就能實現的東西。

所以當很多遊戲在中後期推出天氣系統, 就意味著告訴玩家: 你們玩的遊戲,更屌了!

-----

說說我自己的意願, 當我接觸過上頭說的兩個遊戲。

對於天氣系統的憧憬, 是希望開發者在這個上面,能更下功夫, 既然為了提升玩家的代入感。

就應該更加用心地做, 2002的棒子遊戲,能做出整個城市載入新貼圖,新模型的魄力,只為讓玩家在一個冬天體驗遊戲中的美麗雪景,為什麼現在的天氣系統,卻是在陽光明媚,長著青苔的主城中飄著雪花粒子?


沒需求吧。

不過覺得模擬飛行的實時氣象多好啊。


實現天氣系統3D相對於2D會更加好處理,更加逼真。
首先把你需要支持的所有天氣特性羅列出來,比如雪,雨,風,熱,黑夜,白天。
分解支持這些天氣需要用的,比如skybox、光影,粒子特效,熱氣扭曲演算法等等。


天氣系統這玩意很難界定,你指的應該是一些粒子效果、屏幕特效以及地面材質變化所烘托出來的一種視覺感覺,但其實這些技術很早以前就有了,只是用什麼技術來製造一種氛圍和感覺比較恰當是一種比較依賴經驗的東西,有一些是以前大家都沒這麼想過,另外一些是因為一些技術方面的限制。當有人第一次以某種方式使用特定技術為烘托某種氛圍或感覺增色不少時,大家都看在眼裡也就跟著這麼玩,久而久之對於一個特定的想要達到的效果就會有越來越豐富的技術細節和實現方式,你所說的天氣系統就出現了,它是一連串技術和經驗的聚合。
所以在特定的時段會有一成套大家公認的技術組合來達到這種天氣系統的效果,所以,如果你不用去創新的話,那叫你的工程師照搬這些現成技術過來就好了。但是,技術的核心思想雖然是大家共享的,具體的實現細節就考驗一個工程師的水平,對於不同的具體技術實現細節,其難度和對工程師水平的要求是不一樣的。
所以最後的結論就是:如果你有一流的技術人員,知道合適的方法,那做出一流的天氣系統就不是問題。


推薦閱讀:

遊戲中犯了終極失誤是什麼感覺?
a神是否可以退出知乎了?
如何看待 WCA 賽事組的將相關情況反映至銀川市公安局,並連夜上報國家有關部門進行核查,追究責任?
怎麼讓室友的 Dota 變得很卡?
為什麼 DOTA2 中沒有中後期消耗道具?

TAG:刀塔DOTA2 |