国产一区二区精品-国产一区二区精品久-国产一区二区精品久久-国产一区二区精品久久91-免费毛片播放-免费毛片基地

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

手機站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時隨地免費學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時隨地免費學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > Unity怎么預(yù)定義UI?8個預(yù)定義UI實現(xiàn)教程

Unity怎么預(yù)定義UI?8個預(yù)定義UI實現(xiàn)教程

來源:千鋒教育
發(fā)布人:syq
時間: 2022-07-21 14:57:00 1658386620

  大家好!經(jīng)常會有同學(xué)問“Unity怎么預(yù)定義UI?”今天給大家?guī)聿粚慓UIEditor就能實現(xiàn)的預(yù)定義UI。

Unity怎么預(yù)定義UI

  1、寫在前面

  出于性能原因,EditorGUILayout 函數(shù)不能與 MaterialPropertyDrawers 一起使用。

  2、Enum類(枚舉)

  枚舉,最多可指定 7 個名稱。

  常用的枚舉類如下。當(dāng)然也可以自定義枚舉,可以通過KeyWrod來控制。

  混合模式

  [Enum(UnityEngine.Rendering.BlendOp)] _BlendOp ("BlendOp", Float) = 0[Enum(UnityEngine.Rendering.BlendMode)] _SrcBlend ("SrcBlend", Float) = 1[Enum(UnityEngine.Rendering.BlendMode)] _DstBlend ("DstBlend", Float) = 0

  深度開關(guān)

  [Enum(Off, 0, On, 1)]_ZWriteMode ("ZWriteMode", float) = 1ZWriteMode是沒有內(nèi)置的,實際上也只有on和off兩個狀態(tài),所以用Toogle其實也可以,我這里是直接用[Enum(Off, 0, On, 1)]這樣的寫法聲明了個新的自定義Enum

  剔除模式

  [Enum(UnityEngine.Rendering.CullMode)]_CullMode ("CullMode", float) = 2

  深度測試

  [Enum(UnityEngine.Rendering.CompareFunction)]_ZTestMode ("ZTestMode", Float) = 4

  顏色通道寫入遮罩

  [Enum(UnityEngine.Rendering.ColorWriteMask)]_ColorMask ("ColorMask", Float) = 15[Enum(UnityEngine.Rendering.CompareFunction)]_StencilComp ("Stencil Comparison", Float) = 8[Enum(UnityEngine.Rendering.StencilOp)]_StencilPass ("Stencil Pass", Float) = 0[Enum(UnityEngine.Rendering.StencilOp)]_StencilFail ("Stencil Fail", Float) = 0[Enum(UnityEngine.Rendering.StencilOp)]_StencilZFail ("Stencil ZFail", Float) = 0

  3、IntRange

  顯示一個適用于 Range 著色器屬性的整數(shù)滑動條。[IntRange]_StencilWriteMask ("Stencil Write Mask", Range(0,255)) = 255[IntRange]_StencilReadMask ("Stencil Read Mask", Range(0,255)) = 255[IntRange]_Stencil ("Stencil ID", Range(0,255)) = 0

  4、Header

  顯示一個頭部名稱。

  [Header()]

  [Header(A group of things)] _Prop1 ("Prop1", Float) = 0

  不支持漢字,數(shù)字以及大部分符號在著色器屬性之前創(chuàng)建一個標(biāo)題文本。

  5、Space

  在著色器屬性之前創(chuàng)建垂直空間。

  [Space] _Prop1 ("Prop1", Float) = 0[Space(50)] _Prop2 ("Prop2", Float) = 0

  6、KeywordEnum

  關(guān)鍵字枚舉,并啟用相應(yīng)的著色器關(guān)鍵字。它可在著色器中與“#pragma multi_compile”配合使用,以啟用或禁用部分著色器代碼。每個名稱都將 采用“屬性名”+ 下劃線 +“枚舉名”這種形式的大寫著色器關(guān)鍵字。最多可提供 9 個名稱。

  [KeywordEnum(None, Add, Multiply)] _Overlay ("Overlay mode", Float) = 0#pragma multi_compile _OVERLAY_NONE _OVERLAY_ADD _OVERLAY_MULTIPLY

  7、Toggle類(開關(guān))

  以開關(guān)形式顯示浮點值。屬性值為 0 或 1,具體取決于開關(guān)狀態(tài)。當(dāng)開關(guān)處于打開狀態(tài)時,將設(shè)置一個帶有大寫屬性名稱 +“_ON” 的著色器關(guān)鍵字,或者一個顯式指定的著色器關(guān)鍵字。[Toggle] _Invert ("Invert?", Float) = 0[Toggle(ENABLE_FANCY)] _Fancy ("Fancy?", Float) = 0

  8、PowerSlider

  [PowerSlider(3.0)] _Shininess ("Shininess", Range (0.01, 1)) = 0.08顯示一個具有對應(yīng)于 Range 著色器屬性的非線性響應(yīng)的滑動條。意思就是,讓Range滑桿更加方便調(diào)整細(xì)微的值。以[PowerSlider(1.0)]為分界,當(dāng)值為1.0時,效果與range一致。當(dāng)值<1.0時,值越大可調(diào)整的范圍越大。當(dāng)值>1.0時,值越小可調(diào)整的范圍越大。可以更精細(xì)地在這些區(qū)間進(jìn)行微調(diào)。

  當(dāng)值為0.1時:

