2017年4月10日 星期一

Unity:5.6 已推出並完結 Unity 5 循環

Unity 5.6 已於 2017/3/31 正式發佈,算是這種版號規則的最後版本,未來將會使用新的收費機制,名稱也會隨之變成 Unity 2017 這樣的版本,一般個人使用者沒什麼影響,照樣使用免費的個人版(Personal)即可,如果要購買 Plus 版,最近有個不錯的方案很划算,可以參考 Unity 應用領域 的簡要說明(似乎到 2017/5/31 截止);至於 Unity 5.6 ,以下就來看看有什麼更新吧!

取得 Unity


本文為 胡亂說・隨便寫 擅自翻譯,詳細內容以原文為準。

我們的最新版本以及 Unity 5 循環的最後一期,包含漸進光照貼圖(Progressive Lightmapper )預覽、新的光照模式、Vulkan 支援(Vulkan 是個低開銷、跨平台的 2D、3D 圖形與計算的應用程式介面)、新的影片播放器、對 Facebook Gameroom 的支援(Facebook 推出的電腦版遊戲中心)、Google Daydream(是個 VR 平台,由 Google 為第七代 Android 行動作業系統開發)等等。

Unity 5 於 2 年前在 GDC 2015 上推出,今天我們就以 5.6 的發佈結束這個循環。我們希望你的專案能從所包含的許多功能和改善中獲得好處。

現有用戶現在可在這裡獲得 Unity 5.6,如果你是新手可在這裡取得。

Unity 5.6 亮點簡要

大規模改善照明
5.6 包含漸進光照貼圖(Progressive Lightmapper)預覽版,在嘗試各種照明情景時提供即時反饋訊息,與目前的 Enlighten 解決方案相比,疊代(重複反饋過程的活動)速度更快。5.6 還提供光照模式,允許各種為靜態和動態物件進行即時或烘焙光照的混合做法。

改善的圖形效能
GPU 實例化,在許多類似物件需要非常低效能開銷的地方,實現新的效果,已經以程序實例化得到了改善。隨著 Metal 的 Compute Shader 的添加,你現在可以通過挖掘 Apple iOS 和 macOS 晶片組的原生能力,添加更多細節到你的遊戲。

Vulkan 支援
Vulkan 支援帶來速度的提升,同時減少驅動程式開銷和 CPU 工作量。這使得 CPU 可以自由的進行額外的計算和渲染,並節省了行動平台的電池壽命。

粒子系統大量更新
5.6 大大的擴展了粒子效果的範圍來給使用者提供更多的選擇與控制。這個更新也顯著的改善粒子系統效能。

新的影片播放器
一個新的多平台影片播放器可以播放 4K 影片,使你能夠建立 360 度影片的 VR 體驗。

導航系統改進
改善 AI 和尋徑工具 - 也稱為 NavMesh 系統 - 擴大操作多個導航網格(Nav Mesh)和代理(Agent)可能性。而且,用於程序生成或動態載入內容的新工具可以為角色導航提供一整套新的使用案例和遊戲選項。

新的 2D 工具與改進
Unity 5.6 添加了一整套 2D 功能,給你更多的控制以及更容易建立複雜的 2D 物件。新的 2D 物理功能賦予新的遊戲類型和效果,包含功能齊全能與 2D 物件互動的粒子效果。

TextMesh Pro
在 Unity Asset Store 最出色的工具之一,現在可免費提供給 5.3 以上的使用者使用,並且即將整合進 Unity。TextMesh Pro 採用具備動態視覺文字樣式的進階文字渲染,同時大大的改善了在文字格式和排版上的控制。

效能報告和除錯改進
除了例外報告,效能報告(Performance Reporting)現在可收集 iOS 的本機崩潰。物理除錯視覺化以及分析器的改進使得在遊戲中更容易找到效能問題的根源。

