學習編寫Unity計算著色器 Learn to Write Unity Compute Shaders

2021-12-26 天晴有時藍

行使圖形處分器的氣力

你會學到:

怎樣編寫Unity計較著色器

怎樣在後處分圖像過濾器中應用ComputeShaders

怎樣應用ComputeShaders舉行粒子結果和聚集

怎樣應用StructuredBuffers在計較著色器和實例外貌著色器之間分享數據

應用計較機處分器處分流體模仿

應用計較機開闢者建立物理引擎

MP4 |視頻:h264,1280×720 |音頻:AAC,44.1 KHz,2 Ch

說話:英語+中英筆墨幕(憑據原英筆墨幕機譯更精確) |時長:47節課(5h 49m) |大小解壓後:3.43 GB

請求

你務必諳習Unity的底子常識

你需求有C#的底子常識

形貌

經歷借鑑建立計較著色器,您將處於Unity開闢的非常前沿。與古代著色器差別,您能夠應用計較著色器來處分任何數據操縱疑問,在這種環境下,幾十個(乃至數百個)線程同時運轉會造成遊戲運轉速率迅速非常多非常多倍的瓶頸。在本課程中,您將從小步調首先,借鑑計較著色器的底子常識。首先,咱們看一下應用緩衝區將數據從中間處分器相傳到圖形處分器。而後咱們將鑽研在計較中應用這些緩衝區。一旦你有了這種開端的底子,你就學會了怎樣應用這些技術來建立極迅速的後處分過濾器。您能夠應用計較著色器來處分粒子結果和聚集計較。在這個過程當中,你將締造一群不計其數的鳥,每隻鳥都跟著它在空中的速率拍動黨羽。應用計較著色器,分而治之才是正途。經歷應用數百個線程同時運轉,咱們開闢了一個圖形處分器物理引擎,能夠處分數千個翻騰的棋子。計較著色器非常適用處分化身在草地上挪動時草葉的偏向。本課程涵蓋了流體(2D和3D)這一具備搦戰性的主題,您將看到這個計較集中型領域從計較著色器中獲益很多。

本課程的資源以代碼版本和完備版本的模式出現,包含30多個差別的示例。Unity Compute Shaders為借鑑怎樣處分遊戲中的繁雜疑問供應了抱負的領域。詳盡說明了應用分開、聚合和對齊這三個環節規律的聚集計較。包含處分疾速碰撞檢驗的物理計較和所波及的力(外貌和實際)。膩滑粒子流體能源學是一種計較流體模仿的技術。咱們將從底子層面帶您打聽。

若您正在應用Unity,您需求打聽怎樣應用計較著色器來確保您的遊戲具備非常佳機能。真相,為何要讓GPU閒著,而CPU卻在加班?若您將少許使命切換到圖形處分器,並應用計較著色器處分它們,您將看到龐大的機能晉升。

本課程應用Unity 今年.4,兼容Windows和Mac。

門生反應

「這門課的確太奇特了。我連續想借鑑那些話題,非常後獲得了少許不行思議的資源。非常謝謝。趁便說一句,我稀飯說教。默許的場景和搦戰真的贊助我對峙課程而不感應喪氣。所波及的主題非常難,但你做到了,咱們能夠一步一步地真正做到,同時在屏幕上看到不行思議的器械!」

本課程對計較著色器的工作道理、使人影像深刻的後果和注釋舉行了深刻詳盡的疏解

「使人驚奇的課程——後續彭妮·德·拜爾斯CG著色器課程與這一個,他們符合得非常好。尼古拉斯在少許風趣的項目和巨大的觀點上做得非常好——稀飯流體模仿片面。」

其餘人對尼克的課程有甚麼觀點:

非常富厚的內容和使人影像深刻的資源網技巧。非常適用向曾經控制這門學科並曉得怎樣資源網的人借鑑。

Nik的資源網樣式讓我非常直觀地明白了全部,我當今對著色器非常寫意。

我稀飯尼克的課程,我明白他注釋的方法。非常棒的內容。

這門課是給誰的

有望將計較著色器增加到其妙技集中的開闢職員

有望應用圖形處分器來以免處分遊戲瓶頸的開闢職員

