2020年最受期待的遊戲之一《賽博朋克2077》幾天前剛剛發佈。故事背景設定在一個充滿麻煩的將來,視覺效果使人驚歎,龐大的地圖讓咱們好奇CD PROJEKT RED是如何在重塑賽博朋克風格的同時描繪出一個反烏托邦的將來的。該遊戲技術藝術總監Krzysztof Krzyścin爲咱們分享遊戲創做的思路與經驗。數據庫
文章來自Adobe的採訪:瀏覽器
magazine.substance3d.com/cyberpunk-2…markdown
CD PROJEKT RED是波蘭遊戲開發工做室。該工做室以其廣受歡迎的The Witcher系列以及創做強大的,故事驅動的遊戲而聞名。KrzysztofKrzyścin是CD PROJEKT RED的技術藝術總監。他於2000年代以一名環境藝術家的身份開始從事巫師遊戲工做。在《巫師2:國王刺客》發佈期間,他在華沙工做室成立了技術美術部門,從那時起一直領導技術美術團隊。網絡
Krzysztof Krzyścin:做爲一名技術美術總監,我主要專一於美術相關管道和渲染技術的研究和開發,包括在咱們的遊戲引擎、REDengine以及咱們工做室使用的全部外部內容創造項目中。我感興趣的不僅是讓美工可以提升遊戲視覺效果的質量,還包括讓內容創造更加有效和流暢。對於《賽博朋克2077》,咱們已經開發了一長串的功能。舉幾個例子:多層着色器管道,程序幾何系統,天氣(有體積雲!),材料庫,包括車輛和樹葉,遠距離人羣和車輛,代理系統,世界地圖,幾乎全部模擬,和遊戲中的着色器。架構
咱們還爲多個內容建立程序開發了自定義管道和工具,一些-像物質畫家和物質設計師-深刻集成到咱們的內容建立管道,容許藝術家爲人物、車輛和環境建立驚人的細節。機器學習
Q:《賽博朋克2077》是今年最受期待的遊戲之一。從事這樣的項目感受如何?編輯器
A:我喜歡把它想象成一段旅程,有點像登山。剛開始,你須要準備,收集合適的設備,最後但一樣重要的是,選擇合適的公司。固然,那裏常常下雨,很冷,道路漫長而艱難,但同時這也是很是有益的。特別是在接近尾聲的時候,當你回頭看它是如何開始協同工做的。工具
Q:《賽博朋克2077》與你以前製做的遊戲有何不一樣?oop
A:爲了處理這樣一我的口稠密但仍然能夠自由探索的垂直城市,咱們須要添加到引擎中的技術功能範圍對咱們來講是一個巨大的飛躍。咱們必須在每平方米的空間中添加更多細節,這不只是由於第一人稱視角攝像機的存在,還由於你周圍正在發生的許多動態場景。咱們稱它爲無縫遊戲,你能夠扮演一個名叫V的僱傭兵,當場景播放時,你能夠與世界互動。例如,你能夠進入一輛汽車,並與一個fixer進行對話,他將爲你提供特定的工做,同時騎馬穿越夜間城市自己,並實時看到城市的流逝。咱們必須添加的另外一件事即是玩家自定義選項。自定義資產的數量,全部的服裝,武器和mod -結合獨特的髮型,紋身,網絡軟件,交通工具-這一切實際上創造了無限數量的外觀供玩家選擇。學習
建築環境也發生了巨大的變化。《巫師3》中充滿了天然景觀,有幾個大城市,其中諾維格勒是最大的城市。夜城的密度更大,有更多不一樣建築風格的建築。在《賽博朋克2077》中,咱們須要完全改變咱們組合世界、資產和社區的方式。咱們須要開發一個道路系統,交通和人羣管理,全新的分層預製管道,處理室外和室內的全局照明,第一人稱視角攝像機,等等!咱們知道製做這款遊戲將是一項很是艱鉅的任務,但咱們都準備好迎接挑戰。
Q:告訴咱們更多關於遊戲的美術方向。你想要傳達的視覺故事是什麼?
A:《賽博朋克2077》發生在另外一個很是麻煩的將來。在將來,世界面臨着環境滅絕、全球變暖、人口過剩和嚴重的不平等現象的持續威脅,這些不平等促進了富人,卻忘記了窮人。但人類善於適應進化。人們接受了控制技術以適應周圍的危險,而社會仍然生機勃勃。
從製做的一開始,咱們就想接觸經典賽博朋克風格的視覺風格,但真正的現代化,並進一步推進極限。夜雨綿綿,霓虹燈閃爍,這是一個極具標誌性的畫面,與賽博朋克美學有着強烈的聯繫,但咱們想要創造更多屬於咱們本身的難忘時刻。迷人的日出,污染霧覆蓋野獸派建築的頂部,沙漠的烈日,夜晚城市的天際線——而後地區自己,每個都有一個獨特的形狀和顏色的調色板,閃亮的霓虹發光的廣告。咱們的計劃是讓這座城市自己成爲遊戲中的角色。
Q:你爲何決定使用Substance?它是如何幫助你爲藝術指導服務的?
A:從早期的概念,項目的規模推進咱們使用新的方法來建立材料。對於任何合理的硬件來講,快速估計紋理內存度量和大體的磁盤大小都是不可接受的。但咱們決定將分層概念應用到幾乎全部的模型中,從FPP項目如武器,角色,環境對象,甚至地形節點。這個想法是咱們不會存儲任何獨特的紋理,而是一個公共材質庫,它將基於一個特殊的遮罩在運行時混合。該掩碼對於每一個對象仍然是惟一的,但因爲大多數時候它很是稀疏,咱們可以將其壓縮到一個更小的數據佔用空間。這提升了藝術管道的效率,由於藝術家如今只須要繪製這些材料層,而不是像過去那樣將多個紋理組合和平鋪在一塊兒。這也改變了網格的渲染方式,由於每一個像素都須要計算並平鋪它的層。
固然,這個過程須要很是高效。分層讓咱們有可能實現更多的紋理密度,與原始磁盤大小的一小部分,有效地將很是高分辨率的細節填充到表面。通過與美工和渲染團隊的幾回迭代,咱們有信心這將是可行的,咱們開始構建咱們的材料庫。咱們已經將咱們的工具子集做爲一個插件集成到Substance Painter中,並將其推廣給一些藝術家,他們很快就喜歡上了這種方法。當咱們首次呈現遊戲玩法視頻時,已經有成千上萬的資產使用了多層着色器,這極大地提升了遊戲的視覺質量。
Q:你能給咱們快速概述一下你使用的不一樣工具嗎?
A:咱們使用Helix/Perforce做爲數據倉庫,使用Visual Studio做爲代碼和腳本,全部這些都由咱們本身的構建系統管理。咱們使用胡迪尼程序內容,模擬,和特殊效果。美工工做大多在Maya / 3ds Max,咱們的分層管道經過Substance Painter / Remote Browser。材質庫紋理使用Substance Designer完成,全部材質模板使用內部應用程序(材質庫管理器)進行編輯。遊戲資源是在REDengine中建立的,能夠由幾個不一樣的編輯器進行編輯。對於項目管理,咱們使用Jira。
Q:你如何建立你的素材庫?你能描述一下你使用Substance Designer的狀況嗎?
A:材料庫幾乎徹底在Substance Designer內部建立(從零開始或從掃描數據做爲起點)。每一個材料模板由一個圖形組成,輸出反照率,法線,粗糙度和金屬紋理。除了在Substance Designer中建立材料以外,咱們還製做了各類微混合紋理。這些包括高度貼圖alpha和法線貼圖用於遮罩材質。爲了支持繪畫管道,Mark Foreman(咱們負責材料庫的高級環境藝術家)建立了一套定製的生成器和過濾器。
咱們從最基本的材料開始,好比混凝土、塑料和磚牆。雖然咱們確實在材料模板自己有一些簡單的表面變化,例如幾十種鏽金屬或佩斯利織物的顏色組合的變化。相反,咱們有乾淨的金屬和純鏽,或一個織物材料與多種色調的選擇。將它們與不一樣的微混合面膜相結合,就能獲得咱們須要的全部變化。這裏的好處是,原始模板能夠在整個製做過程當中不斷迭代,而不須要改變任何實際使用它們的資產。
Q:你能更詳細地介紹一下Substance Painter和你開發的多層着色器系統嗎?
A:它包括額外的遮罩(微混合),其中包括一個專門的法線貼圖,容許自定義,在層之間混合。因爲這一點,咱們能夠大大減少掩模尺寸,同時保持清晰的細節。它還將它的層連接到一個特殊的材質覆蓋,該覆蓋預約義了與給定的材質模板相關的材質變化。例如,混凝土材料具備多個覆蓋層,這些覆蓋層定義了一系列可能影響普通混凝土材料的環境風化、材料溼度和其餘視覺外觀。這容許咱們的模型具備高度的惟一性。
爲Substance Painter定製的OpenGL着色器容許藝術家在繪製模型時預覽模型。這個着色器模仿了在咱們的引擎中使用的一個:鏈接相同的紋理到適當的材質層。咱們甚至作了一個自定義的色調映射解決方案,匹配咱們的引擎色調映射器,以保持物質畫家和引擎之間的平衡。引擎着色器使用相似的邏輯層混合,但工做方式不一樣,由於它使用計算着色器將可見層添加到運行時紋理中。它並無使用灰度遮罩,而是使用了一種特殊版本的咱們稱之爲數據庫的東西,根據表面覆蓋面積壓縮數據塊。
Q:告訴咱們更多關於你建立的遠程瀏覽器工具的信息。它如何簡化你在實體畫家和REDengine之間的工做流程?
A:除了着色器,咱們還開發了一個名爲Remote Browser的獨立工具,做爲咱們的引擎和Substance Painter/Substance Designer插件之間的橋樑。它做爲一個交互層編輯工具能夠加載/卸載不一樣的材料層,並編輯他們的參數,如顏色和其餘覆蓋,或微混合材料和平鋪。每次更改都會更新打開的模型的外觀(不管是在咱們的引擎中仍是在Substance Painter中),極大地加快了不一樣模型變化的建立速度。想象一下,只需點擊幾下鼠標,就能將整座建築上裸露的混凝土換成塗滿油漆、佈滿塗鴉的版本。 若是藝術家決定稍後改變材質,這個工具也管理蒙版導入和圖層從新分配的過程。
Q:你在這個項目中遇到的主要挑戰是什麼?你是如何克服它們的?
A:整個世界架構的規模和複雜性是最大的挑戰。咱們想要創造一個充滿微觀細節和深遠遠景的世界。全部這些都帶有複雜的白天黑夜照明,類型定義的氛圍,無縫的遊戲玩法,以及其間沒有加載屏幕。咱們必須以一種方式來構建這個世界,咱們能夠在任何地點,一天中的任什麼時候間,在一些不一樣的天氣條件下,快速地看到它。咱們須要用可信的角色、交通工具(包括飛行的無人機)、道具、互動和動態場景來填充它,最後但並不是最不重要的是將全部這些放入合理的數據大小中。
在早期,咱們決定將可擴展性嵌入到引擎的每一個可能的子系統中。對於最昂貴的部分,咱們實現了原子系統的遠程版本。例如,咱們有一種遠程車輛渲染技術(基於簡單的廣告牌),它取代了原來的車輛幾何形狀,使它可以同時看到數千輛汽車。咱們將這種方法與全部潛在世界幾何結構的層次簡化相結合,這讓咱們可以在玩家的近距離範圍內處理咱們想要處理的細節。第一人稱視角影響了遊戲許多方面的變化,包括故事敘述、場景、通常玩法和互動。
Q:你是否能夠與你們分享一些有實質意義的技巧或經驗?
A:固然,Marcin Klicki(高級角色美工)的建議是:無論是角色、武器仍是交通工具(美工都喜歡在上面使用圖案)。碳纖維,材料線,拋光鋼,陽極氧化鋁,有一個良好組織的集合,大大加快所需的時間,以完成模型。
另外一個來自馬克福爾曼的建議:按照製做的方式,你可能須要在建立一個材料幾周甚至幾個月後從新查看它。當你須要解釋你過去所作的決定時,一個註釋良好的圖表將會節省你的時間。使用自定義節點。若是你發現本身常常重複使用節點組,那麼多是時候將這些節點轉換爲能夠在未來的材料中重用的自定義節點,從而在這個過程當中節省一些時間。在Substance Painter中,若是你不能從默認設置中獲得你須要的結果,不要懼怕建立你本身的生成器。手工繪製單個資產是有意義的。但當你開始處理大型資產集合時,擁有1或2個可以達到你想要的結果的生成器能夠節省大量時間,讓你的時間能夠花在真正有價值的手繪細節上。
關於更多機器學習、人工智能、加強現實、Unity、Unreal資源和技術乾貨,能夠關注公衆號:三次方AIRX,共同窗習,一塊兒進步!AIRX三次方:超酷的開發者學習服務與交流平臺(專一ARVR、Unity、Unreal、CV、AI領域)學ARVR開發,來AIRX三次方!!!