新的平台
使用 5.6,你可以無縫的發布到 Facebook Gameroom,以及 Android 和 iOS 的 Google Daydream 與 Cardboard。現在也支援 Nintendo Switch。

Unity 協作(試用版)
我們在發佈更新時添加了新的選項,以便更好的控制你的協作專案。

WebAssembly 的試驗性支援
在 5.6 中,我們為 WebAssembly 提供試驗性的支援,它是旨在協助改善 Unity WebGL 體驗的一種新的跨瀏覽器技術。


5.6 中有什麼新功能?

漸進光照貼圖(預覽版)
漸進光照貼圖(Progressive Lightmapper),5.6 最值得關注的功能之一,新的路徑追蹤為主的解決方案。它允許在烘焙光照和預計到達時間上快速疊代。在 5.6,它可做為一個預覽功能。


當我們推出 Unity 5.0 時,Beast 因為烘焙和即時全域光照(GI:Global illumination)而被 Enlighten 取代。然而,Enlighten 不適合所有的烘焙照明案例,因此必須提供 Progressive Lightmapper 的解決方案。

我們想要建立一個不僅是為烘焙照明帶來很好的結果的解決方案,還要為照明藝術家提供一個包含快速疊代和可預見能力的改進工作流程。

在之前的 Unity 版本中,對場景的更改需要重新烘焙,並且結果只能在烘焙完成後才能顯示。在 5.0 中,Enlighten 允許 Unity 使用預先計算的即時 GI 來提供最終烘焙的預覽。它給了你一個反射光將會看起來怎麼樣的概念,但是最後的結果可能會有所偏離。

改變燈光,放射性材質和反照率的值可以直接預覽。然而,幾何的改變仍然需要重新烘焙,在此期間,你不能得到任何反饋訊息。

例如,當重複烘焙陰影或反射光時,等待幾分鐘或者甚至更長時間,在這些重複之間可能會感到非常的厭煩。這最終降低了一定時間內可以做的重複次數。這樣的結果,限制了你能夠使用烘焙照明實現的品質。使用 Progressive Lightmapper,你幾乎能得到立即的反饋訊息。初期是不和諧的結果,但他在場景視窗中會直接的快速改善,從而提供更高品質和更自由的藝術表現。


一旦我們與基於 Enlighten 的光照貼圖解決方案達到作用均等,預覽標籤將會移除。這會在 5.6 循環內實行。支援光照模式、烘焙 LOD、降低記憶體的使用,即將到來。

新的光照模式取代混合模式照明
光照模式(Light Mode)正在取代混合模式照明,這使它可以將烘焙照明與即時照明相結合,包含烘焙與即時陰影的正確處理。我們提供幾個預設功能以涵蓋廣泛的情景,包含完全即時全域光照照明、部分烘焙照明以及完全烘焙照明。我們已添加了烘焙陰影遮罩(Shadowmask)的能力,提供「超出即時陰影距離」陰影。這樣大大的減少了即時陰影距離以提高效能。伴隨著即時反射亮光部分,遠距離陰影的支援也實現了更高的視覺逼真度。已經為每種燈光類型和渲染路徑添加了即時陰影淡出,並且從即時陰影轉換到陰影遮罩(Shadowmask)是無縫的。

混合照明光照模式:
  • 在烘焙間接(Baked Indirect)模式下,混合照明的行為就像使用來自烘焙的光照貼圖和光探測器(Light Probe)的附加間接光採樣的即時動態照明。像霧一樣的效果可用於超出即時陰影距離反而丟失陰影化的地方。
