Unity 特性(Attribute)總覽
Unity 特性 總覽
在Unity中,我個人覺得最常見的特性就是Serializeble、HideInInspector、和CreateAssetMenu了,但還有其他其他特性也非常實用,這裡就簡單總結其用法。
*下面所有特性名稱省略Attribute字尾。圖片小,可以在新視窗開啟圖片。
System名稱空間下
特性 | 描述 | 程式碼 | 樣例圖示 |
---|---|---|---|
Serializable | 序列化一個類,作為一個子屬性顯示在監視面板。 | ||
NonSerialized | 反序列化一個變數,並且在監視版上隱藏。 |
UnityEngine名稱空間下
特性 | 描述 | 程式碼 | 樣例圖示 |
---|---|---|---|
AddComponentMenu | 可以新增一個元件選單項到編輯器裡。 | ||
AssemblyIsEditorAssembly | 彙編級別的屬性。帶了這個屬性的類就被認為是編輯器類。只能對於程式集有效,具體怎麼用不知道呢,網上也沒找到用法。 | 略。 | |
ColorUsage | 可以修改Color的配置,是否顯示Alpha通道,或者使用HDR模式。 | ||
ContextMenu | 給指令碼右鍵選單新增一個自定義方法,不能是靜態的。 | ||
ContextMenuItem | 給欄位右鍵選單新增一個自定義方法,不能是靜態的。 | ||
CreateAssetMenu | 用於ScriptableObject的子類,將這個類(相當於資原始檔新增到Asset選單項中),關於ScriptableObject具體可以看這位大神的Blog。 | ||
Delayed | 用於float、int、或string變數,只有按了回車或焦點離開欄位才會返回新值。 | ||
DisallowMultipleComponent | 用於MonoBehaviour或其子類,不能重複新增這個類的元件,重複新增會彈出對話方塊。 | ||
ExecuteInEditMode | 帶了這個特性的例項會直接在編輯模式下就執行,但不是像進入遊戲模式那樣時刻執行:1、Update在這個場景中任意物體變化了執行;2、OnGUI在Game View接收到一個Event時執行;3、OnRenderObject和其他渲染回撥函式在Scene View 或 Game View重新渲染時執行。 | 略。 | |
GUITarget | 選擇哪些顯示器呼叫OnGUI函式。 | = =沒這能力展現這效果。 | |
Header | 標題特性,給監視版加一個小標題。 | ||
HelpURL | 給類提供一個自定義文件URL。如圖可以按Ctrl+滑鼠左鍵跳轉到目標。 | 同左邊。 | |
HideInInspector | 只是隱藏變數在監視板裡,不改變序列化屬性。 | ||
ImageEffectAllowedInSceneView | 使用了這個特性的影象特效可以渲染在 SceneView的攝像機上。 | ImageEffect這東西在Unity Pro上才有,GG了。 | |
ImageEffectOpaque | |||
ImageEffectTransformsToLDR | 在HDR渲染模式下,使用影象特效用LDR渲染模式。 | ||
Multiline | 可以讓string變數在監視板上多加幾行。 | ||
PreferBinarySerialization | 只能用於ScriptableObject 子類,用二進位制序列化,有利於處理大量資料的資原始檔,提升讀寫效能。主要缺點是二進位制的檔案我們看不懂,還有不能用版本控制軟體合併它。 | 不知道怎麼舉例呢(:з」∠),自己看官網咖。 | |
Property | 這個是監視板裡面修改樣式的抽象基類,例如顯示小標題、顯示多行編輯文字等等都是以它為基類。 | 抽象類,沒例子,略。 | |
Range | 在監視面板限制int或float型別變數值。但有個BUG,看右邊程式碼,所以個人建議還是用屬性(Property)配合Mathf.Clamp使用來限制數值大小。 | ||
RequireComponent | 自動新增需要的元件。若已存在則不額外新增。這樣指令碼就可以安全的使用該元件。 | ||
RPC | 用於Networking,但廢棄了。 | 略。 | |
RuntimeInitializeOnLoadMethod | 不用作為元件新增到物件也可以直接自動呼叫初始化方法。要求方法為靜態,類、方法可以為私有。當開始遊戲就會呼叫,但有多個這種特性的方法呼叫順序是不能確定的。 | ||
SelectionBase | 帶這個特性的GameObject,如果點選本身就一定選中本身,即便父物件也有這特性;如果子物件沒有帶這個特性,則當在場景點選子物件時,選中的是帶特性的父物件;如果父物件和父父物件都有這特性,選父物件。 | ||
SerializeField | 序列化欄位,主要用於序列化私有欄位。 | ||
SharedBetweenAnimators | 用於StateMachineBehaviour,類似prefab,Animator之間公用這個例項,減少記憶體消耗。 | 暫時略。 | |
Space | 用於在監視板上加空行。 | ||
TextArea | 讓string在監視板上顯示成帶滾動條的文字域。 | ||
Tooltip | 給監視板的欄位新增小貼士。及滑鼠指向欄位顯示的提示。 | ||
UnityAPICompatibilityVersion | 用來宣告程式集的API版本,避免處理時是否可以用舊版本的Unity API。 | 略。 |
UnityEditor名稱空間下
特性 | 描述 | 程式碼 | 樣例圖示 |
---|---|---|---|
CallbackOrder | 所有帶order(順序)回撥屬性的特性基類。 | 略。 | |
CanEditMultipleObjects | 使自定義編輯器支援同編輯多個物件,一般配合CustomEditor使用類。 | ||
CustomEditor | 要自定義編輯器就要加這個特性。 | ||
CustomPreview | 新增自定義型別的preview在監視板。 | 暫時略。 | |
CustomPropertyDrawer | 自定義屬性渲染,如果要自定義PropertyDrawer或 DecoratorDrawer,要加上這個特性。 | 暫時略。 | |
DrawGizmo | 自定義Gizmo渲染方法任何元件,方法可以定義在任意類而且不用新增到元件,但必須為靜態。 | 方法呼叫了,但不知道為什麼沒有渲染,暫略。 | |
InitializeOnLoad | 當Unity工程裝載時,會自動呼叫一個類來初始化,這個類必須有靜態建構函式。 | ||
InitializeOnLoadMethod | 同上,只不過這個是呼叫靜方法。 | 略。 | |
MenuItem | 新增選單項,必須是靜態方法。第二個引數若為true,則會先判斷改方法是否返回true,若是,則可以使用,若為false,這按鈕是不可用的(灰色的)。更多用法看官網教程這裡。 | ||
PreferenceItem | 給Preference視窗新增選單項,呼叫的也是靜態方法。例子是官方的。 |
相關推薦
Unity 特性(Attribute)總覽
Unity 特性 總覽 在Unity中,我個人覺得最常見的特性就是Serializeble、HideInInspector、和CreateAssetMenu了,但還有其他其他特性也非常實用,這裡就簡單總結其用法。 *下面所有特性名稱省略Attribu
C 特性(Attribute)學習
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
js便籤筆記(2)——DOM元素的特性(Attribute)和屬性(Property)
** 本文轉載自:https://www.cnblogs.com/wangfupeng1988/p/3631853.html (感謝分享) 1.介紹: 上篇js便籤筆記http://www.cnblogs.com/wangfupeng1988/p/3626300.html最後提到了d
C 特性(Attribute)學習
特性(attribute)是被指定給某一宣告的一則附加的宣告性資訊。在C#中,有一個小的預定義特性集合。在學習如何建立我們自己的定製特性(custom attributes)之前,我們先來看看在我們的程式碼中如何使用預定義特性。 using System; public class AnyClass {
Unity3D編輯器擴充套件(五)——常用特性(Attribute)以及Selection類 Unity3D編輯器擴充套件(一)——定義自己的選單按鈕 Unity3D編輯器擴充套件(二)——定義自己的視窗 Unity3D編輯器擴充套件(三)——使用GUI繪製視窗 Unity3D編輯器擴充套件(四)—
前面寫了四篇關於編輯器的: Unity3D編輯器擴充套件(一)——定義自己的選單按鈕 Unity3D編輯器擴充套件(二)——定義自己的視窗 Unity3D編輯器擴充套件(三)——使用GUI繪製視窗 Unity3D編輯器擴充套件(四)——擴充套件自己的元件 今天我們來講解在編輯器擴充套件中我們常用的特
X名稱空間的特性(Attribute)x:key和x:type
x名稱空間指向http://schemas.microsoft.com/winfx/2006/xaml.它包含的類與xaml有關. 大致有以下一些: attribute: X:class 告訴XAML編譯器將XAML標籤的編譯結果與後臺的哪個類合併 x:c
javascript 特性(attribute)與屬性(property)
特性和屬性是javascript中兩個很重要同時也很容易混淆的概念: 特性(attribute) 是DOM構建的一個組成部分 屬性(property) 是元素保持執行時資訊的主要手段,並且可以通過屬性獲取這些執行時資訊 我們可以通過一個簡單的示例來演示
.NET(C#):獲取方法返回值的自定義特性(Attribute)
.NET中特性的索取就是圍繞著ICustomAttributeProvider介面(System.Reflection名稱空間內),而MethodInfo類的ReturnTypeCustomAttributes屬性直接返回方法返回值的ICustomAttributeProvider介面物件。同時Method
C#特性(Attribute)之預定義特性(Conditional)
特性(Attribute)是用於在執行時傳遞程式中各種元資料(類、方法、結構、列舉、元件)的行為性宣告標籤。 特性用於新增元資料,如編譯器指令和註釋、描述、方法、類等其他資訊。 .NET 框架提供了兩
C#-特性(Attribute)
概念 特性是一種允許我們向程式的程式集新增元資料的語言結構,它是用於儲存程式結構資訊的某種特殊型別的類。可以通過使用特性向程式新增宣告性資訊。一個宣告性標籤是通過放置在它所應用的元素前面的方括號([ ])來描述的。MSDN解釋為:特性提供功能強大的方法,用以將元資料或宣告資訊與程式碼(程式集、型別、方法、屬性
C# 特性詳解(Attribute)
今天整理關於特性的資料,之前都忘了,今天整理一下 參考《C#高階程式設計》第10版 0X01 特性(Attribute) 特性定義 特性不會影響編譯過程,因為編譯器不能識別它們,但這些特性在應用於程式元素
C# 高階特性(二)Attribute和反射
使用Attribute的時候大多需要用到反射,所以放在一起。 Attribute: 我的理解是,它可以給你的類、方法、欄位等新增一些描述性語言,在執行期間又可以通過反射的方法獲取它的內容。 在編譯期間就初始化好了。 反射: 通過反射可以在不瞭解物件的內容時,操作物件。 優點
特性(property)
clas 設定 之前 封裝 方法 使用 peer print 存放位置 6.4 特性(property) 1 什麽是特性property property是一種特殊的屬性,訪問它時會執行一段功能(函數)然後返回值 import math class Circle:
bash基礎特性(1)
defaults history 緩沖區 記錄 歷史 所有的環境變量可以通過 ehco $# 查看 #為環境變量 bash的基礎特性:(1)命令歷史 history 環境變量: HISTSIZE:命令歷史記錄的條數 HISTFILE;~/.bash_history HIST
java8新增特性(一)---Lambda表達式
使用 watermark 成員變量 arr mar .net [] size mark Lambda表達式也成為閉包,是java語言層次上的改變,Lambda同意把函數作為一個方法的參數(函數作為參數傳遞進方法中),或者把代碼看成數據。函數
ECMAScript6 | 特性(部分)
front script dup 結束 全部 默認值 -- 兼容 ada 新特性概覽 參考文章:http://www.cnblogs.com/Wayou/p/es6_new_features.html 這位前輩寫的很好,建議深入學習 —————————————————
【Unity3D基礎教程】給初學者看的Unity教程(零):如何學習Unity3D
cos 詳解 component lock index unity3d遊戲 design 技術棧 log 【Unity3D基礎教程】給初學者看的Unity教程(零):如何學習Unity3D http://www.cnblogs.com/neverdie/p/How_To_
謝煙客---------Linux之Bash基礎特性(2)
linux總結Linux之哲學思想 一切皆文件 避免交互,實現Bash編程 文本編程命令實現配置 組合小程序完成復雜任務總結 過程式編程 解釋執行 字符和數值存儲的區別 shebang -> cpu ->解釋器 數據類型 變量類型
無源射頻混頻器的基本特性(1)
tar media 留下 時域 過程 inter local logs 運算 混頻器的一個重要作用就是頻率搬運,即將中頻信號搬運到射頻段,或者將射頻信號搬運到中頻段,前者稱為上變頻,後者稱為下變頻。 以上變頻為例,在實際使用中f0稱為IF(Intermediate Fre
MySQL 8.0.2復制新特性(翻譯)
ogl 防止 將不 地址 arc -- 等待 download 日誌 譯者:知數堂星耀隊 MySQL 8.0.2復制新特性 MySQL 8 正在變得原來越好,而且這也在我們MySQL復制研發團隊引起了一陣熱潮。我們一直致力於全面提升MySQL復制,通過引入新的和一些有趣