真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

LWGUI是什么

這篇文章主要介紹了LWGUI是什么,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

超過十多年行業(yè)經(jīng)驗,技術(shù)領(lǐng)先,服務(wù)至上的經(jīng)營模式,全靠網(wǎng)絡(luò)和口碑獲得客戶,為自己降低成本,也就是為客戶降低成本。到目前業(yè)務(wù)范圍包括了:成都網(wǎng)站建設(shè)、成都做網(wǎng)站,成都網(wǎng)站推廣,成都網(wǎng)站優(yōu)化,整體網(wǎng)絡(luò)托管,微信小程序開發(fā),微信開發(fā),成都app軟件開發(fā),同時也可以讓客戶的網(wǎng)站和網(wǎng)絡(luò)營銷和我們一樣獲得訂單和生意!

如題,Unity有很多Shader插件經(jīng)常能看見1000行Shader卻有2000行ShaderGUI的情況,而對GUI接口不熟悉的人想改動GUI又很困難。為了寫更少的代碼,更簡單靈活地排版ShaderGUI,我開發(fā)了這個工具:

LWGUI是什么  
不寫一行ShaderGUI實現(xiàn)自定義排版

使用了內(nèi)置MaterialPropertyDrawer接口,參考了內(nèi)置Drawer實現(xiàn),踩了無數(shù)坑之后總算能用了。使用時只需在Shader Property前加上前綴即可實現(xiàn)各種自定義ShaderGUI,寫Shader的同時進行排版,不同Shader互不相干。Shader末尾需要添加CustomEditor "JTRP.ShaderDrawer.LWGUI" 。LWGUI內(nèi)置于JTRP,Github:https%3A//github.com/Jason-Ma-233/JasonMaToonRenderPipeline/tree/master/Assets/JTRP/Editor/Drawer。

Function List:

/// 創(chuàng)建一個折疊組/// group:group key,不提供則使用shader property name/// keyword:_為忽略,不填和__為屬性名大寫 + _ON/// style:0 默認關(guān)閉;1 默認打開;2 默認關(guān)閉無toggle;3 默認打開無toggleMain(string group = "", string keyWord = "", float style = 0)    /// 在折疊組內(nèi)以默認形式繪制屬性/// group:父折疊組的group key,支持后綴KWEnum或SubToggle的KeyWord以根據(jù)enum顯示Sub(string group)
/// n為顯示的name,k為對應(yīng)KeyWord,最多5組,float值為當(dāng)前激活的KeyWord index(0-4)KWEnum(string group, string n1, string k1, ... string n5, string k5)
/// 以單行顯示Texture,支持額外屬性/// extraPropName:需要顯示的額外屬性名稱Tex(string group = "", string extraPropName = "")    /// 支持并排最多4個顏色,支持HDR/HSV/// parameter:填入HSV則將當(dāng)前顏色轉(zhuǎn)換為HSV顏色傳入Shader,無需則填"_"/// color:可選額外顏色的property name/// 注意:更改參數(shù)需要手動刷新Drawer實例,在shader中隨意輸入字符引發(fā)報錯再撤銷以刷新Drawer實例Color(string group, string parameter, string color2, string color3, string color4)    /// 以SubToggle形式顯示float/// keyword:_為忽略,不填和__為屬性名大寫 + _ONSubToggle(string group, string keyWord = "")    /// 同內(nèi)置PowerSlider,非線性RangeSubPowerSlider(string group, float power = 1)    /// 同內(nèi)置Header,僅與LWGUI共同使用Title(string group, string header)
/// 繪制float以更改Render Queue[Queue]

目前不支持折疊組嵌套,函數(shù)名帶Sub的函數(shù)一般只支持在折疊組下顯示,不帶Sub的函數(shù)group參數(shù)填“_”以在折疊組外顯示,另外Decorator與內(nèi)置Drawer不兼容,比如Header只應(yīng)在默認屬性上使用,在LWGUI修飾的屬性上應(yīng)使用Title,否則顯示可能會出錯。

如需實現(xiàn)自己的Drawer,可以參考JTRP\Editor\Drawer\ShaderDrawer.cs。SubDrawer類提供了與MainDrawer配套使用的功能。請注意:

  • 重寫matchPropType以篩選特定的屬性類型以繪制,返回false則會以默認方式繪制

  • 重寫DrawProp以自定義方式繪制屬性,JTRP\Editor\Drawer\DrawerUtility.cs提供了一些工具函數(shù)

  • GetPropertyHeight函數(shù)在使用EditorGUILayout.GetControlRect()后不起作用,一般推薦使用GetControlRect而無需理會Height

  • EditorGUI.showMixedValue控制了選擇多個材質(zhì)球的情況下的繪制方式

  • EditorGUIUtility.labelWidth = 0時MaterialEditor.GetRectAfterLabelWidth才會得到期望的結(jié)果

感謝你能夠認真閱讀完這篇文章,希望小編分享的“LWGUI是什么”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!


分享文章:LWGUI是什么
標題來源:http://weahome.cn/article/jpoipp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部