烘焙間接照明

  • 在陰影遮罩(Shadowmask)模式,混合照明是即時的,來自靜態物件的陰影投射被烘焙到陰影遮罩紋理和光探測器(Light Probe)之中。從這個預先計算的資料接收來自靜態物件的陰影。來自動態物件的陰影經由陰影距離內的陰影貼圖所接收。間接光從烘焙的光照貼圖和光探測器採樣。這個模式徹底的減少了陰影投射同時在遠處提供陰影的渲染數量。不過,從靜態物件到動態物件的陰影將不會被明確定義。



  • 距離陰影遮罩(Distance Shadowmask)模式是一種混合模式,容許在動態物件上來自靜態物件的高品質陰影,並且預先計算出超出即時陰影距離的陰影。為此,從靜態物件投射的陰影,在陰影遮罩紋理和光探測器中被預先計算。然而,在陰影距離內,動態和靜態物件都被渲染,並使用即時陰影貼圖。預先計算的陰影被使用於超出距離的順利轉變。間接照明從預先計算的光照貼圖和光探測器採樣。
  • 在減色(Subtractive)模式中,直接照明被烘焙到光照貼圖中,因此靜態物件將不會有來自混合照明的反射或光澤亮光。然而,動態物件將被即時照亮,並從靜態物件經由光探測器接收預先計算的陰影。主要的定向光源允許動態物件在靜態物件上投射一個減色即時陰影。


我們為了更好的可用性,還重新設計了 Lighting 視窗,並且添加了一個新的 Light Explorer 視窗,以提高照明藝術家的工作效率。

支援 Vulkan - 將圖形效能提升到一個新水平,並為行動裝置節省電池壽命。

Vulkan 是個在桌機和行動平台提供高效率、跨平台存取現代 GPU 功能的新一代圖形與計算的應用程式介面。

它旨在透過允許多執行緒並聯運行來充分利用多個 CPU 核心。
這意味著通過減少驅動程式開銷和 CPU 工作量來提升速度,讓 CPU 有空閒去執行額外的計算或渲染。總而言之,我們已經看到使用 Unity 不必處理任何指定的 Vulkan API,渲染效能提升了 30~60%

另一個 Vulkan 的優點是相同內容比使用 OpenGL ES 來渲染的功率消耗更低。平均 Vulkan 是 OpenGL ES 消耗量的  88~90%,因此「額外的 10~12% 遊玩時間」如下面的影片所示,你可以看到相對於 OpenGL ES 的功率消耗。



Unity 5.6 在 Android、Windows 和 Linux 平台上添加 Vulkan 的支援。我們還增加了對 OpenVR 的初步支援。

TextMesh Pro 現在免費了,即將整合進 Unity

做為 GDC 2017 的一部份,我們宣布 Unity Asset Store 最出色的工具之一將成為 Unity 的一部份。

TextMesh Pro 會取代 Unity 現有如 Text Mesh 和 UI Text 的文字組件。
使用 Signed Distance Field(SDF)做為其主要文字渲染管道,使它能夠以任何點的大小和解析度清晰的呈現文字。使用一組被設計來影響 SDF 文字渲染功能的自定義 Shader ,TextMesh Pro 能夠通過簡單的改變材質屬性來動態的更改文字的視覺外觀。添加如擴張、輪廓、柔和陰影、斜面、紋理、發光等視覺樣式,並通過建立/使用材質預設來儲存和恢復這些視覺樣式。


TextMesh Pro 在文字排版和格式化上提供改善過的控制,給予使用者在字元、文字、行和段落間距上的控制,支援字體空隙最佳化和基本連字符使用,加上額外的像是左右對齊和對齊文字的文字對齊模式。超過 30 個 Rich Text 標籤可用於讓使用者控制邊距、縮排、使用者可定義的樣式連結,以及甚至支援使用多個字型和圖形與文字內聯。

我們已經開始進行整合 TextMesh Pro 的功能到 Unity 2017,並將連同定期更新功能和相容性來繼續支援這個資源,以確保為 TextMesh Pro 使用者提供無縫體驗。

在此之前,你可以從 Asset Store 下載新的免費版本的 TextMesh Pro(需要 Unity 5.3 或更高版本)。



圖形的改進:程序實例化

5.6 版本也包含對整體圖形的大量改善,包含粒子系統和 GPU 實例化。

