2015年12月20日 星期日

THE BLACKSMITH 開發專案:所有願望一次滿足




作者: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 – 角色包



這個專案包含:

  • 鐵匠角色
  • 維京挑戰者角色
  • 毛髮著色器
  • 皺紋貼圖
  • 獨特的角色陰影技術
  • 平面反射
你可以從這裡下載 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告訴我們,我們非常樂意知道有用戶使用了我們所分享的資源。

或是你有什麼值得分享的好東西,也別忘了來我們的社區和大家分享。

祝好運!

2015年12月18日 星期五

再見Unity 4,迎向Unity 5之最後Unity 4.7版本發佈

作者:PALANIYANDI JAWAHAR 原文連結


今天,我們發佈了Unity 4.7,這將是Unity 4的最終版本。Unity 4.7的版本並沒有新增加的功能,而是包含了Unity 4.6.9 p1-4.6.9 p4所有更新包的功能。為什麼叫做Unity 4.7而沒有叫做Unity 4.6.10呢?

原因有2點:1、Unity webplayer外掛程式是根據版號來判斷需要下載哪個webplayer來播放內容,舊版本的外掛程式無法識別新版本的版本號(x.x.10)。因為不可能同時更新瀏覽器外掛程式以及Unity執行元件,我們不得遵循現有版本編號規則以使webplayer外掛程式能夠識別。

2、4.6.10還存在另一個問題:版本號可透過腳本API獲取(Application.unityVersion)。我們無法保證現有及協力廠商代碼都能正確處理這個“x.x.10”的版本格式。所以為了避免這樣的風險,我們將本次版本號定義為4.7.0。
非常感謝大家一直以來對Unity 4的支持。接下來我們將集中精力研發Unity 5
最新版本的Unity 5.3擁有更多功能,並且支持更多平臺,如果你的專案打算移植到Unity 5.3,請務必參考這份更新指南,也可以參考Facepunch Studio把他們的遊戲Rust從4移植到5的一些經驗分享,參考這裡(英文)。


2015年12月9日 星期三

Unity 5.3: 全新功能,更多平台


作者:ALEX LIAN 原文連結

現在Unity 5.3已發佈。可以到這裡下載

最新的版本中,我們為您帶來許多新功能與支持更多新平台:


● 新工具:MonoDevelop升級、多場景編輯、2D工具與自動化單元測試
● 圖形優化:包括新OpenGL核心支援、對OS X中Metal的支援、粒子系統升級
● 更好的WebGL與iOS 9平台支持
● 整合IAP內購支援
● VR優化及新的VR DEMO
● tvOS平台測試版已經上線,但本版還沒上線

下面讓我們看下Unity 5.3中的新內容。

新增與升級的工具


Unity 5.3中包含許多讓你開發更簡單的新工具:

更佳的腳本編輯器體驗


在Unity 5.3中,MonoDevelop版本升級成為5.9版本,這是現有Unity腳本編輯器的一個重要升級版本。除了煥然一新的簡約UI之外,除錯也比以前更快速輕鬆。Unity 5.3還修正了許多bug,使你能更好地使用MonoDevelop。

更多詳情訪問:

http://blogs.unity3d.com/2015/10/22/monodevelop-roadmap/

以上是用傳統的方法附加MonoDebugger除錯器到Unity,使用附加的對話框處理(通常需要至少2-3個步驟)


這是新的方法附加MonoDebugger除錯器到Unity,只需一個步驟。


更輕鬆的場景管理


多場景編輯功能對於場景編輯是一個重要提升。Unity現在允許你將一個場景分割成許多小場景,這在某些情況下很有用。例如你的遊戲中有個十分巨大的關卡,為了製作無縫動態載入的場景,你可以對場景進行分割。這在製作較大的關卡時會帶來效能改善,並大大提高你在遊戲內環境構建時的自由度。




全新的2D工具


Unity繼續完善2D功能並帶來了全新的2D物理工具:

●Buoyancy Effector,一個新的2D物理效果器,提供了物體與流體間以及流體互動



●新的相對、固定、目標、以及摩擦關節,為你 2D遊戲創造更多效果

TargetJoint2D使用不同力度追蹤目標


RelativeJoint2D以及可斷連接


