UnityEditor

【Unity】【エディタ拡張】PropertyDrawerでデフォルトのGUIを描画する

PropertyDrawerでデフォルトのGUIを描画する方法です。 Inspectorを拡張する際には簡単にデフォルトGUIを描画できるのにPropertyDrawerだと難しいので作りました。

【Unity】【エディタ拡張】EditorGUI環境でMonoBehaviourのインスペクタを描画する

PropertyDrawerなどGUILayout系が使えない環境でMonoBehaviourのインスペクタを描画する方法です。 インスペクタはGUILayout環境を前提としているので結構hackyなことをしています。意外と大変でした。

【Unity】【エディタ拡張】Unity2018.3以降ExecuteInEditModeアトリビュートは廃止に向かっていく

Unity2018.3以降ExecuteInEditModeアトリビュートは廃止に向かっていくお話です。

【Unity】セーフエリアをエディタでシミュレートする

Unityでセーフエリアをエディタ上でシミュレートする方法です。

【Unity】【エディタ拡張】Hierarchyの表示を拡張するためのUtility

自分用メモ。更新していくかもしれません。

【Unity】【エディタ拡張】Hierarchyの表示をカスタムする

Hierarchyの表示をカスタムする方法です。

【Unity】【エディタ拡張】ReorderableListの使い方

ReorderableListの使い方です。

【Unity】【エディタ拡張】配列やリストのInspector表示を改良する

Unityのデフォルトのリスト表示は場合によっては結構見づらいので拡張してみました。

【Unity】【エディタ拡張】SerializedObjectのもつ全てのプロパティを描画する

エディタ拡張ではプロパティをEditorGUILayout.PropertyField()などを使って描画します。 ただしこの方法だとすべてのプロパティを描画したいときに一個一個書いていく必要があります。 この記事ではすべてのプロパティを一気に描画する方法を紹介します。

【Unity】【エディタ拡張】デバッグ用のドロップダウンメニューを作成する

こんな感じでクリックするとデバッグ用のメニューが開くドロップダウンを作ってみます。 レイアウトは自由に組めるので別にデバッグ用じゃなくてもいいのですが、今回はデバッグ用を想定して作っています。 デバッグメニューは目立つところに置くと邪魔にな…

【Unity】【エディタ拡張】あるフィールドの値に応じて別のフィールドの表示状態を切り替えるAttributeを作る

あるフィールドの値に応じて別のフィールドの表示状態を切り替えるAttributeを作る方法です。

【Unity】【エディタ拡張】Custom AttributeとCustom Property Drawerを組み合わせたらInspectorがうまく表示されなくなった件と対応方法

久々にエディタ拡張で盛大にハマったので自分用にメモしておきます。 Custom AttributeとCustom Property Drawerを組み合わせたらInspectorがうまく表示されなくなった件とその対応方法です。

【Unity】【エディタ拡張】シーン作成時に自動でGIの有効化/無効化する

シーンのGI設定を自動化する方法です。

【Unity】【エディタ拡張】シーンのGIの設定をチェックするツール

シーンのGIの設定をチェックするツールです。

【Unity】【エディタ拡張】Assetが生成された時にだけ処理を行う

Assetが生成された時にだけ処理を行う方法です。 AssetPostprocessorのタイミングで処理を行いたいものの、 リインポートや移動のときには処理をスキップしたい場合に使えます。

【Unity】【エディタ拡張】文字列をファイルに保存する

Unityのエディタ拡張で文字列をファイルに保存する方法です。

【Unity】【シェーダ】別階層のcgincを変更してもそれをincludeするシェーダがコンパイルされない件(Unity2017)

別階層のcgincを変更してもそれをincludeするシェーダがコンパイルされない(されなかった)話です。 Unity2018では修正されているようなのでこれから直面する方は少ないと思いますが一応。

【Unity】【エディタ拡張】テクスチャをリサイズするウィンドウ

テクスチャをリサイズするウィンドウです。

【Unity】【エディタ拡張】マルチカラムのTreeViewを作る

TreeViewをマルチカラム表示する方法です。

【Unity】【エディタ拡張】TreeViewでHierarchyのような見た目を作る

Unityのエディタコードを読んでいたらTreeViewというものの存在を知ったので軽くまとめます。

【Unity】【エディタ拡張】Unityを閉じてもEditorWindowの状態を保つ方法

Unityを再起動してもスクロール位置や折りたたみの状態など、EditorWindowの状態を保つ方法です。

【Unity】EditorWindowのOnEnableはコンパイル時にも呼ばれるという話

EditorWindowのOnEnableはWindowを開いた時だけでなく スクリプトのコンパイル時にも呼ばれるという話です。

【Unity】Model ImporterでSource Avatarが更新された時にUpdateボタンを押す処理を自動化する

Model ImporterでSource Avatarが更新された時にUpdateボタンを押す処理を自動化する方法です。

【Unity】【エディタ拡張】HDRテクスチャをLDRにエンコードするウィンドウ

エディタ拡張でHDRテクスチャをLDRにエンコードするウィンドウを作る方法です。

【Unity】【エディタ拡張】スクリプトからPrefabを操作する(Unity2018.3以降)

スクリプトからPrefabを操作する方法です。 Unity2018.3以降の新Prefabワークフローに対応した内容となっています。 Unity2018.2以前はこちらの記事を参照してください。 light11.hatenadiary.com

【Unity】【シェーダ】シェーダ共通化テクニックまとめ

シェーダコードは一般的にプロジェクトの規模が大きいほど共通化の重要性が増しますが、 共通化のために知っておかなければいけない知識がそれなりにあるのでまとめました。

【Unity】【シェーダ】使用するTEXCOORDをマテリアルから指定できるようにする

使用するTEXCOORDをマテリアルから指定できるようにする方法です。

【Unity】【シェーダ】シェーダプロパティ用のアトリビュートを自作するMaterialPropertyDrawer

シェーダプロパティ用のアトリビュートを自作するMaterialPropertyDrawerの使い方です。

【Unity】【シェーダ】【エディタ拡張】KeywordEnumがスクリプトから扱いづらい問題とその解決案

KeywordEnumがスクリプトから扱いづらい問題とその解決案です。

【Unity】【シェーダ】【エディタ拡張】BlendModeをインスペクタから指定する

MaterialのInspectorでブレンドモード(加算とか乗算とか)を選べるようにしてみます。