在 5.4 和 5.5 介紹過的 GPU 實例化,讓你在相同的網格使用一個實例 Shader 用單一的 Draw Call 繪製許多實例,同時仍允許每個實例包含位置、旋轉和顏色的資料設置。當 CPU 是限制你的畫面更新率的因素時,實例化可以提供顯著的效能優勢。要啟動在 Standard Shader 的實例化,請在材質設定勾選 Enable Instancing。或者,你可以手動添加實例化支援到你自己的 Shader。

在 5.6 中,我們現在支援程序實例化,其中實例資料經由 Shader 中的自定義來源提供,而不是來自材質屬性區塊和 DrawMeshInstancedIndirect 支援,其中繪製參數是從 ComputeBuffer 提供的。這種經由 Script 渲染實例的新方法幾乎沒有 CPU 開銷,假設 CPU 是限制你的畫面更新率的因素,將導致大量的效能提升。

查看我們的說明文件,了解如何開始使用。


圖形的改進:粒子

在 Unity 5.5 中,我們添加了將自定義資料附加到你的粒子的支援,可以從 Script 和 Shader 存取。在 5.6 中,我們已經擴充這個系統,所以你可以直接在 Inspector 視窗設置資料,從而可以簡單的定義可用於在你的 Script 和 Shader 中驅動自定義邏輯的曲線和顏色。做為額外的好處,在這個模組中定義的顏色也可使用目前為止粒子系統還是無法實現的高動態範圍成像(HDR)。


我們還透過讓你並行處理多個粒子系統來改善工作流程。


現在錐形、圓形和單面邊緣形狀有新的參數來控制粒子如何產生。之前,所有的粒子都是在表面上或體積裡面隨機產生的。現在,粒子可以照順序或者只按期望的增量來生成。


現在可以為你的爆發發射指定重複次數和間隔。之前,每個爆發只能被觸發一次,而且有 4 個爆發總數的限制。使用新的系統,你會有 8 個爆發總數,並且每個可重複任意的次數。

最後,如今在單機播放器中的粒子實例化超過 2 倍快。

我們已經添加一個基於物理渲染的材質驗證器,使反照率和反射的值根據可接受的範圍進行驗證。反照率的值也可以根據使用者定義的亮度範圍進行驗證。

圖形的改進:Metal 的 Compute Shader

我們也已經為 iOS 和 macOS 添加針對 Metal 的 Compute Shader 的支援。Compute Shader 就像在 Unity 中的其他目標圖形 API 一樣是用 HLSL 編寫的,並且將它們轉換為 Metal 著色語言(目前僅限 Metal v1.1)。如果你希望使用現有的標準 Shader,請確定使用 pragma 目標是 4.5 而不是 5.0。我們還在後端的編輯器上添加使用 Metal 渲染的試驗性支援。

新的 Post Processing Stack

新的 Unity 後製堆棧(現在已被棄用的 Cinematic Image Effects 的後繼者)已經發佈,可用於 Unity 5.6(和 5.5)。你可以免費從 Asset Store 獲得新的 Post Processing Stack 必備資源包。

這是個將一套完整的圖像效果組合到單一的後處理流程中的 über(德語,意為「在...之上」或「跨越」)效應。
這有一些優點:
  • 效果始終以正確的順序配置。
  • 允許將許多效果組合成單一通道。
  • 具有以資源為基礎的配置系統,以便於預置管理。
  • 所有效果在 UI 中被聚集在一起,以獲得更好的使用者體驗。

它自帶以下效果:
  • 抗鋸齒(快速近似抗鋸齒、時間混疊反鋸齒)。
  • 環境光遮蔽。
  • 螢幕空間反射。
  • 霧化。
  • 景深。
  • 運動模糊。
  • 眼睛適應作用。
  • 盛開。
  • 顏色校正。
  • 使用者查找表。
  • 色差。
  • 顆粒。
  • 周邊暗角(漸暈)。
  • 抖動。

