作者:SILVIA RASHEVA 原文連結
大家好,我們之前承諾會發佈The Blacksmith影片裡用到的資源和專案定製的工具集與著色器。現在我們全部將他們奉上給你!
為了方便大家下載,專案的資源包和一些為專案定製的技術被劃分為兩包:角色和環境。
本文會說明每個工具包的內容,也會解釋我們做的一些選擇。
我們想做的不僅僅是發表酷炫的文章而已,而是想給Unity開發者真正有用的東西。希望這些內容可以馬上化作即戰力,被運用到你們自己的專案中。
先讓我來回答一個之前大家問最多也最關心的問題:沒錯!你可以用這些發佈的內容做任何形式的運用,哪怕是將它們用到商業中。
因為我們採用了標準的Asset Store 授權(授權範圍同等於免費資源)。如果你覺得在你成功之路我們所做的工作有帶來幫助的話,那將是我們最大的榮幸。
可執行版本 THE EXECUTABLE
我們增加了一些簡單的介面來控制DEMO的播放:
- 你可以拖拽滑條來改變播放的進度
- 點擊 播放/暫停 按鈕或是介面外任意位置,會切換DEMO播放或暫停狀態。
- 暫停播放然後移動指針可以有小幅度的環視。
- 一個靜音按鈕。
你可以透過選單選擇四種不同畫質
- 低畫質—不能執行高階設定的機器建議採用此選項。
- 中等畫質—在高階筆電或低端PC上推薦採用此選項。它被設定適用於一台擁有 Quad Core i7 2.5GHz的處理器 + GeForce GT 750M顯卡的筆電上以720P的解析度跑30FPS
- 高畫質—在多數的PC上推薦採用此選項。它被設定適用於一台 Core i7 4770處理器 + GeForce GTX 760顯卡的PC上以1080P的解析度跑30FPS。
- 超高畫質—如果你有一塊比GTX 760更加強勁的顯卡。它被設定能跑出超過30FPS。
THE BLACKSMITH – 角色包
這個專案包含:
- 鐵匠角色
- 維京挑戰者角色
- 毛髮著色器
- 皺紋貼圖
- 獨特的角色陰影技術
- 平面反射
鐵匠和維京挑戰者
我們將每個角色都放在一個單獨的場景中。並重調了維京挑戰者的皮膚,使他更適合用在各種遊戲場景中。所以非常歡迎大家在自己的環境使用維京挑戰者。當然,若你想讓他的動畫更加美觀的話,那你可能還有一些工作要做。
我們提供了兩組動畫「待命」和「行走」。
在這個專案你還會找到另一位主角 - 鐵匠。我們並沒有修改他的皮膚,因為他要比維京挑戰者複雜很多,修改會花費我們太多的時間。這個原始的3D角色模型,你可以透過任何方式自由使用。
專案裡也包含了兩個角色原始的全尺寸4K貼圖。雖然在我們的專案中實際上用的是比較小的版本 - 2K或者更低一些。
角色的模型和貼圖分別由Jonas Thornqvist和Sergey Samuilov創作的。
毛髮渲染 Hair rendering
為了實現角色頭髮上各種高光反差,我們決定做一個獨立的毛髮著色器。作為補充,我們還增加了一個用於計算頭髮環境光遮蔽的組件,並設計了一種多通道渲染的方法來避免半透明毛髮面之間在層疊次序上的錯誤。
你可以從這裡下載到毛髮專案和一個對應的範例場景。如果你想用在自己的專案中,記得詳讀說明文件。
皺紋貼圖Wrinkle maps
為了在The Blacksmith 專案中賦予角色更多的生命力,我們專門設計一個能夠依照維京挑戰者臉部形狀融合動畫來渲染「皺紋貼圖」的組件。這個組件會在一個畫面之外的預渲染通道中融合標準貼圖和遮罩貼圖,然後將所得的結果送給標準著色器,最後取代在材質中的標準貼圖和遮罩貼圖。
你可以從這裡下載一個獨立專案,也可以參考之前發表過的皺紋貼圖說明文章(中文)。
特殊的角色陰影 Unique character shadows
我們希望我們的角色在近距離拍攝過程中能夠擁有柔和、高解析的陰影。同時也希望他們的影子在覆蓋場景其他物體時也擁有足夠的解析度。為了做到這一點,我們設計了一種給物件增加獨特陰影的方法。平面反射 Plane reflections
在The Blacksmith中的平面反射,通常呈現為一個能夠反射光線的平靜水面。液態表面的扭曲效果一經渲染,我們便會將反射圖像映射到物件每一層mip等級的反射貼圖。在這個運算的過程中,我們根據反射的深度資訊來迫使那些接近反射面的像素之間擁有更為清晰的接觸表面,這是為了模擬非鏡面反射情況下的光線效果。
運算的結果是一張反射貼圖,我們可以用它來替換預設反射探測器的方體貼圖。它能夠根據材質的粗糙程度來支配不同mip層級中的採樣。
我們修改了一個標準著色器,使它透過著色器關鍵字觸發後從上述貼圖動態取樣反射,而不是透過反射探測器的方體貼圖來完成反射的取樣。
THE BLACKSMITH – 環境專案
這個專案包含:
- 鐵匠鋪
- 野外場景
- 大氣散射
- PaintJob 工具集(在任意表面上繪制植被)
- 植被系統
- 遮罩混合著色器
- 經過定製的標準著色器
- 色調映射
你可以在按V在第一人稱視角和相機視角之間切換,按C可以切換不同的光照。
從這裡下載THE BLACKSMITH – 環境專案,請注意:這個專案超大der。
鐵匠鋪 The Smithy
它看起來是這樣的:The Blacksmith – 專案中鐵匠鋪的遊戲場景預覽
野外場景 The Exterior
我們決定重新組織場景的外觀,讓它更適合遊戲開發,方便大家能盡可能地用上它們。雖說我們還來不及對這些場景做更進行進一步的優化。但如果情況允許你投入更多的精力到這些場景的話,它將在遊戲開發的某些環節幫上大忙。這就是我們為大家提供最終的場景外觀。
差別在於短片中我們是根據相機來組成環境排列的。如果你對這一點感到好奇的話,這裡有一張原始專案中野外場景總覽抓圖可參考。
The Blacksmith 原始專案場景總覽
另外還有一些資源在短片中並沒有用到,不過我們依然希望能和大家分享。你們可以在專案中找到它們。
幾乎所有素材包是由Plamen ‘Paco’ Tamnev一人創作的,野外場景也是他負責搭建的。
大氣散射Atmospheric Scattering
這個專案包含了我們所定製的大氣散射解決方案。這篇文章中能瞭解更多細節。為方便大家研究,我們也把大氣散射專案獨立出來放在在Asset Store上。那樣你就不用在專案裡大海撈針找了,來這兒下載吧。PaintJob 工具集
這個小工具允許美術在任意的幾何形體上繪制植物,不限於Unity地形哦。這是我們思考如何最大限度利用Unity預設地形工具的一個方法,同時,這麼做也是為了實現我們在專案中的一項實際需求。非常歡迎大家從The Blacksmith專案將它抽出來用到自己的專案。
植物植被系統 Vegetation System
我們希望The Blacksmith專案中的植物能夠做到兩件事情:我們希望它是柔和的、可以自訂著色的、支持動態全域光照並能夠和一切被認定為是地面的東西融合協調併同時且能夠兼容Unity地表系統。
PaintJob 工具已經做到了後面兩項,不過為了達成上述目標,我們仍然需要進行一些額外的改變。
最終我們決定設計一個組件來捕捉PaintJob所產生的手繪資料,並產生一些植被的烘焙網格。這樣一來,渲染的支配權就依然掌握在我們自己的手中。
別的不說,這樣可以做任何自訂排序、重組動態貼圖中的光探測數據都沒有問題。
遮罩混合 MaskyMix Shader
遮罩混合著色器是一個標準著色器的變形,顧名思義,它可以根據特定的遮罩標準混合一組額外的細節貼圖。遮罩主要基於材質-指定的世界-空間方向,每個像素的法線都從基礎法線貼圖取樣。
它同時會受到來自磁磚遮罩貼圖和網格頂點顏色的alpha通道(如果存在的話)修正。
最終,根據在材質中的遮蔽值,會被一起混合。
如果網格為遮罩提供了頂點alpha通道,那麼也可以採用頂點著色來處理細節層的基礎圖案。
自訂標準著色器Modified Standard Shader
The Blacksmith運用了為數不多的自訂標準著色器。它們會因為需求用來調整事物,或是用來增強著色器的小特性。並不是所有著色器都可以獨立出這個專案運作,不過裡面一些基於表面著色的標準著色器已被抽出包含在這個包中。
這些修改通常是這樣的:
除貼圖外還可以透過貼圖的alpha通道取樣平滑每個像素,或允許對任何材質做遮擋剔除控制,或是對全域光照的顏色、密度做額外的控制。
色調映射 Tonemapping
我們已在一篇文章(中文)中說明過我們是如何在Unity中實現色調映射和顏色分級的。現在影片也完成了,色調映射也被Unity團隊接手,準備整合到Unity中。包裡面的HDR天空貼圖來自NoEmotionHDRs (Peter Sanitra) / CC BY-ND 4.0.(影片中的天空,沒經過任何修改)以上就是我們為大家帶來的分享。我們帶來了這些我們曾答應要分享的一切,接下來,前方新的冒險正在等著我們整裝待發。不論你用任何形式使用了這些資源包,我們都希望你可以在論壇留言或者寫郵件到demos@unity3d.com告訴我們,我們非常樂意知道有用戶使用了我們所分享的資源。
或是你有什麼值得分享的好東西,也別忘了來我們的社區和大家分享。
祝好運!