【SIGGRAPH 2015】【巫师3 狂猎 The Witcher 3: Wild Hunt 】顶级的开放世界游戏的实现技术。...
生活随笔
收集整理的這篇文章主要介紹了
【SIGGRAPH 2015】【巫师3 狂猎 The Witcher 3: Wild Hunt 】顶级的开放世界游戏的实现技术。...
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
【SIGGRAPH 2015】【巫師3 狂獵 The Witcher 3: Wild Hunt 】頂級的開放世界游戲的實現(xiàn)技術(shù)
作者:西川善司 日文鏈接 ?http://www.4gamer.net/games/202/G020288/20150811091/ ? ? ? 計算機圖形和交互技術(shù)的學(xué)術(shù)大會【SIGGRAPH 2015】,在北美時間的8月9日到13日召開了。 ? ? ?? ? ? SIGGRAPH 2015的會場,因E3而被熟知的洛杉磯會議中心? ? ? ? SIGGRAPH有著美國洛杉磯和以外地區(qū)交替舉辦的慣例,2014年是在加拿大的溫哥華,而今年是在洛杉磯舉辦。會場是舉辦了【Electronic Entertainment Ex(E3)】的洛杉磯會議中心。 雖然這些年商業(yè)活動方面也加深了,不過SIGGRAPH還是學(xué)術(shù)大會。所以,召開規(guī)模和來場人數(shù)都沒有E3多,也沒有像E3那樣覆蓋了會議中心的巨大廣告。 會場沒有巨大的包裝廣告,外觀只有【SIGGRAPH 2015】的橫幅。 和往年一樣,也有很多日本的游戲開發(fā)者到場,光是第一天,就看到了SQUARE ENIX,Sony Computer Entertainment ,SEGA Games,tri-Ace,Silicon Studio的開發(fā)者。和面向游戲開發(fā)著的【Game Developers Conference】(GDC)相比,雖然新聞報道者相對較少,但通過從周圍聽到到日語,感覺到到場的日本人的比例,并不比GDC差。 SIGGRAPH 2015上,也有很多游戲圖形相關(guān)的會議,最初的9號,有tri-Ace代表的五反田義治和Silicon Studio的川瀬正樹的關(guān)于基于光學(xué)的后處理特效技術(shù)解說【Real-Time Rendering of Physically Based Optical Effects in Theory and Practice】,除此之外,【Uncharted 4: A Thief's End 】(神秘海域4)和【The Order:1886】,【Deus Ex: Mankind Divided】,【Rise of the Tomb Raider】(古墓麗影)等也會有,今年游戲關(guān)聯(lián)的會議也很充實,筆者(西川)會在覆蓋范圍內(nèi)報告的。 五反田義治與川瀬正樹等人的聯(lián)合演講全部巨大化的巫師3(Witcher3)
? ? SIGGRAPH報告中的一個,就是在日本人氣急劇上升的RPG【巫師3 狂獵(The Witcher 3: Wild Hunt)】為主題的制作解說。 ? ? ?? 名為【Killing Monsters: Behind the Scenes of the Witcher 3: Wild Hunt】的會議,由該作品的圖形結(jié)構(gòu)和配置解說【Building the World of The Witcher 3: Wild Hunt】和圖形引擎的詳細解說【Rendering Features of The Witcher 3: Wild Hunt】的兩部分構(gòu)成。全部報告的話時間花費太多,本篇報告的是非游戲開發(fā)者也容易理解的話題比較多的前半部分會議的概要。 負責(zé)會議的是,是擔當CD PROJEKT RED的技術(shù)美術(shù)指導(dǎo)的Krzysztof Krzyscin 名為巫師3的RPG,是以屋內(nèi)屋外的無縫銜接的廣闊開放世界為舞臺,游戲世界里存在的東西,也是全部都在動態(tài)移動,玩家可以和這些交互,是挑戰(zhàn)再現(xiàn)【究極的生動游戲世界】的作品。 巫師3的賣點。超過40平方公里的地域,屋內(nèi)外無縫環(huán)境,超過200小時的游戲量,相當大的世界。 2011年發(fā)售的前作【The Witcher 2: Assassins of Kings】(簡稱巫師?2)的情況,開發(fā)人員總數(shù)93人,巫師2是幾倍的222人,對應(yīng)開發(fā)規(guī)模人員也擴大了。 巫師3和巫師2開發(fā)員工總數(shù)比較。對應(yīng)游戲世界的擴大,開發(fā)規(guī)模也擴大了。 還有,巫師2里,探索的區(qū)域面積是1.2平方公里,巫師3是48.1平方公里,游戲世界的規(guī)模也擴大了。不光如此,總游戲時間也擴大到200小時以上,就像字面上所說,向系列最大級的大作游戲成長。Krzyscin回顧到。 巫師3和巫師2的大小比較,大概擴大了40倍圖形引擎采用了基于物理渲染
游戲平臺成為了PlayStation 4(后面簡稱PS4)以及Xbox One后,巫師3的圖形引擎也革新了,采用了稱作現(xiàn)世代標準配置的基于物理的渲染。 渲染引擎方面,以延遲渲染(Deferred Rendering)為基礎(chǔ),采用通過GPU的Compute Shader進行光源剔除處理的【Tiled Base Deferred Rendering】,半透明等需要特殊處理的對象物體,另外使用了Forward Rendering。 另外說一下,其他的工作室里,以【戰(zhàn)地4】等Electronic Arts的游戲而熟知的游戲引擎【寒霜(Frostbite)】,也采用了這種方式。 Diffuse擴散反射使用了Lambert 模型,Specular鏡面反射采用了Cook-Torrance模型,通過【Uber Shader】(萬能型Shader)的設(shè)計,1個Shader就可以表現(xiàn)各種材質(zhì),成為了近代的配置。之前巫師?2里的shader數(shù)是110個,在巫師3里,盡管向圖片真實上提高著,還是限制為29個。 黃點表示的是巫師2的Shader數(shù),紅點是巫師3的Shader數(shù)。盡管表現(xiàn)力提升了,shader數(shù)還是變成了1/4的程度。 在最近游戲里也常見的,巫師3同樣采用了游戲內(nèi)晝夜隨時變化的表現(xiàn)。表現(xiàn)晝夜變化的關(guān)鍵,就是光照。 巫師3中,全方向光源采用了使用環(huán)境Cubemap的【Imaged Based Lighting】,這個環(huán)境Cubemap的使用,要美術(shù)師手動來設(shè)定獲取位置來生成。Specular鏡面反射用的CubeMap是128x128像素,而更粗糙一些的Diffuse擴散反射使用的是16x16像素。 環(huán)境CubeMap的獲取位置是通過美術(shù)師手動設(shè)定。 關(guān)于這個CubeMap,并不是靜止的,而是每3幀被重新生成的結(jié)構(gòu),動態(tài)的光源變化也在環(huán)境CubeMap里反映。因此,金屬材質(zhì)上的Specular鏡面反射效果,有3幀的延遲,不過還是可以反映近處的動態(tài)光源位置。 通過每3幀更新一次的環(huán)境Cubemap來對應(yīng)場景的動態(tài)變化。 從上向下降低粗糙度的材質(zhì)著色結(jié)果的例子。 拍攝的實際的晝夜變化的演示動畫,可以做參考 ? 巫師3中,基于物理渲染的晝夜表現(xiàn) 顯示晝夜表現(xiàn)的兩個種類的演示,通過基于物理渲染的導(dǎo)入,在任何光照條件下,也不會出現(xiàn)材質(zhì)的陰影表現(xiàn)不自然的狀況。 Krzyscin,對開發(fā)世界游戲表現(xiàn)不可欠缺的?天氣系統(tǒng)的概要也做了說明。 這個,就是預(yù)先制作出晴天,陰天,雨天和雪天的的天氣模板,再通過調(diào)整構(gòu)成天氣的風(fēng)和雨的強度的參數(shù),可以作出各種天氣變化的結(jié)構(gòu)。 ?? 巫師3中天氣系統(tǒng)模板的一個例子 特別是風(fēng),成為巫師3中的氣候系統(tǒng)的重要要素,風(fēng)的強度和方向,會影響衣服的搖擺和水面的波浪,漂浮在水面上的物體對象的浮力,以及花草樹木的搖擺。在現(xiàn)在的游戲里,只是搖晃表現(xiàn),都會很好的受到風(fēng)的影像來運動。有玩家注意到么。 受風(fēng)影像變化的要素 接觸雨和水后角色被濡濕的表現(xiàn)也導(dǎo)入了。角色方面,在骨骼信息里有[Wetness](濡濕狀況)的參數(shù),是進入河中,或者被雨淋時濡濕狀況值會上升,離開水或雨時,經(jīng)過一段時間濡濕狀況值會減低的結(jié)構(gòu)。看這個動畫里也可以很容易的理解。 進行水濡表現(xiàn)的系統(tǒng)概要 巫師3中,被水浸入的角色的濡濕表現(xiàn)
有顏色的影像不太容易理解,通過看消去顏色的表現(xiàn),角色進入水的部分變黑,出水后過一會變回白色的狀況就好理解了。 表現(xiàn)水濡的Shader,是通過基于物理渲染來降低濡濕部分的粗糙度的提高Specular鏡面反射效果的同時,降低Albedo(反射率)使之變黑來實現(xiàn)的。由于衣服被水濡濕,通過水影響的材質(zhì)表面會變得光滑和增加光澤,顏色看起來也會發(fā)黑。就是通過這個Shader來表現(xiàn)的。 那么,盡管天氣系統(tǒng)很重要,在建筑物里和洞窟中等不受氣候影響的地方,天氣系統(tǒng)無法觸及的。這里使用的就是,稱作【Interior Volume】的立體的標記系統(tǒng) 屋內(nèi)外無縫銜接的巫師3,必須設(shè)定在屋里不受天氣的影響 被屋頂和墻壁圍住的降雨無法達到的建筑物里,把建筑物全體設(shè)置為Interior Volume。被設(shè)定為Interior Volume的領(lǐng)域,就變成天氣系統(tǒng)無法影響的,【建筑物里也下雨】的這種在有些開放世界游戲里看到的現(xiàn)象,在巫師3里是不會發(fā)生的。 介紹Interior Volume的配置的幻燈片 ?? ? 介紹Interior Volume的配置的幻燈片,對幻燈片左邊的建筑物,像右邊幻燈片里那樣來設(shè)定Interior Volume,制作出天氣系統(tǒng)無法影響的領(lǐng)域。 為了雨水的落地和流動的表現(xiàn),程序化(Procedural?)的后處理特效的方法使用也做了說明,根據(jù)Krzyscin所說,是從繪制完成的場景的深度信息,計算出場景的像素單位的發(fā)現(xiàn),對應(yīng)這個傾向,來分配進行雨水表現(xiàn)的shader。 進行雨表現(xiàn)的特殊后處理特效的實現(xiàn) 通過這個可以做到的表現(xiàn)的話,例如,(物體表面)正朝向天空(頭頂上)部分的雨水落下,適用波紋蔓延的效果,(表面)橫向朝向天空的部分,使用雨水向下流動的效果。 物體對象和角色的動作也是,通過面的單位來適用雨的效果。 ? 巫師3里的雨水的表現(xiàn)
移動物體對象改變雨打中的面的角度,可以看到特效變化的狀況。
巫師3的交互系統(tǒng)
Krzyscin敘述到,巫師3盡全力制作的,不光是風(fēng)景的表現(xiàn),還有角色和環(huán)境的交互表現(xiàn)的開放。不過雖然盡全力的,但還是每個的實現(xiàn)還是簡單的。 例如,配合角色運動的衣服,和物體對象的動態(tài)破壞,通過NVIDIA的【PhysX】來實時模擬動態(tài)生成。還有,進入水中的剛體物體對象的運動,使用了簡單的福利模擬,草木和角色的碰撞,進行了膠囊形的簡單碰撞判斷,進行草木的倒下的表現(xiàn)。 進行角色和環(huán)境交互表現(xiàn)的要素 ? 巫師3中,配合角色動作的衣服和飾品的動作表現(xiàn) ?? 飾品和小道具的動作,通過PhysX的物理模擬來生成,女性的毛發(fā)也是一樣,女性的內(nèi)衣姿態(tài)算是“殺必死”了 物體對象的交互,對是通過管理1024x1024紋素的平面領(lǐng)域,采用給予膠囊形狀的基本碰撞來進行波浪模擬的古典方法。因此,角色和物體對象接觸水面引起的波浪,都是基本的同心圓狀的波浪。雖然并不真實,但因為巫師3不是水里游戲為主的游戲,這么做也足夠了。 物體對象和水面的交互,采用了正統(tǒng)的方法、 巫師3中,物體對象和水面的接觸表現(xiàn)。 ?? 突入到水面的物體對象,在沖擊波產(chǎn)生了波紋。這個沖擊波的形狀,基本上都是簡單的膠囊裝。 ? ? ? 角色之間的群組系統(tǒng)和野生動物的行為控制,動物群的控制機能也實現(xiàn)了。因為“說起來就太長了”(Krzyscin氏),這次只有其中的群組的控制系統(tǒng)被做了簡單的說明。 群組的控制系統(tǒng),是通過鳥和魚運動中使用,提前計算回避彼此間不會互相重疊沖突的行為,在游戲里再給予它隨機數(shù)元素,可以看到有機的群體活動。看這個動畫也很容易理解了。 ? 巫師3中,通過群體控制系統(tǒng)來運動的鳥群巫師3的地形表現(xiàn)
最后被說明的,是地形和水面區(qū)域表現(xiàn)使用的技法。巫師3中的地形,是通過BumpMapTexture來生成表現(xiàn)凹凸分布的結(jié)構(gòu),通過Height Map,在接近視點的地方,進行高精度適應(yīng)型的tessellation,生成了有很多多邊形的地形。 地形是基于Height Map來構(gòu)筑的 對于地形的Texture Mapping,采用的了X/Y/Z 3個方向進行平面Mapping的Tri-Planar Mapping方法、通過這個技術(shù),在復(fù)雜凹凸的地形的貼上地表明的Texture,不會產(chǎn)生異常的變形。 還有,在地形上放置的道路并不是程序生成,而是通過美術(shù)師來進行設(shè)定。 地形上的道路是通過美術(shù)師來設(shè)定的 ? 巫師3中地形表現(xiàn)的要素分解 水面方面,首先是對決定的場所做“成為水面”的設(shè)定,而水面上的凹凸波浪的表現(xiàn),通過畫面坐標系的Tessellation來實現(xiàn)的。總之,接近視點的地方波浪用更多的多邊形表現(xiàn),距離遠的就用較少的多邊形表現(xiàn)的結(jié)構(gòu)。另外,視野外的水面被剔除掉,也不進行繪制和模擬。 水面波浪的表現(xiàn)也是使用Tessellation來制作的,做成接近視點的波浪多邊形更多的來表現(xiàn)的結(jié)構(gòu)。 另外說一句,波動模擬方面,是實現(xiàn)了Jerry Tessendorf的論文【Simulating Ocean Surface】中提倡的方法。這個方法,最初是在孤島危機(Crysis)中,以后在各種游戲中實現(xiàn),有著把復(fù)雜的波動的重合,用快速傅里葉變換(Fast Fourier Transform, FFT)在頻域中進行的特點。?原文鏈接?http://jerrytessendorf.blogspot.com/2011/10/simulating-ocean-surface-jerry.html? 巫師3的情況,表現(xiàn)對象相鄰波浪是通過512x512點的柵格來處理的。最初的實驗是通過CPU進行計算,產(chǎn)品版中成功的通過GPGPU來降低處理消耗,通過和其他處理的疊加,成功的隱藏了處理的時間,Krzyscin說明到。 波浪的模擬,采用了標準的Jerry Tessendorf的方法 ? 巫師3中海面和波浪的表現(xiàn)海面的波浪表現(xiàn)方面,和水面的基于波紋的波浪不同,是合成了復(fù)數(shù)的頻率的波動來生成的。還有,對于漂浮的物體對象,進行基本的浮力發(fā)生的模擬來生成行為。 所謂開放世界的表現(xiàn),可以說是就像制作【世界模擬器】一樣。即便是數(shù)十平方公里四方的有限空間,不加入所有要素的話,就無法構(gòu)筑出有說服力的世界。正因為如此是難度很高的表現(xiàn)主題。 因為完全世界模擬器的構(gòu)筑并不現(xiàn)實,【用什么程度的品質(zhì)來實現(xiàn)哪些元素】變得很重要,巫師3中,選擇了在以一各個的實現(xiàn)方式的簡單方法的同時,實現(xiàn)了考慮能實現(xiàn)的全部的表現(xiàn)要素,通過人力和物力的方法,構(gòu)筑了開放的世界。 雖然通過這些可以獲得開放世界的表現(xiàn)的一個回答,但之前登場的合金裝備5和最終幻想15等日本制作的開放世界的游戲,能實現(xiàn)哪種程度的表現(xiàn)上,也非常的在意。 總之,在國內(nèi)外的頂級的游戲開發(fā)中,對開放世界表現(xiàn)的追求肯定會繼續(xù)推進的。
轉(zhuǎn)載于:https://www.cnblogs.com/TracePlus/p/4726965.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的【SIGGRAPH 2015】【巫师3 狂猎 The Witcher 3: Wild Hunt 】顶级的开放世界游戏的实现技术。...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Could not load NIB i
- 下一篇: 全国计算机等级考试题库二级C操作题100