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

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

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

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

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

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

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

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

Unity怎么預定義UI

  1、寫在前面

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

  2、Enum類(枚舉)

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

  常用的枚舉類如下。當然也可以自定義枚舉,可以通過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)建一個標題文本。

  5、Space

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

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

  6、KeywordEnum

  關(guān)鍵字枚舉,并啟用相應的著色器關(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)。當開關(guān)處于打開狀態(tài)時,將設置一個帶有大寫屬性名稱 +“_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顯示一個具有對應于 Range 著色器屬性的非線性響應的滑動條。意思就是,讓Range滑桿更加方便調(diào)整細微的值。以[PowerSlider(1.0)]為分界,當值為1.0時,效果與range一致。當值<1.0時,值越大可調(diào)整的范圍越大。當值>1.0時,值越小可調(diào)整的范圍越大。可以更精細地在這些區(qū)間進行微調(diào)。

  當值為0.1時:

3

  當值為10時:

4

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

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

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