(:3[kanのメモ帳]

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

(:3[kanのメモ帳]


本ブログの運営者kan.kikuchiが個人で開発したゲームです!

    

エディタ拡張

Unitypackageの使い方(インポート)や作り方(エクスポート)、プログラムでの操作方法【Unity】【エディタ拡張】

エディタ拡張とは デリゲート(Delegate)やイベント(Event)とは この記事でのバージョン Unity 2018.2.17f1 はじめに 今回はタイトル通りUnitypackageの使い方(インポート)や作り方(エクスポート)、プログラムでの操作方法をまとめてみた感じの記事です。 Uni…

どんな人&プロジェクトにもオススメできる、Unityの基本機能(ウィンドウ)を拡張するアセット6選【Unity】【アセット】【エディタ拡張】

この記事はUnity #3 Advent Calendar 2018の12日目の記事です。 この記事でのバージョン Unity 2018.2.17f1 はじめに Unityはその拡張性の高さとしやすさから、Asset Storeを中心に様々なエディタ拡張用のアセットが公開されています。 Unity Asset Store - …

アセンブリごとのコンパイル時間を計測したり、一定時間を越えたら警告を出したり【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2018.2.17f1 はじめに Unityではコードを変更するたびに自動でコンパイルがされます。(コンパイルしている時は右下にグルグルが出ている) 当然、コンパイル時間はコードが多いほど増していくので、プロジェク…

メニューを追加するための属性「MenuItem」は意外と多機能【Unity】【エディタ拡張】【属性】

エディタ拡張とは 属性とは この記事でのバージョン Unity 2018.2.14f1 はじめに Unityのエディタ拡張にはMenuItemというメニューを追加したい時に使える属性があります。このMenuItemは簡単かつ便利なので、知っていおいた方が良いですし、エディタ拡張の入…

CompilationPipelineを使ってコンパイルの開始と終了を検知【Unity】【エディタ拡張】

エディタ拡張とは デリゲート(Delegate)やイベント(Event)とは この記事でのバージョン Unity 2019.1.0a8 はじめに 今回はコンパイルの開始と終了を検知する方法のご紹介です。 ちなみにUnityではプログラムを修正し、コンパイルが開始されると右下にアイコ…

GameViewの設定をプログラムから作成、また設定するヘルパークラスと色々な端末のサイズに変更できるエディタ拡張【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2018.2.14f1 はじめに UnityのGameViewは左上からプルダウン比率やサイズを変更や設定を行う事が出来ます。 今回はこれをプログラムから、つまりエディタ拡張で操作したい場合の話です。 GameViewSizeHelper

Scripted Importerを使ってUnityが対応していない拡張子のファイルへの対応【Unity】【エディタ拡張】【Unite 2018 Tokyo】

エディタ拡張とは この記事でのバージョン Unity 2017.4.6f1 はじめに 今回はUnityのScripted Importerという機能を使って、Unityが対応していない拡張子のファイルへの対応を行おうというお話です。 イメージとしては以下のような感じ。(.sampleという拡張…

アセットのコピー(AssetDatabase.CopyAsset VS File.Copy)【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2017.4.0f1 はじめに Unityではアセット(ファイル)をコピーしたいと思った時に簡単に実装出来る方法が二つあります。一つはUnityの機能であるAssetDatabase.CopyAsset、もう一つはC#(.NET)の機能であるFile.C…

エディタ実行中にTime.timeScaleを任意の値に変更する【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2017.3.1f1 はじめに UnityではTime.timeScaleを操作する事によって時間の進み具合を変更出来ます。 このTime.timeScaleを好きな時に好きな値に変更したい!好きなタイミングでスローモーションや早送りした…

インポートされたファイルの拡張子を自動で変換する【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2017.3.1f1 はじめに インポートされたファイルの拡張子を自動で変換する便利クラスExtensionConverterを作ったので、今回はこれをご紹介! ちなみに既にインポート済みのファイルの拡張子を変換する事も可能…

再生開始や一時停止など、エディタの状態変更を取得(Unity2017版)【Unity】【エディタ拡張】

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

Audio Clipの設定を(プラットフォーム毎に)プログラムから行う【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2017.2.0f3 はじめに Audio Clipは各設定値を確認する事は可能ですが変更する事は出来ません(getterしかない) AudioClip bgm = Resources.Load<AudioClip>("BGM"); bool loadInBackground = bgm.loadInBackground; //OK </audioclip>…

StartCoroutine(MonoBehaviour)を使わずにコルーチンを実行する【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2017.2.0f3 はじめに Unityでは通常、コルーチン(Coroutine)を実行したい場合は以下のように、MonoBehaviourのStartCoroutineを使って実行します。 private void Start () { //StartCoroutineを使ってコルー…

日本語から変数や関数名を生成するエディタ拡張【Unity】【エディタ拡張】

この記事はUnity Advent Calendar 2017の11日目の記事です。 エディタ拡張とは この記事でのバージョン Unity 2017.2.0f3 はじめに プログラミングの難所の一つに、変数や関数の命名がありますが、その命名を手助けしてくれるcodicというツール(サービス)が…

エディタ拡張で配列の入れ替えが簡単に出来るReorderableListの使い方と全コールバック【Unity】【エディタ拡張】

エディタ拡張とは デリゲートとは この記事でのバージョン Unity 2017.2.0f3 はじめに 今回はエディタ拡張で要素の追加や入れ替えの出来るReorderableListのご紹介です! 目次 はじめに 目次 ReorderableList コールバック onAddCallback (+ボタンを押した時…

Inspectorを圧倒的に使いやすくするOdin【Unity】【アセット】【Odin】【エディタ拡張】【属性】

エディタ拡張とは 属性とは この記事でのバージョン Unity 2017.2.0f3 はじめに 今回はInspectorを圧倒的に使いやすくするOdinというアセットの紹介です! Odinは導入するだけInspectorの見栄えを良くし、更に80以上の属性を追加する事でInspectorを圧倒的に…

エディタ拡張で折りたたみ(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】【SpriteAtlas】【エディタ拡張】【拡張メソッド】

SpriteAtlasとは エディタ拡張とは 拡張メソッドとは この記事でのバージョン 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#】

https://* はじめにこのブログに投稿した記事の中から、人気があったモノや有益っぽい気がするモノを厳選し、カテゴリ別にまとめてみました! 目次 目次 Unityの機能 Unityの設定 Unityでの実装 Unity用便利クラス エディタ拡張 エディタ拡張で作った便利機…

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

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