最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網 會員登陸 & 注冊

Unity-自定義著色器 GUI

2021-04-16 09:26 作者:unity_某某師_高錦錦  | 我要投稿

有時著色器中會包含一些有趣的數據類型,而使用內置的 Unity 材質編輯器無法很好地表示這些數據類型。Unity 提供了一種方法來覆蓋顯示著色器屬性的默認方式,以便您可以定義自己的方式。您可以使用此功能來定義自定義控件和數據范圍驗證。

要為著色器的 GUI 編寫自定義編輯器,首先要定義一個需要自定義編輯器的著色器。用于自定義編輯器的名稱是 Unity 將為材質編輯器查找的類。

要定義自定義編輯器,請展開 ShaderGUI 類,并將腳本放在 Assets 目錄中的 Editor 文件夾下。

任何定義了自定義編輯器 (CustomEditor “CustomShaderGUI”) 的著色器都將實例化以上列出的著色器 GUI 類,并執(zhí)行相關聯(lián)的代碼。

一個簡單示例

我們現在的情況是,有一個著色器能以兩種模式工作;該著色器渲染標準漫射光照,或者渲染 50% 的藍色和綠色通道。

如您所見,著色器有一個可以設置的關鍵字:REDIFY_ON??墒褂貌馁|的 shaderKeywords 屬性按照材質來設置此關鍵字。以下是執(zhí)行此操作的 ShaderGUI 實例。

有關更全面的 ShaderGUI 示例,請參閱位于“內置著色器”軟件包中的 StandardShaderGUI.cs 文件以及 Standard.shader(可從?Unity 下載存檔 (Unity Download Archive)?下載該軟件包)。

請注意,上面這個簡單示例還可以使用 MaterialPropertyDrawers 來更加簡便地解決。向 Custom/Redify 著色器的 Properties 部分中添加以下行:

并刪除:

另請參閱:MaterialPropertyDrawer

對于更復雜的著色器 GUI 解決方案(例如,材質屬性彼此依賴或者希望有特殊布局),則應該使用 ShaderGUI。您可以將 MaterialPropertyDrawers 與 ShaderGUI 類組合使用,請參閱 StandardShaderGUI.cs。


Unity-自定義著色器 GUI的評論 (共 條)

分享到微博請遵守國家法律
吴忠市| 万州区| 信宜市| 神池县| 长子县| 法库县| 涞水县| 台南县| 陕西省| 阿拉善左旗| 南溪县| 民县| 镇赉县| 耒阳市| 东阳市| 汾阳市| 台南县| 呼伦贝尔市| 阿瓦提县| 忻城县| 赣榆县| 海晏县| 甘洛县| 繁昌县| 盐池县| 新闻| 舞钢市| 长治县| 邯郸市| 扶绥县| 六枝特区| 温州市| 都江堰市| 永嘉县| 龙泉市| 乡城县| 巨鹿县| 阜南县| 巴中市| 泾源县| 万宁市|