(:3[kanのメモ帳]

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

(:3[kanのメモ帳]


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

    

エディタ拡張

Steamの実績のローカライズ(ローカリゼーション、翻訳)に使うVDFファイルをエクセルやスプレッドシートのデータから変換して作成【Unity】【Steam】【エディタ拡張】

この記事でのバージョン Unity 2019.4.1f1 NPOI 2.2.1 はじめに Steamの実績のディスプレイ名(名前)や説明はローカライズ可能ですが、一個一個入力するのは結構大変です。 一括で設定する事も出来るのですが、それにはVDFという聞き慣れない形式のファイルで…

シーン上のモデルを検索しポリゴン数が多い順に表示するエディタ拡張【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2018.4.23f1 はじめに UnityはGame Viewの右上にあるStatsを押すことで現在カメラに映っている範囲でのポリゴン数(Tris)等を表示する事が出来ますが、 残念ながら映ってない所のポリゴン数の合計だったり、そ…

Application.logMessageReceivedでログを取得 【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2018.4.19f1 はじめに UnityのConsoleには様々なログが表示されます。 Debug.Log("普通のログ"); Debug.LogWarning("警告"); Debug.LogError("エラー"); Debug.Assert(false, "アサート"); try { int a = 1, …

EditorUtility.DisplayCancelableProgressBarで途中でキャンセルも出来る進捗状況(プログレスバー)の表示【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2018.4.19f1 はじめに 以前、エディタ拡張で進捗状況を表示するUI、いわゆるプログロレスバーの実装方法について紹介した事がありました。 今回はこれの途中でキャンセルできるバージョンのご紹介です!イメ…

Unityエディタでプロジェクトを(初回)起動した時の判定【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2018.4.17f1 はじめに 今回はUnityエディタでプロジェクトを「(初回)起動した時に処理をしたい」場合の実装方法の紹介です。なお同様の方法で、逆に「(初回)起動時だけは処理をしない」みたいな実装も可能で…

Unity Recorderを使ってエディタを再生した時に自動で録画を行う【Unity】【アセット】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2018.4.13f1 UnityRecorder 2.0.3 はじめに 以前、Unity Recorderというエディタでプレイ中のゲーム内容を記録し、動画やGIFなどの様々な形式で保存が出来るアセットを紹介しました。 Unity Recorder - Asset…

GUIDを用いてアセットを管理する【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2018.4.6f1 はじめに 以前「移動する可能性のある任意のアセットやディレクトリ(フォルダ)のパスを取得する方法」という記事を投稿した際に GUIDで管理する方法を教えてもらいました。 個人的にはGUIDで管理…

移動する可能性のある任意のアセットやディレクトリ(フォルダ)のパスを取得する方法【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2019.2.15f1 はじめに 前回Unityで使えるAudioManagerというものを公開したのですが、 この実装の際にBGMやSEなどのディレクトリへのパスを知りたいという状況がありました。 普通ならAssets/AudioManager_Ka…

SceneView上でクリックした時などのイベントを取得する【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2018.4.8f1 はじめに 今回はタイトル通り今回はSceneView上でのイベントを取得する方法のご紹介です! なお、エディタを再生していても、いなくても取得出来ます。 Event.currentとSceneView.onSceneGUIDeleg…

Addressable Assetsのアドレスの重複を検知する【Unity】【Addressable Assets】【エディタ拡張】

Addressable Assetsとは エディタ拡張とは この記事でのバージョン Unity 2018.4.8f1 はじめに Addressable Assetsのアドレスはファイル名とは別に自由に設定できますが、なんと同じアドレスを設定する事が出来てしまいます。 しかも設定時、ロード時共にエ…

外部からは値が参照出来ない形に実装されているScriptableObject等の内容を無理やり取得する【Unity】【ScriptableObject】【エディタ拡張】【C#】

この記事でのバージョン Unity 2018.4.8f1 はじめに アセットストアのアセットや外部SDKなどをUnityで使う際、ScriptableObjectが使われてる事はよくあります。 そしてそのScriptableObjectの値を使いたいのに、外部からは取得出来ない形に実装されていると…

Addressable Assetsのアドレスとラベルを管理する定数クラスを自動生成する【Unity】【Addressable Assets】【エディタ拡張】

エディタ拡張とは Addressable Assetsとは この記事でのバージョン Unity 2018.4.8f1 Addressables 1.2.4 はじめに Addressable Assets System(AAS)はアセットのロード時にアドレス(文字列)を用います。一応、AssetReference等を使って、文字列を使わない使…

Hierarchy上で選択しているGameObjectを固定する【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2018.4.6f1 はじめに 今回はHierarchy上で選択しているGameObjectを固定する、言い換えると、一つのオブジェクト以外選択できないようにするというトリッキーな話です。 イメージとしては以下のような感じ。 …

ScriptableObjectなどのアセットを、metaファイルを変更せずに上書きする 【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2018.4.6f1 はじめに UnityではAssetDatabaseのCreateAssetを使うことで、アセットを簡単に生成する事が出来ます。 //ScriptableObjectChildというScriptableObjectを作成 var child = ScriptableObject.Crea…

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

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

特定のシーンだけ別のシーンから再生されるようにする【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-…

ビルド(Scenes in Build)に含まれていないシーンをロードするEditorSceneManager.LoadSceneInPlayMode【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2018.3.7f1 はじめに 今回はタイトル通り、ビルド(Scenes in Build)に含まれていないシーンをロードする方法のご紹介です。もちろんビルドに含まれていないシーンなので、実機上ではなくエディタ拡張の話にな…

「描画範囲が足りなければスクロール」を実装するたった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の記事を書いた時に…