U3D 自定義shader建立Editor擴充套件

2022-01-14 16:37:11 字數 1413 閱讀 8396

「工欲善其事,必先利其器」shader學習工具篇

「身為乙個程式設計師,必須有懶得氣質,必須乾掉這樣的重複的操作!」

「怎麼能讓我們的可愛同學把寶貴的時間花在做重複的事情上呢?」

【unity編輯器】unity基於模板生成**的原理與應用

學習shader的同學也可以看這位大神的文章,很多中高階的知識。

雖然大神的文章很**流,很飄逸。總結下核心思想就是通過反射系統的類方法實現建立模板到**檔案的生成,最良心的是大神給我們提供了原始碼。

這裡其實我們不是特別關心**執行的機制和原理(想學習的可以看大神的帖子有三篇之多,還是比較詳細的),我們只關心如何擴充套件我們自己的shader模板和建立選單不用做重複工作。

2、複製editor到assets目錄下或者editor下內容到工程editor中

3、複製templates到assets同一級目錄下

4、大功告成,在u3d中右鍵建立shader

最後我們在說下如何加入自己的shader模板

1、開啟editor目錄下檔案

開啟紅框的檔案,我們看到建立指令碼的通用方法一共有兩個引數,第乙個就是模板檔案的路徑,第二個引數是shader預設名稱,我們再看看模板檔案,開啟乙個如下圖所示,我們只要照葫蘆畫瓢將自定義的模板新增到templates目錄下就可以了(這塊一定要注意程式**中的路徑和檔案路徑要對應,一般出錯就是這裡)。還要說下良心大神其實已經為我們準備了147個模板,我又加了兩個用於學習的模板。

最後,希望大家早日能建立自己的shader知識體系,形成自己的shader庫。

Laya3D 自定義shader 實時陰影

laya自帶的預設材質 blinnphongmaterial 是支援實時陰影的,只需要將directional light 的陰影開啟 meshrender 的receiveshadow 設定為 true 就能簡單的在材質上投射陰影了。但是顯然基礎材質 blinnphong是不夠用的,當需要自定義材...

U3D 動態建立Prefab的多個例項

情景 我們有乙個mytest指令碼,乙個my prefab預置體 想在在這個指令碼的start 方法中複製多個my prefab的例項。有3種方法 1,將預置體my prefab放於resouce資料夾下,在start 中載入並例項化。gameobject obj instaintiate reso...

Unity3D之Shader自定義編輯器功能拓展

一 前言 最近在開發乙個關卡類的遊戲,在匯入一些3d物體的時候,發現很多時候同乙個3d物體需要渲染的方式不一樣,比如這顆樹要雙面渲染 cull off 但在很多情況下是可以剔除背面 cull back 的,之前在寫shader方面找不到什麼好方法直接控制,乾脆就寫了兩個shader,這就造成了無謂的...