読者です 読者をやめる 読者になる 読者になる

(:3[kanのメモ帳]

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

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…

現在のビルドターゲットに合わせてBundle IDを自動更新する【Unity】【エディタ拡張】

エディタ拡張とは デリゲート、イベントとは この記事でのバージョン Unity 5.3.4f1 Personal はじめに UnityはPlay settingsからBundle ID(Bundle Identifier)を設定できますが、各ビルドターゲット(プラットフォーム)ごとに設定はできません。 つまりBundl…

OnPreprocessTextureなどをディレクトリ移動時も実行する【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 5.3.4f1 Personal はじめに OnPreprocessTextureはテクスチャがインポートされた時に実行され、何かしらの処理を自動で行えるメソッドです。同じようなものにOnPreprocessAudio、OnPreprocessModelがあります…

Sprite Packerの設定を自動で行う【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 5.3.4f1 Personal はじめに Unityには複数のスプライトをまとめて使えるSprite Packerという機能があります。 これを使うことでSetPass calls(旧DrawCall)を減らし、処理を軽くすることが出来ます。 このSpri…

ビルドするシーンを自動で設定【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 5.3.4f1 Personal はじめに Unityでは使用するシーンはあらかじめ登録しておかなければなりません。 また、登録されていないのにロードしようとするとエラーが出ます。 手動で登録するとミスがおこるかもしれ…

再生開始など、PlayModeの変化を取得【Unity】【エディタ拡張】

エディタ拡張とは デリゲートとは この記事でのバージョン Unity 5.3.4f1 Personal はじめに 再生開始した時など、エディターの状態が変わった事を知りたい場合にはEditorApplication.PlaymodeStateChangeというデリゲートが使えます。 以下のようにPlaymode…

スクリプトからエディタを再生したり、停止したり、ポーズしたり、再開したり。【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 5.3.4f1 Personal はじめに 以前、スクリプトからエディタの再生を停止する方法が分からず、代替案としてエディタを強制終了するという方法をご紹介しました。 ありがたいことに、その記事のコメントにてスク…

スクリプトからUnityエディタを終了させる【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 5.3.1f1 Personal EditorApplication.Exit スクリプトからUnityのエディタを終了させたい場合は、EditorApplication.Exitを使います。 using UnityEditor; //必要! using UnityEngine; public class NewBeha…

UISpriteのAtlasを自動で再設定する 【Unity】【NGUI】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 5.3.1f1 Personal NGUI 3.9.7 はじめに NGUIのアトラスを分割して新たなアトラスを作った場合など、設定していたアトラスがなくなった場合、UISpriteのAtlasはNoneになります。 しかし、新たにアトラスを設定…

Scripting Define Symbolsを劇的に使いやすくするエディタ拡張【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 5.2.2f1 Personal 目次 目次 はじめに Scripting Define Symbols 導入 使い方 シンボルの追加、削除 Symbolに対応する値 Symbolの無効と削除 Reset All Invalid All Valid All Delete 設定ファイルの保存場所…

プロジェクト内でデータを保存【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 5.1.0f3 Personal はじめに 以前、プロジェクトをまたいでデータを保存する記事を書きましたが、 今回はプロジェクト内でデータを保存する方法です。今回も、基本的にエディタ拡張で使う機能だと思われます。

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

エディタ拡張とは この記事でのバージョン Unity 5.1.0f3 Personal はじめに 以前、XcodeAPIを使って諸々の設定をするXcodeProjectUpdaterというものを作ったのですが、 文量が多くなってしまったため、XcodeAPIを実際にどう使っているかという説明を省きま…

C#だけで簡単にXcodeプロジェクトの自動設定【Unity】【XcodeAPI】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 5.1.0f3 Personal はじめに UnityからXcodeのプロジェクトを書き出す後に、Frameworkの追加やURLスキームの設定など手動でやるのが面倒な事ってありますよね。 んで自動化しようという話になるんですけど、な…

Resources内にあるファイルとディレクトリへのパスを自動作成する【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 5.1.0f3 Personal はじめに Resources.Loadを使ってPrefabからインスタンスを作る、みたいな事はよくあると思います。しかし、Prefabのパスを文字列で指定するのが難点で、どうにかしてパスを自動作成したい…

Preferenceに開発者情報の設定を追加する【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 5.1.0f3 Personal はじめに Unity - PreferenceからUnityの色々な設定が出来ますが、エディタ拡張でここに独自のメニューを追加する事が出来るそうです。 今回はこのPreferenceから開発者名を登録するエディ…

プロジェクトをまたいでデータを保存【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 5.1.0f3 Personal はじめに エディタ拡張をしている時に、設定を保存したい時があります。 そんな時はテキストファイル等に書き出して保存する事も出来ますが、余計なファイルが増えますし、なによりそのプロ…

non-readable 'TextureName' texture is not allowed!【Unity】【エディタ拡張】【トラブルシューティング】

エディタ拡張とは この記事でのバージョン Unity 5.1.0f3 Personal はじめに 今回はテクスチャを読み込み、インスタンス化しようとした際にnon-readable 'TextureName' texture is not allowed!と表示される場合の対処法です。 Texture texture = Instantiat…

オブジェクトに合わせてTerrainを作る【Unity】【エディタ拡張】

この記事でのバージョン Unity 5.1.0f3 Personal オブジェクトに合わせてTerrainを作る ちょっと面白いものを見つけたのでご紹介。 例えばこういうオブジェクトがあった時に、 San Francisco House これに合わせてTerrainが作れるというもの。

テンプレメニューを自動で更新する【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 4.6.3f1 はじめに 前回、既存のスクリプトからテンプレを作れるようにはなったけど、その後にCreateメニューに表示するためにコード書くのめんどくね?って所で終わりました。 スクリプトからテンプレを自動…

スクリプトからテンプレを自動作成【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 4.6.3f1 はじめに 前回、複数のテンプレを使えるようにはなったけど、そもそもテンプレ作るのめんどくね?って所で終わりました。 スクリプトのテンプレを複数使えるようにしつつ、作成日や作成者名等も追加…

スクリプトのテンプレを複数使えるようにしつつ、作成日や作成者名等も追加する【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 4.6.3f1 はじめに 以前、スクリプトを新規作成する時に使用するテンプレートの変更方法を紹介しました。 スクリプトとコードのテンプレート【Unity】 - (:3[kanのメモ帳] ただ、このテンプレートは一つしか登…

拡張したインスペクタの項目を同時に編集【Unity】【エディタ拡張】

エディタ拡張とは はじめに 以下の様にInspectorに表示される内容は独自に拡張する事ができます。 詳しくは以下の記事を参照の事。 インスペクタで設定できる値を動的に変更する【Unity】【エディタ拡張】 - (:3[kanのメモ帳] しかし、このままでは複数のオ…

オーディオのファイル名を定数で管理するクラスを自動作成する【Unity】【エディタ拡張】【LINQ】

エディタ拡張とは LINQとは AudioNameCreator 以下の記事の改良版です! オーディオのファイル名を定数で管理するクラスを作成するエディタ拡張【Unity】【エディタ拡張】 - (:3[kanのメモ帳] 改良点は LINQを使ってDictionaryを作るように 定数クラスのファ…

シーン名、タグ名、レイヤー名、ソーティングレイヤー名の定数を自動作成&更新【Unity】【エディタ拡張】【LINQ】

各設定に更新がある度に自動で定数クラスも更新してくれるエディタ拡張を作りました。 シーン名を直書きしたり、自分で定数を宣言しなくても大丈夫! しかも自動で更新されるので、シーン名を書き換えたり、ビルド対象から外した時には エラーが出て教えてく…

任意のディレクトリにあるファイルが変更された時に処理を行う【Unity】【エディタ拡張】【LINQ】

AssetPostprocessorを継承し、OnPostprocessAllAssetsを実装すると、Assets内でファイルが追加、変更、削除、移動される度に実行されるようになります。 この時、その状態が変わったファイルが特定のディレクトリ以下であるかを知りたい場合があると思います…

Sorting Layer一覧を取得する【Unity】【エディタ拡張】【C#】

エディタ拡張とは Sorting Layers 簡単に言うとSorting Layersとは2D部分のLayersです。設定はLayersやTagsと同じく、[Edit]-[Project Settings]-[Tags and Layers]から行えます。 同じ場所で設定出来るLayersやTagsは以下の方法で一覧を取得出来るのですが…

シーンの番号と名前の変換【Unity】【エディタ拡張】

Unityでは各シーンに対して以下のように番号がふってあります。 しかし、調べた限りだとこのシーン名とシーン番号の変換は出来ないっぽいです。 なので、今回はこの変換を行ってみます。

定数を管理する様々なクラスを作成するエディタ拡張【Unity】【エディタ拡張】

定数名とその値をまとめて入力したら、定数を管理するクラスを書き出してくれるクラスがあったら良いなーと思ったので作ってみました。

シーンにあるオブジェクトのデータを保存し、別シーンで利用する【Unity】【エディタ拡張】

今回の目的は、「インスペクター上で設定した値をデータファイルに保存し、そのデータから別シーンに同じものを生成する」です。 今回もモンスターの能力で説明すると、設定用シーンで各モンスターの能力を設定し、本番用シーンで設定したのと同じモンスター…

インスペクタで設定できる値を動的に変更する【Unity】【エディタ拡張】

モンスターの種類に合わせて、体力などのインスペクターに表示される設定項目が変わる。というのが今回の目的です.

オーディオのファイル名を定数で管理するクラスを作成するエディタ拡張【Unity】【エディタ拡張】

追記:改良版作りました! オーディオのファイル名を定数で管理するクラスを自動作成する【Unity】【エディタ拡張】【LINQ】 - (:3[kanのメモ帳] エディタ拡張とは AssetPostprocessor,インポート時の設定変更【Unity】 - (:3[kanのメモ帳]とりあえず↑こん…

AssetPostprocessor,インポート時の設定変更【Unity】

インポート設定変更 オーディオファイルをインポート時に2Dサウンドに出来ないか悩んでいた所,助言を頂いた! @Kan_Kikuchi Editor拡張すればインポート時の設定を任意に変えられますよ! http://t.co/q8rnjqFuwi こことか、AudioImporterとかで調べればわ…