堆棧還包含顯示器和除錯視窗的集合,以協助你正確的設置效果以及排除輸出的問題。

具有 4K 播放的新影片播放器

5.6 包含一個考慮到硬體加速效能而重新構建完全新的影片播放器。現在可以伴隨著支援 Alpha 通道進行 4K 高解析度的播放。它的目的在使用編輯器和目標平台的影片硬體功能。它具有 H.264/AAC 硬體支援可用於各種平台,以及在無法使用 H.264/AAC 的情況下可用 VP8/Vorbis 軟體實現。未來將會添加對其它編解碼器的支援。



影片播放器簡單的做為一個在你的場景中播放影片的新遊戲物件組件,使用高品質硬體加速效能以及改進的 360 度高解析內容的支援來提供身歷其境互動影片體驗。要了解它是如何運作的展示,請參閱 Unite 2016 的主題演講。

NavMesh:改善尋徑和 AI
在 Unity 5.6 中,我們引入了低階 API,旨在解決以前版本的限制。這些改變為角色和 AI 導航賦予一套整個全新的使用案例和遊戲選項。此外,在低階 API 方面,我們還提供了 4 個新的容易使用的組件,這些組件是開源的,可以從 Github 獲得。

使用 Unity 的 NavMesh 工具進行程序上的生成或動態載入內容的能力一直是最需要的功能。使用 5.6 的新功能,不僅可行,而且簡單又非常有效率。簡單的載入或生成你的場景,然後交待 NavMesh 表面來烘焙。

使用新功能集,NavMesh 現在是以組件為基礎而不是原本的場景範圍。這個新結構讓你每個場景可以有多個 NavMesh。另外,我們現在有不同的代理類型。這讓你輕鬆調整不同角色的半徑、高度和穿越設置。



隨著 NavMeshSurface 組件的添加,我們的 NavMesh 可以與遊戲物件對齊,而不是與世界軸對齊。這意味著我們可以在 3D 空間中使用任何我們想要的方向為我們的導航網格定向。這對想要將我們的導航工具用於 2D 遊戲或者想要將他們的導航系統單獨對齊 Y 軸的人是個很大的附加功能。

由於 NavMesh 烘焙現在是由一個組件處理,它不再被束縛於整個場景。這意味著我們可以選擇哪些元素成員烘焙的一部份,或者我們可以選擇烘焙特定的體積。假如你曾經只是關卡太過巨大而不能使用 NavMesh,現在你可以簡單有效的為你的遊戲生成所需的 NavMesh 數量。這樣在播放過程中可以節省大量的烘焙時間以及記憶體開銷。使用這個方法,只有那些已經改變的區域會被重新烘焙,而且因為它是多執行緒,所以是非常有效率的。

改善 2D 遊戲開發流程的新功能
我們一直努力提供更多的 2D 支援,並且很高興的在 5.6 宣布幾個新的 2D 功能。

排序群組組件(Sorting Group Component)提供在相同的排序層(Sorting Layer)上從其它物件分開渲染一套物件的功能。它確保排序群組(Sorting Group)的子物件的所有渲染器都被排序在一起,使其對於管理複雜場景很有用。


新的軸距離排序(Axis Distance Sort)透過使你能夠設置透明度排序模式(Transparency Sort Mode)到自定義軸來解決 Z 排序問題。


Outline Editor 是個新增加到 Sprite Edior 視窗的功能,它可以用於自動生成可選擇的細分級別,或者手動編輯 Sprite 的網格形狀。你還可以透過選擇網格與實際圖像的接近程度來控制細分品質。


我們正在採用針對 SpriteRenderer 的一種  2D 技術 9-Slice Sprite,允許你在遊戲中不用準備多個資源而能重複使用一個具有可變尺寸的圖像。它類似 UI 中使用的 9-Slice。這允許你在尺寸變化時拉伸或重複圖像的定義區域,為建立平台或背景提供一個快速的技術,同時仍然使用很小的紋理記憶體用量。