3

  當(dāng)值為10時:

4

  PowerSlider值類似曲線的控制值,值越大,小值的范圍越好調(diào)整,值越小,大值的可調(diào)整范圍越大。

  更多關(guān)于“Unity培訓(xùn)”的問題,歡迎咨詢千鋒教育在線名師。千鋒教育多年辦學(xué),課程大綱緊跟企業(yè)需求,更科學(xué)更嚴(yán)謹(jǐn),每年培養(yǎng)泛IT人才近2萬人。不論你是零基礎(chǔ)還是想提升,都可以找到適合的班型,千鋒教育隨時歡迎你來試聽。

tags:
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
免費領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
什么是PlatformIo?

PlatformIO是什么PlatformIO是一個全面的物聯(lián)網(wǎng)開發(fā)平臺,它為眾多硬件平臺和開發(fā)環(huán)境提供了統(tǒng)一的工作流程,有效簡化了開發(fā)過程,并能兼容各種...詳情>>

2023-10-14 12:55:06
云快照與自動備份有什么區(qū)別?

1、定義和目標(biāo)不同云快照的主要目標(biāo)是提供一種快速恢復(fù)數(shù)據(jù)的方法,它只記錄在快照時間點后的數(shù)據(jù)變化,而不是所有的數(shù)據(jù)。自動備份的主要目標(biāo)...詳情>>

2023-10-14 12:48:59
服務(wù)器為什么要用Linux?

服務(wù)器為什么要用Linux作為服務(wù)器操作系統(tǒng)的優(yōu)選,Linux在眾多選擇中脫穎而出。Linux作為服務(wù)器操作系統(tǒng)的優(yōu)選,有其獨特的優(yōu)勢和特點。包括其...詳情>>

2023-10-14 12:34:11
ORM解決的主要問題是什么?

ORM(對象關(guān)系映射)解決的主要問題是將關(guān)系數(shù)據(jù)庫與面向?qū)ο缶幊讨g的映射困境。在傳統(tǒng)的關(guān)系數(shù)據(jù)庫中,數(shù)據(jù)以表格的形式存儲,而在面向?qū)ο?..詳情>>

2023-10-14 12:26:19
Go為什么不支持三元運算符?

Go為什么不支持三元運算符Go語言是一種以簡潔和有效性為目標(biāo)的編程語言,因此在設(shè)計過程中,Go的設(shè)計者刻意排除了一些他們認(rèn)為可能導(dǎo)致復(fù)雜性或...詳情>>

2023-10-14 12:12:36