はじめに 「Tri Inspector」を Unity プロジェクトに導入することで Odin のような Attribute を使用できるようになります 使用例 https://github.com/codewriter-packages/Tri-Inspector 使用できる Attribute は上記のページに詳細に記載されています また…
はじめに 「Cecil Attributes」を Unity プロジェクトに導入することで Attribute を指定するだけでプロパティや関数の呼び出し時にログ出力できるようになります ResetStaticAttribute // デフォルトでは Subsystem Registration のタイミングで // default…
はじめに 「Unity3D-ExecutionOrderAttribute」を Unity プロジェクトに導入することで スクリプトの実行順を制御する属性を使用できるようになります 使い方 using UnityEngine; using System.Collections; [ExecutionOrder( 10 )] public class NormalBeha…
はじめに https://github.com/jinnin0105/UnityGetComponentAutoInjector 「Unity GetComponent Auto Injector」を Unity プロジェクトに導入することで 属性を適用すると自動で GetComponent できるようになります 使い方 using System.Collections.Generic…
ソースコード 使い方 using UnityEngine; public class Example : MonoBehaviour { [GetComponentInChildren] public BoxCollider collider; [GetComponentInChildren] public Rigidbody rigidbody; } スポイトボタンを押すと、 子オブジェクトから対象のコ…
ソースコード 使い方 using UnityEngine; public class Example : MonoBehaviour { [GetComponent] public Transform transform; [GetComponent] public Example example; } スポイトボタンを押すと、 ゲームオブジェクトから対象のコンポーネントを GetComp…
はじめに 「Unity Forge Property Drawers」は Inspector で 各種パラメータをプルダウンメニューで選択できる PropertyAttribute のコレクションです 使用例 AnimationName [SerializeField, AnimationName] private string animationName; 下記のように記…
はじめに 「Essential Editor」を Unity プロジェクトに導入することで 2つの PropertyAttribute が使用できるようになります 使用例 使い方 using EssentialEditor; using UnityEngine; public class Example : MonoBehaviour { [ExposeMethod] private voi…
はじめに 「Unity3D_PropertyDrawer_AudioClip」は AudioClip のプレビュー再生ボタンを追加する PropertyDrawer です 使用例 using UnityEngine; public class Example : MonoBehaviour { public AudioClip[] clips; } このようなコードを記述すると Inspec…
概要 「DisplayInspector-Attribute」を Unity プロジェクトに導入することで Inspector 内に他オブジェクトのパラメータを表示できるようになります 使用例 using UnityEngine; public class Example : MonoBehaviour { [DisplayInspector] public Transfor…
ソースコード 使用例 using RedBlueGames.Tools; using UnityEngine; public class Example : MonoBehaviour { [EmbeddedInspector] public RectTransform target; } 関連記事
はじめに https://gist.github.com/LotteMakesStuff/2d3c6dc7a913ed118601db95735574de 「HighlightAttribute」は Inspector の項目をハイライト表示する PropertyAttribute です 使用例 using UnityEngine; public class Example : MonoBehaviour { [Highli…
はじめに https://gist.github.com/LotteMakesStuff/b8853a16de3e680dc1c326fe6f5ebd7e 「StatsBarAttribute」は Inspector にゲージを表示する PropertyAttribute です 使用例 using UnityEngine; public class Example : MonoBehaviour { [StatsBar( "max"…
ソースコード 使い方 「ColorMeDrawer.cs」は Unity プロジェクトの「Editor」フォルダ内に、 「ColorMeAttribute.cs」は Unity プロジェクトのどこかに追加することで使用できます using UnityEngine; public class Example : MonoBehaviour { [ColorMe( 1,…
はじめに 「OpenWatcher」を Unity プロジェクトに導入することで Game ビューに変数の値を表示する属性を使用できるようになります 使用例 使い方 using UnityEngine; public class Example : MonoBehaviour { [Watch] public float speed; [Watch] public …
はじめに 「NaughtyAttributes」を Unity プロジェクトに導入することで 26個の PropertyAttribute が使用できるようになります 目次 はじめに 目次 Slider MinMaxSlider ReorderableList Button Dropdown ResizableTextArea ShowNonSerializedField ShowNat…
はじめに 「NotNullAttribute」を Unity プロジェクトに導入することで Inspector で変数の参照が設定されていないオブジェクトを発見できるようになります 使い方 using UnityEngine; public sealed class Example : MonoBehaviour { public GameObject m_g…
はじめに シェーダを実装する時に MaterialPropertyDrawer を使用することで Inspector の表示をカスタマイズすることができます MaterialPropertyDrawer は自作することができますが 今回は Unity が標準で用意しているモノをいくつか紹介していきます Togg…
概要 using UnityEngine; public class Example : MonoBehaviour { [UnchangeableInPlaying] public int m_id; [UnchangeableInPlaying] public string m_name; } 関連記事
概要 using UnityEngine; public class Example : MonoBehaviour { [Unchangeable] public int m_id; [Unchangeable] public string m_name; } 関連記事
using UnityEditor.Callbacks; using UnityEngine; public class Example { [DidReloadScripts] private static void Log() { Debug.Log( "コンパイルされました" ); } } using UnityEditor.Callbacks; using UnityEngine; public class Example { [DidReloa…
Unity 4.6 から 「UnityEngine.Serialization.FormerlySerializedAsAttribute」が追加されました using UnityEngine; public class ExampleClass : MonoBehaviour { public int value; } 例えば上記のクラスをオブジェクトにアタッチして Inspectorでvalue変…
「UnityEditor.Callbacks.OnOpenAssetAttribute」属性をstaticな関数に適用することで UnityプロジェクトのProjectビューからアセットを開く時に その関数が呼び出されるようになります using UnityEditor; using UnityEditor.Callbacks; using UnityEngine;…
概要 「UnityEditor.Callbacks.PostProcessSceneAttribute」属性をstaticな関数に適用することで SceneManager.LoadSceneやApplication.LoadLevelでシーンを遷移する時に その関数が呼び出されるようになります using UnityEngine; using UnityEditor.Callba…
Unity 5.3 から「UnityEngine.DelayedAttribute」が追加されました using UnityEngine; public class ExampleClass : MonoBehaviour { public int value; void Update() { Debug.Log( value ); } } 例えば上記のようなクラスをオブジェクトにアタッチして エ…
概要 ColorHtmlPropertyAttribute.csをプロジェクトに追加して、 ColorHtmlPropertyDrawer.csをプロジェクトのEditorフォルダに追加して、 下記のようなスクリプトを記述することで、 Inspectorでカラーコードを入力して色を設定できるようになります using …
Unity 5.0 から「RuntimeInitializeOnLoadMethodAttribute」が追加されました この属性をstatic関数に適用することでゲーム起動時にその関数が呼び出されます using UnityEngine; public class ExampleClass { [RuntimeInitializeOnLoadMethod] private stat…
Unity 5.1 から「UnityEngine.HelpURLAttribute」が追加されました この属性をMonoBehaviourを継承したクラスに適用することで Inspector上でヘルプアイコンをクリックされた時に表示するサイトを設定できます using UnityEngine; [HelpURL( "http://baba-s.…
Unity 5.1 で「UnityEngine.ColorUsageAttribute」が追加されました この属性をColor型のpublic変数に適用することで カラーピッカーの表示を変えることができます Unity 5.1 以前 using UnityEngine; public class ExampleClass : MonoBehaviour { public C…
Unity 5.1 で「UnityEngine.CreateAssetMenuAttribute」が追加されました この属性をScriptableObjectを継承したクラスに適用することで そのクラスの.assetを「Assets>Create」メニューから作成できるようになります using UnityEngine; [CreateAssetMenu] …