最後,我們還添加了 EncodeToEXR 給 Texture2D。這樣可以讓你將 HDR 紋理的內容在磁碟上儲存為 EXR 檔案,類似於非 HDR 紋理的 EncodeToPNG 和 EncodeToJPG。

2D 物理的改善與功能

對於 2D 物理,內部的 2D 聯繫處理系統已經被完全重寫來提供更強大又穩定的聯繫匯報,以確保在所有條件下正確的 Enter、Stay 和 Exit 的回調狀態。

隨著對 2D 物理 API 所做的許多變化,有幾個特別突出的:
  • 為 Rigidbody2D 擷取所有現有的接觸或 Collider2D 返回完整接觸詳細訊息又或者只是與 Collider2D 接觸的能力。
  • 一個可用於所有的物理詢問,名為 ContactFilter2D 的新型別。
  • 允許透過層掩蔽、碰撞法線角度、Collider2D 的 Z 深度等來快速過濾出結果,伴隨著像是 Linecast、Raycast、BoxCast、CircleCast、CapsuleCast、OverlapPoint、OverlapCircle、OverlapBox、OverlapArea、OverlapCapsule、GetContacts 以及 IsTouching 這些現存物理詢問功能的新的非分配過載,現在接受新的 ContactFilter2D。對於過濾的範例用法包含:詢問是否玩家在特定方向接觸到特定的層,是否 Collider2D 區域在特定層有任何接觸,或者是否 Rigidbody2D 在特定的方向有任何接觸。
  • 檢索所有 Collider2D 與任何附有 Collider2D 的 Rigidbody2D 交疊的能力,或者使用新的 OverlapCollider 功能與任何特定 Collider2D 交疊。
  • 檢索當前賦予給 Rigidbody2D 的所有 Collider2D 的能力。


在這個版本的新組件是 CompositeCollider2D,讓你合併 BoxCollider2D 和 PolygonCollider2D 在一起(未來會支援更多 Collider)到單一個結合的 Collider2D,並使用多邊形或輪廓(邊緣)生成。以及從多個分離的 Collider2D 提供一個單一的連續表面形狀,當許多分離的 Collider2D 被合併成為單一的組合時,這樣的解決方案也會顯著的提升場景載入速度。CompositeCollider2D 具有你所預期來自任何 Collider2D 的全部功能:它可以具備材質、做為觸發器、被效果器所使用以及附加到 Rigidbody2D 等。


使用新的 EdgeRadius 功能,你可以在 BoxCollider2D 或 EdgeCollider2D 上設置半徑,允許邊緣膨脹和頂點彎曲。


做為 API 改進的部分,還有一個被設計來讓你去詢問兩個 Collider2D 或 Rigidbody2D 的最近距離或交疊(穿透)的新 Distance 功能。使用此功能,能夠解決 Collider2D 或在 Rigidbody2D 上所有的交疊。當與 Kinematic Rigidbody2D 一起使用時,可以完全自定義解決方案。



最後,2D Collider 的粒子碰撞程式碼也已經使用新的 SIMD 庫完全的重寫,以提供快速的碰撞抑制,從而顯著提高效能(大約 10 倍快)。另外,一個針對粒子的新 2D Collider 重疊求解器已經被添加,從而可以更快以及更準確地從重疊中退出。


現在原生 iOS 崩潰透過 Unity Performance Reporting 捕獲
Unity Performance Reporting 可以自動跨裝置和平台來收集應用程式錯誤,因此你和你的團隊更容易即時查找和解決問題。Performance Reporting 現在可為 iOS 捕捉和報告原生崩潰紀錄(例如當你的遊戲有個原生 Objective-C 插件崩潰),並在未來將支援更多平台(下個是 Android!)。在你的 Unity 專案中不需要任何程式碼就能使用 Performance Reporting。只要在 Services 視窗開啟 Performance Reporting 就可以開始使用。