FrictionJoint2D摩擦


FixedJoint2D剛性連接

●新的2D基本幾何形狀資源創建工具,可以方便你更快地生成2D的基本形狀以及遊戲玩法原型



Editor Tests:更容易發現問題


Unity 5.3引入了一種在Unity中進行自動化測試管理與運行全新方式:Editor Tests Runner。它是著名.Net單元測試庫NUnit的一個方法。你可以用它對程式中的單個函數進行測試的編寫與執行,進而在開發過程初期定位問題解決方案。


開始使用Editor Tests Runner只要簡單的打開Editor Tests Runner窗口,定義幾個符合你項目測試項目即可。此外你可以配置我們的自動化構建服務—Cloud Build,針對你的遊戲專案自動進行這些測試,以便更早發現問題,更快進行迭代。

更高效的渲染


Unity 5.3帶來了許多可以提高渲染質量與渲染效率的新功能。

首先,全新的OpenGL 4.x支援將替換過去的OpenGL 2.1。這將使你在Windows,OS X以及Linux上都能受益於最新的OpenGL特性,同時也能根據用戶OpenGL驅動的支持能力切換至舊版本的OpenGL。需要注意的是在Unity 5.3中,Unity會預設使用新OpenGL核心,但你可以手動切換至傳統的OpenGL 2.1以相容以前的版本。我們打算在Unity 5.4中移除舊的OpenGL核心支援。

我們還對Unity編輯器中的發佈到OS X的應用提供了Apple Metal技術的試驗性支持,以便在OS X遊戲中獲得更快地圖形處理速度。可以在Unity編輯器的Player Settings窗口,Graphics API選擇下拉框中啓用Metal。

Screen Space Raytraced Reflections (SSRR)增強了Unity的圖形渲染的真實度。SSRR允許物體比反射探頭更精確的對周遭環境進行動態反射,因此,場景中的移動物體在表面上會得到精確反射。我們最近發佈的Bedroom demo,展現了使用SSRR可以達到何等程度的視覺真實度。


目前SSRR的實現處於測試狀態,所以請到Asset Store下載它,並在論壇提供反饋,幫助我們改進它。

Unity的粒子系統進行了大量的改動。所有的粒子系統屬性現在可以通過腳本進行配置,賦予你前所未有的掌控權以及全新的創造性可能。另外,我們還增加了:

-3D Rotation控制(全方位控制粒子在3個坐標軸上的方向與旋轉)

-System Scaling

-Mesh Shape Source(你現在可以使用蒙皮網格作為粒子發生器的源了)

-新3D、2D物體粒子碰撞控制選項



閃亮新功能是一回事,那校能方面又如何呢?在Unity 5.3中,粒子、精靈、光暈、光環、線、拖尾效果均得到了性能提升,這要感謝對引擎內線程管理方面的改進。另外,我們還更新了幀調試器,以便在遠程設備(比如一個安卓手機)上執行它。例如,這意味著你可以查看一個Draw Call中使用了哪個著色器屬性,從而在在運行時更加可視化地定位渲染方面的問題。

此外,我們採取措施對著色器的載入時間與內存使用都進行了削減,提高了「昂貴」的著色器們的運行效率。最後,我們在渲染線程上啓用了磁盤紋理數據的異步加載以及時間分片上載紋理到GPU,大大提升了渲染性能。耶~!

用tvOS征服客廳

tvOS很快將成為一個可選擇的目標平台,目前它正處於人人可以參與的beta階段(到論壇參與),並在接下來的幾周內隨Unity 5.3.x正式發佈。

http://forum.unity3d.com/threads/official-unity-for-apple-tv-open-beta.371324/

tvOS目標平台支持通過Unity Input API 使用Apple TV Siri Remote輸入,支持通過Asset Bundles使用按需加載資源。

現在Apple TV上已有大量的優秀Unity遊戲 —— 歡迎查看Apple TV遊戲清單,或者閱讀我們的博文,聽取已成功發佈Apple TV遊戲的開發者們所提供的中肯建議。




另外,Unity 5.3還帶來了大量針對iOS 9以及tvOS新特性的更新,包括iPhone 6S與6S Plus上的3D Touch、iPad Pro與Apple Pencil,以及Bitcode支持。如果想要瞭解如何在Unity開發tvOS與iOS 9時使用按需載入資源,可前往查看我們的文章

