(:3[kanのメモ帳]

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

(:3[kanのメモ帳]


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


エディタ拡張

エディタの上部のUI(ToolBar)にTime.timeScaleを操作出来るスライダーを表示する拡張【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 6000.3.2f1 はじめに Unity6.3からエディタの上部にあるToolBarと呼ばれる部分のUIを、簡単に移動、非表示出来るようになり、 プログラムでの拡張も簡単に出来るようになりました。 今回はその拡張を使って、…

エディタの上部のUI(ToolBar)をプログラムで拡張する方法【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 6000.3.2f1 はじめに Unity6.3からエディタの上部にあるToolBarと呼ばれる部分のUIを、簡単に移動、非表示出来るようになりました。 そしてこのToolBarはプログラムで拡張することも可能なので、今回はその紹…

画像の分割設定を同期するエディタ拡張 【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 6000.1.11f1 はじめに UnityではMultipleモードを使うことで、1枚の画像に複数のSpriteを設定出来ます。 サイズなどを指定し、自動で分割も出来るのでかなり便利なのですが、 キャラクターの色違いの画像があ…

Scene上だけ非表示にしたり、選択できないようにするSceneVisibilityManager【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 6000.0.42f1 はじめに UnityはHierarchyの左側のアイコンを押すことで、Sceneビュー上で非表示にしたり、選択できないようにしたり出来ます。(切り替えてもGameビュー上では普通に表示される) 今回はこれをプ…

複数の画像をまとめて1枚の画像にして保存するエディタ拡張【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 6000.0.34f1 はじめに ゲーム開発では小さい画像をそのまま使うという事は少なく、だいたい大きな画像にまとめて使います。そしてUnityでは画像をまとめたい時は、基本的にSpriteAtlasを使います。 ただ、Tex…

Unityの再生/停止に合わせてApple Musicを自動停止/再開するエディタ拡張【Unity】【エディタ拡張】【Mac】

エディタ拡張とは この記事でのバージョン Unity 6000.0.34f1 はじめに 好きな音楽を掛けながらゲーム開発をしていると、ゲームを再生した時にゲームの音と重なってしまうみたいな事があります。 今回はそんな問題を解決する「Unityの再生/停止に合わせてApp…

Unityエディタの全ての音がミュート(無効)になってるかの判定と切り替え【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 6000.0.34f1 はじめに UnityはGameビューのスピーカーのマークから、全ての音をミュート(無効)に出来ます。 今回はこのミュートが有効になってるかプログラムで確認したり、プログラムからミュート状態を変更…

特定のアセットの変更や移動、削除を禁止したり確認を出したり出来る AssetModificationProcessor【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 6000.0.34f1 はじめに UnityはAssetPostprocessorを使えば、アセットが変更され後の処理を実装する事可能ですが、 あくまで変更された後なので、変更をキャンセルしたりはできません。 という事で今回は、ア…

ビルド時にシーンに対して処理を行える IProcessSceneWithReportのOnProcessScene【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2022.3.32f1 はじめに Unityでゲームを作ってる際に、「ビルド時に特定のオブジェクトだけ消したい」「ビルド時にシーンのオブジェクトやコンポーネントをチェックしたい」というようにビルド時にシーンに対…

エディタ上に折れ線グラフを表示する【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2022.3.32f1 はじめに Unityのエディタ拡張で、値の推移を確認するためにグラフを表示したいという事があり、ちょっと調べてみると以下の記事の方法で実現できそうでしたが、残念ながら汎用的に使える感じで…

Unity上でメッシュの一部をテクスチャで指定して削除出来る無料ツール「MeshDeleterWithTexture」【Unity】【エディタ拡張】

この記事でのバージョン Unity 2022.3.21f1 はじめに 今回はUnity上でメッシュの一部をテクスチャで指定して削除出来る無料(MITライセンス)ツール「MeshDeleterWithTexture」の紹介です! なお、記事中では以下のアセットを使っています。 Riko - Unity Asse…

Unity上で3Dキャラクター(アバター)の服の着せ替えるが簡単に出来る無料ツール「キセテネ」【Unity】【エディタ拡張】

この記事でのバージョン Unity 2022.3.21f1 はじめに 今回はUnity上で3Dキャラクター(アバター)の服の着せ替えが簡単に出来る無料(MITライセンス)ツール「キセテネ」の紹介です! もともとはVRChatのアバター用ですが、Unityのエディタ拡張なのでゲームのキ…

SpriteAtlasから取得(Clone)した画像を使ってるImageを検索するエディタ拡張【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2022.3.16f1 はじめに 以前、シーンを開いた時等に「Could not extract GUID……」や「Broken text PPtr. GUID……」とエラーが出る場合の原因が、Unityを再生していない時にエディタ拡張でSpriteAtlasからSprite…

Prefab Modeになっているか(プレハブを開いてるか)を判定する方法【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2022.2.8f1 はじめに UnityではPrefabをダブルクリック等で開くと、そのPrefabだけの画面になり、さらにHierarchyにPrefabの名前が表示されるいわゆるPrefab Modeになります。 今回はこのPrefab Modeになって…

HDR(ハイダイナミックレンジ)をエディタ拡張で使う方法【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2022.2.8f1 はじめに 前に「HDR(ハイダイナミックレンジ)をInspectorやプログラムで使う方法」という記事を書きましたが、 今回はそのエディタ拡張バージョンです! HDR(ハイダイナミックレンジ)をエディタ拡…

エディタを再生していない時にExecuteAlways(ExecuteInEditMode)でUpdateを実行し続ける方法【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2021.3.11f1 はじめに UnityではExecuteAlways(ExecuteInEditMode)を使う事でエディタが再生していない時でもAwakeやUpdate等のメソッドが実行出来ます。 ただし、Update等の更新処理はSceneに変化があった時…

SceneViewでマウス(トラックパッド)のボタンを離した時のイベント(EventType.MouseUp)が発生しない時の対処法【Unity】【エディタ拡張】

この記事でのバージョン Unity 2021.3.11f1 はじめに Unityエディタが再生してない時でもMonoBehaviourの各種メソッドが実行出来るExecuteAlwaysとシーンビューでイベントが発生した時を検知出来るSceneView.duringSceneGuiを組み合わせる事でSceneViewでマ…

ExecuteInEditModeを使うとPrefabモードで再生した時に「Risk of unwanted modifications」と警告が出るので後継のExecuteAlwaysを使おうという話【Unity】【エディタ拡張】【属性】

エディタ拡張とは 属性とは この記事でのバージョン Unity 2021.3.11f1 はじめに UnityではExecuteInEditModeという属性をMonoBehaviourを継承したクラスに付ける事で、プレイモード(Unityエディタ再生中)でなくともStartやUpdateを実行する事が出来ます。 u…

コンポーネントやその値のコピーとペーストをプログラムから行う方法【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2021.3.4f1 はじめに UnityではInspectorの⁝からコンポーネントをコピーしたりペーストしたり出来ますが、 今回はこれをプログラムから行う方法の紹介です! UnityEditorInternal.ComponentUtility

特定のEditorWindowが開いてるかどうか確認したい時はHasOpenInstances【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2021.3.4f1 はじめに Unityのエディタ拡張には簡単にウィンドウを作る事が出来るEditorWindowがあります。 using UnityEditor; /// <summary> /// EditorWindowのサンプル /// </summary> public class EditorWindowSample : Edi…

現在再生しているシーンがビルドに設定されているか【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2020.3.25f1 はじめに 今回はタイトル通り現在再生しているシーンがビルドに設定されているかを判定する方法です! 「実際にリリースする時に使うシーンだけで処理を行いたい(行いたくない)」みたいな時に役…

Hierarchy上のオブジェクトを任意のPrefabと差し替える【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2021.1.23f1 はじめに UnityはAlt(option)キーを押しながらHierarchy上にPrefabをドラック&ドロップするとオブジェクトを差し替える事が出来ますが、 位置、角度、スケールは配置されてる物の値ではなくPrefa…

Hierarchy上の同じモデル(メッシュ)のオブジェクトを探してまとめる【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2020.3.25f1 はじめに 今回は「Hierarchy上の同じモデル(メッシュ)のオブジェクトを探してまとめる」という処理をするエディタ拡張を作ったのでその紹介記事です! 使い所としては買ったアセットのサンプルで…

エディタ拡張で画像表示(一部だけの表示も)【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2020.3.25f1 はじめに 今回はタイトル通りエディタ拡張で画像を表示する方法の紹介で、画像の全体を表示する物と、一部分だけ表示する2パターンを紹介します。 なお、記事中の画像は以下のアセットを使ってお…

Missing (Mono Script)となったコンポーネントをプログラムで削除する方法 【Unity】【エディタ拡張】

この記事でのバージョン Unity 2021.1.16f1 はじめに 今回は元のスクリプトファイルが無くなり、Missing (Mono Script)となったコンポーネントをプログラムで削除する方法の紹介です! RemoveMonoBehavioursWithMissingScript

シーンビューにちょっとした情報を載せたい時はHandles.Labelが便利【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2021.1.16f1 はじめに 今回は「現在のHPを簡単に確認出来るようにしたいけどユーザに見せたいわけじゃない!」みたいなシーンビューにちょっとした情報を載せたい時に役立つ記事です! なお、記事中では以下…

指定したマテリアル(Material)が付いてるレンダラー(Renderer)の検索や置換をするエディタ拡張【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2019.4.17f1 はじめに 指定したマテリアルが付いてるレンダラーの検索や、検索したレンダラーのマテリアルを置換する事も可能なエディタ拡張を作ったので、今回はそれの紹介記事です! イメージとしては以下…

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

エディタ拡張とは この記事でのバージョン Unity 2019.4.17f1 はじめに 今回は「Terrainで作った地形と同じ形のオブジェクトを作る」という感じの記事です。なお何のためにそんな事をするのかと言うと、ワープ時のテレポート先用のColliderにTerrainに合わせ…

Hierarchy上で非アクティブなオブジェクトをエディタ上で検索する拡張【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2019.4.17f1 はじめに 以前、Hierarchy上の非アクティブなオブジェクトを検索し、取得する方法という記事を書いたのですが、 これはプログラムで検索と取得をする方法で、エディタ上でパッと見つけたい時には…

ScriptableObject等のアセットの名前をプログラムから変更したい時はAssetDatabase.RenameAsset 【Unity】【エディタ拡張】

エディタ拡張とは この記事でのバージョン Unity 2019.4.17f1 はじめに Unityのアセットの名前はProject上で簡単に変える事が出来ますし、しかも名前を変えても他からの参照が切れたりもしません。 今回はこれと同じ事をプログラムでやりたい時の話です! As…