物理除錯視覺化
有時候可能難以判斷場景中的哪些物件應不應該碰撞,特別是當渲染和碰撞的網格不同時。
為了幫助你快速的在場景中檢查碰撞幾何,我們已經為物理碰撞幾何添加一個除錯視圖模式。他被設計來為我們的物理中介件正在發生什麼而提供一個「地面真實性」,並在 Unity 場景中快速地尋找相對應的 Collider。他也可做為分析工具,因為它可以隱藏所有沉睡中的 Rigidbody,以及顯示所有凹面的 MeshCollider。

展露出物理反穿透功能和改善編輯器 UI
我們已經展露了 2 個新功能,Physics.ComputePenetration 和 Physics.ClosestPoint,以協助編寫反穿透功能。Physics.ComputePenetration 回傳所需的最低平移以將兩個給定的 Collider 個別地分開。


注意洋紅色的射線,它正是分開球體和膠囊所需要的偏移。Physics.ClosestPoint 計算所給予最接近特定點的 Collider 的表面上的點。

我們還統一了在 Scene 視窗中用來編輯原本 2D 和 3D 的 Collider 的互動操作。它們現在全部使用相同的邏輯並且支援新的組合鍵(Shift 和 Alt)使它輕鬆編輯 Collider 的範圍、將中心固定到位或者從任何方向平均的縮放形狀。

我們添加了 TreeView IMGUI Control(樹狀結構的立即模式圖形使用者介面控制,IMGUI - Immediate Mode GUI, 為 Unity 原本內建,有別於以 GameObject 為主的 UI 系統),可以顯示可展開和折疊的層次結構資料。你可以使用 TreeView 為編輯器視窗建立可高度客製化的列表視圖和多欄位表格,這樣你就可以與其他 IMGUI 和組件一起使用。你可以自定義行列內容的表現、拖動邏輯、選擇邏輯、搜尋、排序和重新命名項目。

具有多欄位標題和搜尋欄位的 TreeView 範例

為了協助開始使用 API 功能,請造訪我們的 Unity Scripting API 說明文件或 TreeView 手冊。

我們為每個 UI 元素改善了傳送給 GPU 的資料量,添加新的 Additional Shader 屬性給 Canvas。這將改變被建立的所有新 Canvas 組件的預設行為並減少渲染畫布的記憶體開銷,因為額外未被使用的通道會被排除掉。

如果你正在使用 Visual Studio 2017,你將會注意到具有 Unity 工作量的安裝,現在會自動檢測。並顯示和添加到 External Script Editor 列表中。

Google Daydream 和 Carboard VR 支援
5.6 支援原生在 iOS 和 Android 上的 Google VR 和 Andorid 上的 Daydream。為了從 Daydream 平台獲得最佳效能和等待時間,我們與 Google VR NDK 整合,以充分利用該平台的非同步重新投放和 VR 效能模式。
與在 Google I/O 發佈的 Google VR SDK for Unity 的 Daydream 支援相比,我們現在提供更有效率的工作流程、顯著的最佳化和減少了等待時間。不需要 Prefab、Script 或手動 manifest 修改就可以開始使用 - 簡單地啟動 VR 並添加 Daydream 做為目標平台來開始製作你自己的虛擬世界。

我們還可以輕鬆的切換和退出 VR 模式,所以你的應用程式可以輕鬆的擴展到完全的 Google VR 群眾,以及對準具備完全原生支援的 Google Cardboard。
目標 Cardboard 的應用程式可以運行於較舊的設備,所以你可以接觸到盡可能多的使用者。目前,只對 Android 的 Cardboard 提供支援,即將推出對 iOS 的支援。
如果你有興趣學習更多與 Unity 相關的 Google Daydream,請參閱 Unite 2016 Daydream 介紹