WebGL平台支持更新


2015年3月,Unity 5.0發佈時,我們在Unity編輯器中加入了帶「preview」標籤的發佈至WebGL功能。在隨後的5.1與5.2版本中,我們都對此功能進行著一系列持續的改進。如今,隨著 Unity 5.3的發佈,我們決定移除「preview」標籤,使WebGL成為正式的構建目標。值得注意的是,WebGL的平台化是個正在演進的工作—但總的來說,我們對於自己的WebGL實現十分自信,它在目前的WebGL生態框架中工作地很好。

除了修正大量的bug與提供更多的文檔外,5.3版本還對WebGL著色器、陰影以及文件壓縮處理做了許多改進,提供更佳的性能表現與圖形保真度。

在過去的一年中,針對WebGL的瀏覽器支持工作也取得了重大進展,這意味著你遊戲的潛在目標客戶數量也在不斷增加。雖然目前WebGL還不支持所有的Unity特性,但我們會繼續致力於該平台的研發,並在未來的Unity編輯器發佈時提供新特性的常態化更新。要瞭解目前Unity中WebGL的進展狀況,以及引擎中已有的功能,請訪問我們的深度專題

還有,現在我們的Cloud Build服務也支持將WebGL作為目標平台。只需配置項目一次,就可以自動從Cloud Build網站構建與分享你的WebGL遊戲。有關如何為遊戲使用Cloud Build的更多信息,請到這裡

更輕鬆的應用IAP


如果當前你的遊戲正在使用遊戲內購功能,你應該很清楚配置和集成不同的應用商店需要很多繁瑣的工作。

Unity 5.3為解決這個過程中的痛點,提供了一個新服務:Unity In-App Purchase。Unity IAP可以幫你在應用中輕鬆加入支持各大熱門應用商店的應用內購功能,你只需在Unity編輯器的Services窗口中打開它即可。


此外,Unity IAP與Unity Analytics平台深度集成,你可以對應用內行為進行持續跟蹤並根據實際收入與購買數據對遊戲進行調整。目前Unity IAP支持iOS App Store, Mac App Store, Google Play 以及Windows Store,未來將支持更多平台。你可以訪問此處瞭解有關該新服務的更多內容,或者馬上研讀我們的手把手教學,瞭解在遊戲中集成Unity IAP的具體步驟。

VR示例


我們致力於使Unity編輯器成為創作沈浸式VR內容的可靠全功能解決方案。在最近幾次的編輯器常規更新中,我們持續為包括Oculus Rift以及三星Gear VR在內的各種VR頭戴式設備提供支持。

今天我們高興的宣佈,與Unity 5.3同時發佈的還有一個新的VR示例項目。該項目可為那些希望瞭解如何用Unity進行VR內容開發的人提供幫助。

該項目通過一些低眩暈風險的VR遊戲示例幫助你開始VR之旅。示例項目中包含了一個VR影院曲面顯示風格的菜單,以及四個不同的小遊戲,支持三種不同的遊戲玩法與遊戲輸入方式:

-Flyer 可使用頭部跟蹤來控制一架飛行器穿越隕石地帶


-Maze 是一個頂視圖桌面遊戲,使用頭部跟蹤與按鍵輸入控制角色


-Target Gallery 是一個畫廊風格射擊遊戲,使用頭部跟蹤瞄准目標


-Target Arena 是一個360度競技射擊遊戲,需要站立消滅穹頂中出現的所有目標


這個示例項目背後附帶有一系列高價值文章,不僅介紹了該項目的製作過程,還提供了Oculus VR平台的新手入門建議。我們希望它們能助你盡快開始VR開發,並殷切期待你的大作問世。

還有.......

我們在Unity 5.3中還加了很多好東西:

●大量的bug修正
●一個支援在物件與JSON格式間互相轉化的新JSON API — 可用於客戶端與服務器端間通訊及遊戲狀態的保存與恢復
●多顯示支持 — 單一應用可最多支持渲染8個顯示器

關注Unity,您可以找到更全面的Unity 5.3指導文章

著作人