(:3[kanのメモ帳]

個人ゲーム開発者kan.kikuchiのメモ的技術ブログ。月木更新でUnity関連がメイン。

エディタ拡張

エディタ拡張で折りたたみ(Foldout)【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2017.2.0f3 はじめに 今回はエディタ拡張で折りたためるGUIを実装する方法のご紹介です! EditorGUILayout.Foldout

エディタ拡張の処理終了時に音を鳴らして知らせる【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2017.2.0f3 はじめに エディタ拡張で重い処理を作った際に、処理が終わった事を知らせて欲しい時ってありますよね?今回はそんな時に、処理の終了を音を鳴らして知らせる方法のご紹介です! ちなみに、処理の…

ビルド時にプラットフォームに合わせてAssetBundleを移動する【Unity】【AssetBundle】【エディタ拡張】

エディタ拡張とは AssetBundleとは この記事でのバージョンUnity 2017.2.0f3 はじめに AssetBundleをローカルで使いたい場合はStreamingAssetsというディレクトリに配置すると使い易いです。 StreamingAssets と呼ばれるフォルダーに配置したファイルはビル…

アセットのアセットバンドル名をプログラムから設定する方法【Unity】【AssetBundle】【エディタ拡張】

AssetBundleとは エディタ拡張とは この記事でのバージョン Unity 2017.1.1f1 はじめに AssetBundleを生成する時にはアセットのアセットバンドル名を設定する必要があります。 Inspector上から手動で設定する事も可能ですが、量が増えてると面倒だし、なによ…

エディタ上で再生を開始するSceneを固定する【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2017.1.1f1 はじめに Unityのエディタ上では再生ボタンを押すと、当たり前ですが今開いているシーンが再生されます。 場合によっては開いているシーンとは別のシーン(初期化用シーン等)から常に再生を開始し…

複数のSceneを順に読み込み、各Sceneの全GameObjectを取得する【Unity】【エディタ拡張】

エディタ拡張とは デリゲートとは この記事でのバージョン Unity 2017.1.1f1 はじめに 今回は複数のSceneを順に読み込み、各Sceneの全GameObjectを取得する方法のご紹介です!文章だと分かり難いですが、例えば以下のようにScene1,2,3があった時に、 Scene1を…

楽にシーンを開く拡張機能を作ってみた(マルチシーン対応)【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2017.1.1f1 はじめに 今回は楽にシーンを開く拡張機能のご紹介です! この機能が特に活躍するのがマルチシーン(Multi Scene Editing)で開発している時で、複数のシーンの切り替えを一瞬で出来るのでかなり便…

エディタ非実行時にプログラムからシーンの開閉を行う【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2017.1.0f3 はじめに 今回はタイトル通り、エディタ非実行時にプログラムからシーンの開閉を行う方法のご紹介です! エディタ拡張で特定のシーンを開きたい、閉じたいなんて時に役立つ話です。 EditorSceneMa…

SpriteAtlasを使い易くする拡張【Unity】【エディタ拡張】【拡張メソッド】

エディタ拡張とは 拡張メソッドとは この記事でのバージョン Unity 2017.1.0f3 はじめに 前回はSpriteAtlasの使い方等について紹介すると同時に、GetSpriteで取得する際に文字列で指定する事や、全Spriteの取得が面倒という問題点をあげました。 なので、今…

エディタ拡張でオブジェクトを生成した場合にシーンを保存する方法【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 5.6.1f1 はじめに 例えば以下のようなコードで、オブジェクトを生成するエディタ拡張を作る事が出来ますが、 using UnityEngine; using UnityEditor; public class GameObjectCreator { [MenuItem("Test/Crea…

ビルド直前にシーンを自動で設定をしようとしてみた【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 5.6.1f1 はじめに 以前に自動でシーンを追加する方法を紹介したのですが、 これとUnity5.6から追加されたIPreprocessBuildを併用すれば、ビルド直前にシーンを自動で設定出来るのでは?と、そんな事を思い付…

オブジェクトの検索、選択、アクティブ切替を楽にする【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 5.6.1f1 はじめに 今回はオブジェクトの検索、選択、アクティブ切替を楽にするエディタ拡張のご紹介!イメージとしては以下のような感じで、 よく使うオブジェクト名を登録しておくと、それをいつでも検索&選…

カテゴリ別、厳選記事一覧【Unity】【エディタ拡張】【C#】

はじめに このブログに投稿した記事の中から、人気があったモノや有益っぽい気がするモノを厳選し、カテゴリ別にまとめてみました!随時更新中! 2017.09.27更新以下の項目を追加 - 変更と3Dモデルの子を減らして、Transformを最適化 - ジャンル別、気になる…

Spriteの分割を透過部分も含めて自動で行う【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 5.5.2f1 はじめに UnityではSprite Editorを使う事で、Spriteの分割が自動で行えますが、透過されている部分は無視されてしまうため、全てを均等に分割するという事は出来ません。 なので今回は、透過部分も…

エディタ実行中だけ開くウィンドウの実装【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 5.5.1f1 はじめに 今回はタイトル通り、エディタ実行中だけ開くウィンドウのご紹介!イメージは以下の通り。 再生ボタンを押した時に表示され、終了ボタンを押した時に非表示にされる感じです。 WindowWhenEd…

独自のショートカットキー(ホットキー)を作成する【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 5.5.1f1 はじめに エディタ拡張で便利な機能を作ったから、瞬時に呼び出せるようにしたい!機能にショートカットキーを設定したい!今回はそんな感じの記事です。 MenuItem

エディター上で選択しているオブジェクトを取得したり、任意のオブジェクトを選択したり【Unity】【エディタ拡張】

エディタ拡張とは デリゲートとは この記事でのバージョン Unity 5.5.1f1 はじめに 今回はエディターでの選択オブジェクトに関する諸々の話です。選択しているオブジェクトの情報を取得したい、任意のオブジェクトを選択したいそんな感じの時に役立つはずで…

Hierarchyの変更を検知する【Unity】【エディタ拡張】

エディタ拡張とは デリゲートとは この記事でのバージョン Unity 5.5.0p1 はじめに 今回はHierarchyの変更を検知する方法のご紹介。なお、エディタ上だけの方法なのであしからず。 EditorApplication.hierarchyWindowChanged

エディタ拡張で進捗状況を表示する【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 5.4.0f3 はじめに 今回はエディタ拡張でなんらかの処理を行っている時に、進捗状況を表示する方法のご紹介です!イメージとしては以下のような感じです。 EditorUtility.DisplayProgressBar

enumを作成するエディタ拡張【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 5.4.0f3 はじめに 以前、定数を管理するクラスを作成するエディタ拡張という記事を書きました。 これはいわゆる定数クラスと呼ばれるクラスを生成するためのエディタ拡張です。 これ単体だとあまり意味はあり…

ビットフラグを使いやすくするアレコレ【Unity】【C#】【エディタ拡張】【拡張メソッド】【属性】

エディタ拡張とは 拡張メソッドとは この記事でのバージョン Unity 5.4.0f3 はじめに タイトルの通り、今回はUnity&C#で開発を行う際にビットフラグを使いやすくするアレコレのご紹介です! ビットフラグ

通知メッセージを表示する【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 5.4.0f3 はじめに 今回はUnityエディタ上で通知メッセージを表示する方法のご紹介!通知メッセージとは以下のような感じのやつです。 EditorWindow.ShowNotification

Inspectorにファイルをドラック&ドロップしてパスを設定する【Unity】【エディタ拡張】【属性】

エディタ拡張とは この記事でのバージョン Unity 5.4.0f3 はじめに 今回はInspectorにファイルをドラック&ドロップしてパスを設定する方法のご紹介です!イメージとしては以下の通り。 PathAttribute

Resources以外からアセットをロードする便利クラス【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 5.4.0f3 はじめに 以前、Resources以外からアセットをロードする方法を紹介しました。 その時、AssetDatabaseを使えばResources以外からもアセットをロードできるが、Resources.LoadAllのようにディレクトリ…

PlayerPrefsをリセットするメニューを追加する【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 5.3.4f1 Personal はじめに 今回はタイトル通り、PlayerPrefsをリセットするメニューを追加するエディタ拡張の紹介です。 PlayerPrefsResetter

選択したオブジェクトに対する日本語のドキュメントを表示するためのエディターウィンドウ【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 5.3.4f1 Personal はじめに UnityにはHelpというクラスがあります。 Unity ドキュメントにアクセスするためのヘルパークラスです このHelpクラスにあるShowHelpForObjectを使うと対象のヘルプページを開ける…

Inspectorにメソッドを実行するボタンを追加する【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 5.3.4f1 Personal はじめに 特定のメソッドをInspectorから実行できるようにしておくと便利な場合は多々あると思いますが、そんな時に一番楽なのはContextMenuだと思います。 //Inspectorの歯車アイコンにMet…

エディタを実行していない時にOnValidateでDestory【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 5.3.4f1 Personal はじめに 以下のように、エディタを実行していない時にOnValidateでDestoryしようとするとエラーが出ます。 private void OnValidate (){ Destroy (gameObject); } Destroy may not be call…

AssetImporterをAssetPostprocessor以外で使う【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 5.3.4f1 Personal AssetImporter さっそくですが、AssetImporterをAssetPostprocessor以外で使う場合はAssetImporter.GetAtPathを使ってパスからAssetImporterを取得します。 using UnityEditor; //Assets直…

Resources以外からアセットをロードする【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 5.3.4f1 Personal はじめに 今回はResourcesディレクトリ以外から何かしらのアセットをロードする時の方法です。なお、エディタ上でしか機能しないのであしからず。つまり、エディタ拡張の時用ですな。 Asset…