(:3[kanのメモ帳]

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

(:3[kanのメモ帳]

エディタ拡張

Unityエディタを再生する前に、シーンに問題ないか検証する【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2018.4.1f1 はじめに 今回は「シーンを再生する前に問題がないかの検証を挟みたい」という場合の話。 イメージとしては以下のような感じ。 なお、記事中の画像は以下のアセットを使っております。 SceneVerif…

特定のシーンだけ別のシーンから再生されるようにする【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2018.4.1f1 はじめに 今回は「このシーンで再生ボタンを押したら、違うシーンを再生してほしい!」みたいなちょっとトリッキーな話。 以前に、どのシーンからでも再生を開始するシーンを固定するという記事は…

特定のシーンだけ再生出来ないようにする【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2018.4.1f1 はじめに 今回は「このシーンは再生はしてほしくない!」みたいなシーンがある場合にそもそも再生出来ないようにするというちょっとトリッキーな話。 イメージとしては以下のような感じ。 ちなみ…

HierarchyやProjectで選択していたObjectを記録し、Inspectorの戻ると進む機能を追加する【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2018.4.1f1 はじめに Unityでは選択しているオブジェクトの内容がInspectorに表示されますが、 このInspectorで前表示していたやつを表示するショートカットつまり、戻ると進む機能があったら便利かもな〜と…

エディタ拡張で確認するためのウィンドウであるEditorUtility.DisplayDialogとDisplayDialogComplex【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2018.4.1f.1 はじめに 以前、エディタ拡張時に使える2つの選択肢を出して確認するためのウィンドウを自分で実装してみたという感じの記事を書きました。 ConfirmationEditorWindow.Open( title : "ログ確認…

「はい」と「いいえ」など、2つの選択肢を出して確認するためのウィンドウ【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2018.4.1f1 はじめに エディタ拡張で何かをする前に「〇〇しますか?」のような確認が欲しいみたいな事はよくありますが、残念ながらUnityにそういう標準機能はありません。(もしあったらご一報頂けると幸い…

OdinとCustomEditorを併用する方法【Unity】【アセット】【Odin】【エディタ拡張】

エディタ拡張とは 属性とは この記事でのバージョン Unity 2018.4.0f1 Odin 2.0.20 はじめに 色々な属性を追加して、Inspectorを使いやすくしたり、 シーン内を検証し、Inspectorでの設定に問題のあるオブジェクトを見つけたりも出来るOdinですが、 CustomEd…

エディタ再生中に変更した値を、再生終了後もそのまま保持する属性【Unity】【エディタ拡張】【属性】

エディタ拡張とは 属性とは この記事でのバージョン Unity 2018.4.01 はじめに UnityではInspector上で色々な値を変える事が出来ますが、基本的に再生中に変更した値は、再生終了時に元に戻ります。 コンポーネントの右上にある歯車から、再生中にCopy Compo…

enumをInspectorで設定する際、ポップアップの表記を日本語などに自由に変える方法【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2018.3.4f1 はじめに 今回はenumをInspectorで設定する際、ポップアップの表記を日本語などに自由に変える方法の紹介です! イメージとしては以下のような感じ enumのポップアップの拡張

エクセルやスプレッドシートを自動でScriptableObjectに変換するUnity-Excel-ImporterとUnity-QuickSheetの使い方と比較【Unity】【ScriptableObject】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2018.3.4f1 はじめに エクセルやスプレッドシートでデータをまとめて、ScriptableObjectに変換して使うというのはUnityではよくあります。 実はその変換部分を自動でやってくれるアセット(?)の有名所にUnity-…

「描画範囲が足りなければスクロール」を実装するたった3行のコード【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2018.3.0f2 はじめに Unityのエディタ拡張で何かしらの機能を作る際、ウィンドウを作る事はよくありますよね。 ただ、ウィンドウのサイズは人や状況によって変わってくるので「描画範囲が足りなければスクロ…

Unityエディタの左上に独自の機能を追加出来るEditorTool【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2019.1.0b3 はじめに 先日、面白そうなエディタ拡張のツイートを見かけました。 In Unity 2019.1 alpha, there is a new EditorTools API.I should probably find a good use for this, but for now itworks …

プロジェクト内にある全シーンを表示し、任意のシーンの再生や読み込み、選択が簡単に出来る拡張機能【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2018.2.17f1 Unity 2018.3.0f2 はじめに 前にエディタ上でもScenes in Buildの一番上に登録されているシーンから再生を開始する拡張機能や、 楽にシーンを開く拡張機能を作って紹介しました。 これらを合わせ…

エディタ上でもScenes in Buildの一番上に登録されているシーンから再生を開始する(再生が終わったら再生前に開いていたシーンに戻る)【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2018.2.17f1 はじめに Unityのエディタ上で再生ボタンを押すと、当たり前ですが今開いているシーンが再生されます。 今回はエディタ上でもScenes in Buildの一番上に設定されているシーン、つまり実機上で最…

SpriteAtlasをプログラムで操作するための拡張クラスSpriteAtlasExtensions【Unity】【SpriteAtlas】【エディタ拡張】

SpriteAtlasとは エディタ拡張とは この記事でのバージョン Unity 2018.2.17f1 はじめに 今回はSpriteAtlasをプログラムで操作するための拡張クラスSSpriteAtlasExtensionsを使ってみようという感じの記事です。 ちなみに以前SpriteAtlasの記事を書いた時に…

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を中心に様々なエディタ拡張用のアセットが公開されています。 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 (+ボタンを押した時…