Nintendo Switch 支援
針對遊玩對接的機台風格或手持式隨身攜帶的選項,Nintendo Switch 為創作者提供了一個新的機會去對於他們的遊戲進行一些不同的思考。幾個 Unity 主題,像是 GDC 時在 Unity 攤位上介紹過的 Super Bomberman 和 Snipperclips,已經發佈了。我們很高興的宣布對 Nintendo Switch 支援已經推出(需要注意的是,目前支援的是基於 Unity 5.5,Unity 5.6 支援將在 Unity 5.6.x 循環內推出)。


支援 Facebook Gameroom
關於 Gameroom,Facebook 已經為開發者們採用一種更簡單的方法將付費和免費遊戲帶入 PC,並充分利用 CPU 和 GPU 原生力量的優勢,做為與動態時報分離的專用 PC 應用程式。

你現在可以針對原生效能最佳化構建或匯出你的專案到新的 Facebook Gameroom desktop app for Windows 做為原生 Windows 播放器,或者到 Facebook.com 使用 Unity 的 WebGL 支援

整合了你所需要的任何東西都開箱即用,從與 Facebook 好友分享內容到處理應用內消費 - 你甚至可以直接從 Unity 編輯器上傳你的構建去給 Facebook 託管。你可以在 Gameroom 這裡找到更多資訊。


WebAssembly 的試驗性支援
在 5.6 中,我們帶來 WebAssembly 的試驗性支援,這是一種旨在協助改善 Unity WebGL 體驗的全新跨瀏覽器技術。WebAssembly 是一種新的獨立的網路標準。它本質上是種顯著減少編譯碼大小的位元組碼格式,不像 asm.js 是以文字為基礎來表示。與目前使用文字為基礎來表示相比,位元組碼格式顯著的減少了編譯為 asm.js 的大小。這樣帶來更快速的程式碼下載,更重要的是,能夠更快速的使用更少的記憶體來解析和編譯程式碼。這將改善啟動時間、效能,並降低記憶體需求 - 這些都是開發人員們面對 WebGL 平台時所面臨的一些常見問題。

改進多人遊戲
5.6 包含對目前的 Unity 多人遊戲功能最佳化以及穩定性的改進。特別是當運行於不太可靠的網路條件上,我們已經改進穩定性。許多改變是顯而易見的,並且不影響目前網路 API 的實作。

除了搭配編輯器的更改之外,我們已經對 Multiplayer 說明文件進行了改進,建立了一些新的學習素材,並開始了新功能的基礎工作。
更多訊息,請參閱我們最近的部落格文章,其中提供了 Unity Multiplayer 目前和未來的更新狀態。

Unity Collaborate 的新功能(測試版)
Unity Collaborate 使團隊輕鬆的儲存、分享以及同步他們的 Unity 專案。它很容易使用,所以整個團隊無論什麼位置或角色都可以有助於專案。它比傳統的版本控管(如 Git、SVN)還要容易使用,所以你的團隊可以把時間花費在更重要的事 - 你們的遊戲!

基於來自早期測試版的用戶反饋資料,我們在 5.6 中添加了一些更需要的功能,包含局部發佈(Partial Publish),這讓使用者可以發佈所選擇的檔案。以前,你必須一次發佈所有更改到的檔案。

使用忽略檔案(Ignore Files),你可以忽略掉在你的專案中不想要推送的檔案和資料夾,而新的還原(Rollback)功能則使你能夠製作最新專案以前的版本;這對撤銷不想要的更改特別有幫助。

Unity 5.6 包於 Unity 5 循環,那接下來的 2017 是什麼?

針對所有關於 Unity 5.6 完結 Unity 5 循環的細節以及接下來的 2017,請參閱我們的部落格文章

所有新功能、更改、錯誤修復和已知問題的完整列表,請查看發佈說明

取得 Unity

本文為 胡亂說・隨便寫 擅自翻譯,詳細內容以原文為準。