開闢職員非常想曉得植絨、gpu物理、草地、亮光追蹤和流體的當代技術

相關焦點

  • Unity3D 實用技巧 - Unity Shader 匯總式學習·初探篇
    Gpu流水線上一些可高度編程的階段,而由著色器編譯出來的最終代碼是會在Gpu上運行的;有一些特定類型的著色器,如頂點著色器,片元著色器等。依靠著色器我們可以控制流水線中的渲染細節,例如用頂點著色器來進行頂點變換及傳遞數據,用片元著色器來進行逐像素渲染。Unity Shader !
  • 隨風擺動的草叢 — Unity Shader Graph 2D 初探
    樹木,高草,頂棚與草地細節部分的動效均為著色器效果具體實現微信有壓縮,請在「閱讀原文」中打開圖片查看細節基本思路實現細節1. 個人感想Add,Multiply,Subtract,Divide 以及 One Minus 這些基本節點用處非常廣泛,在學習時須熟練掌握其性質若要僅更改某 N 維矢量的某一維度,先使用 Split 節點將其分離,再使用 Combine 節點組合在一起Gradient Noise 節點可生成均勻自然的隨機噪聲,在模擬風,水波等自然效果時應用廣泛這個著色器瞎胡調參數能調出來好多神奇的效果
  • Unity 重Built-in到URP函數對應整理
    包含的HLSL 編寫Shader Include 頭文件Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlslPackages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlslPackages/com.unity.render-pipelines.core/ShaderLibrary
  • 新手如何從零開始學習unity
    自從 unity5發布免費過後,有很多獨立遊戲開發者轉向unity遊戲開發,unity的優勢就是多終端跨平臺打包,入門也快,很多人感覺自己的英文不好,就覺得學不會,其實這是一個誤區,unity的界面雖然是英文的,但是它的窗口就只有那麼幾個,用的次數多了,也就自然的熟練了,那麼新手該如何從零開始學習unity呢?
  • SUBSTANCE | UNITY中使用的插件
    獲取插件(https://assetstore.unity.com/packages/tools/utilities/substance-in-unity-110555)請查看Wes McDermott撰寫的本教程來學習如何設置和使用插件!
  • Unity3D 推薦的7個項目和案例練習
    過高要求自己可能會浪費學習的時間,而且Unity3D是遊戲開發工具,學習匹配的內容以應對面臨的參賽、畢設、工作才是關鍵。學習的階段:初級則是能快速完成、少量插件運用的案例。中級則涉及遊戲框架,綜合運用。高級則涉及網絡開發,伺服器端。
  • 學習指南|如何獲取Unity官方豐富的學習資料
    我們首先來看看Unity知識庫,請訪問:https://unity3d.com/cn/learn/tutorials Unity是一個3D內容創作平臺,不僅可以製作遊戲,也可以應用到電影,工業等各個領域。Unity包含了非常豐富的功能,包括渲染、物理、動畫、VR/AR以及AI等各個方面的模塊,在Unity官網上我們都進行了詳細的介紹。
  • 新書推薦 | Unity ShaderLab 新手寶典
    圖書目錄第1章 3D數學基礎1.1 坐標與坐標系1.1.1 坐標及坐標系的概念1.1.2 3D中的坐標系1.1.3 左右手坐標系1.2 向量1.2.1 向量的幾種表示方法1.2.2 向量的計算方法4.1 Shader編碼工具4.2 創建和使用Shader4.3 Shader的編寫方式4.4 CG語法基礎4.4.1 編譯指令4.4.2 著色器函數4.4.3 語義4.4.4 在CG中調用屬性變量4.4.5 結構體第5章 Unity的包含文件5.1
  • 【遊戲流體力學基礎及Unity代碼(二)】用平流方程模擬染料流動
    因為我們要畫出這個三角形,所以著色器不再是全屏效果,而是放在一塊平板上。在攝像機上掛這麼一段代碼,我叫它Manager.cs。如下圖,右上角白色的點是現在我們需要求解的點,我們可以根據這一點此刻的速度算出它上一時刻在哪裡,然後通過插值算出上一時刻的值,經過計算就可以得到這一點這個時刻的值。我目前看到的在unity上模擬流體平流的代碼都是用這個方法。
  • 程序丨Unity 渲染教程(十五):延遲光源
    場景中的所有對象都使用我們自己的著色器渲染到G緩衝區。但是,這些光源是用Unity的默認延遲著色器渲染的,它被命名為Hidden / Internal-DefferedShader。你可以通過「編輯/項目設置/圖形」轉到圖形設置並將「延遲」著色器模式切換為「自定義著色器」來進行驗證。
  • 《卡通湖水渲染思路》與《Unity Shader ScreenPos》詳解
    這裡由於講解需要,就把細節部分也一併說了細節部分:具體實現為了實現第一個效果,我們需要計算湖面和地面的距離,從而根據距離對湖面顏色進行漸變。我們可以通過兩者到攝像機的深度差來模擬這一過程。很幸運的是,我們可以通過_CameraDepthTexture來獲取地面到攝像機的深度值,這是一個shader的內置屬性,可以被全局著色器訪問。
  • 在Unity遊戲引擎中使用RLlib進行強化學習
    接下來出現了更強大的方法來創建遊戲內智能代理的錯覺-行為樹和實用程序功能,但所有這些仍然需要熟練的AI程式設計師編寫大量相對靜態,不靈活的行為代碼。經過大約30分鐘的刻錄時間(這可能會因計算機的計算能力而異),您應該看到代理已學會了一種完善的策略,並且不再丟掉任何球:該腳本確保在第10次訓練迭代中將其保存在所謂的「檢查點」中。
  • Github霸榜:從零開始學3D著色器編程
    Shader,是運行在GPU上的程序,中文稱為著色器。它的主要用途是對三維物體進行著色處理,對光與影進行計算,以及控制紋理顏色的呈現等,最終,將遊戲引擎中的幾何數據轉化為屏幕上的模型、場景以及特效。吃雞、農藥、戰地、塞爾達…都離不開著色器,著色器被譽為照亮虛擬世界的"魔法"。 著色器還可以用來做後期處理,類似PS。
  • unity什麼意思
    unity什麼意思unity,聯合、統一、團結、和睦。學單詞,只記住意思可不行,會用才行,小夥伴們可以在評論區造句,我們一起學習哦!我先來:造句:Unity is strength.
  • 使用Unity ECS開發《我的世界》
    直播課程:Facial AR Remote面部捕捉解決方案課程(第一期)直播地址:https://connect.unity.com/events/unitychina-facialarUnity官方教師培訓報名火熱進行中Unity將在10月22-26日,舉辦為期5天的專業的Unity官方教師培訓課程,誠邀廣大教師與Unity一同學習分享最新技術
  • Unity Standard Shader 技術分析
    Metallic和unity_ColorSpaceDielectricSpec.a被用來構造reflectivity,之後reflectivity和Albedo共同構造diffColor.而Metallic,Albedo,unity_ColorSpaceDielectricSpec被共同用來構造
  • Houdini+Unity Terrain實現《哈爾的移動城堡》場景
    最近開始學習houdini,製作了一個小場景的demo,結合unity terrain。
  • Unity編碼篇 Transform類
    unity場景裡每個遊戲物體都含有 Transform 組件 , 用來控制物體的位置、旋轉、縮放.// 控制坦克左右旋轉 transform.Rotate(Vector3.up * Time.deltaTime * angle * hor); } }}在unity
  • Unity DOD(ECS) 學習總結
    .我不會提及技術細節,只是對現有的學習資料進行一個簡介,給出我認為合理的學習順序,我覺得比起用我自己蹩腳的語言複述教學, 這些才是更有用的東西.學習材料然後就是最主要的目前階段如何學習了.官網教程然後回到Unity這邊,官網教程的6個視頻是比較好的入門:https://unity3d.com/cn/learn/tutorials/topics/scripting/introduction-ecs?playlist=17117但是非常淺,在一個簡介之後,就是我前文說過之後的同屏小飛機數量對比的項目教程,甚至到最後都沒有給出最終版本的源碼=.
  • Unity PBR Standard Shader 實現詳解 (三)
    上一篇《Shader框架和數據準備》中,我們寫了一個完整的shader,但這個shader的主要內容並不是PBR計算,而是計算前的數據準備