ミドリ黄のプログラミングメモノート

主にUnity(C#)を中心としたプログラムの備忘録

エディタ拡張

Unity 1つのpngファイルを分割して保存する

関連記事 使用するスクリプト 使用例 関連記事 複数のpngファイルを1枚に並べて保存する方法について 使用するスクリプト ウィンドウから操作できるように「EditorWindow」を継承しました。 using UnityEngine; using System.IO; using UnityEditor; public …

Unity CSVファイルの読み取り

UnityにおいてCSVファイルの内容をList形式で取得して利用する方法を紹介しています。また、リンクとしてCSVファイルからScriptableObjectを作成する方法やenumを再構築する方法も載せてあります。

Unity 複数のpngファイルをまとめて1つのファイルとして出力する

概要 使用するスクリプト 使用例 概要 1つの画像を複数の画像に分割保存する方法などは調べると結構出てきたのですが、逆に結合する方法はあまり出てこなかったのでまとめてみました。 一応分割する方法の記事も作成しましたので、こちらもよろしくお願いし…

Unity エディタ拡張(非publicリストの各要素に名前を付ける)

目次 目次 導入 作成したクラス Enemyクラス エディタ拡張のためのクラス プログラムの解説 [CustomEditor(typeof("編集したいクラス名"))] serializedObject serializedObject.FindProperty("編集する変数名") void OnEnable() SerializedProperty.arraySiz…

Unity エディタ拡張(PropertyAttributeによるstringの文字制限)

目次 目次 PropertyAttributeとは 今回作成するAttribute StringLengthAttributeクラス StringLengthDrawerクラス 使用例 PropertyAttributeとは Unityでは[SerializeField]やpublicをつけることで変数をinspector上に表示できるが、表示する変数に対して制…

Unity エディタ拡張(publicリストの各要素に名前を付ける)

目次 目次 概要 プログラム例 概要 リストや配列をインスペクター上に表示すると通常は「Element0」、「Element1」などのように表示されるがこの表示を変えられないかと考え、エディタ拡張を行った。 プログラム例 あるクラスでの英語のテストの点数を保存す…

Unity CSVファイルからエディタ上でEnumの再構築

UnityでCSVファイルを読み込み、エディタ上でスクリプト内のEnumの再構築する方法の備忘録

Unity SceneAssetからシーンを切り替えできるようにする

目次 目次 シーンの切り替えの時に発生したジレンマ SceneAssetの使用 解決策 例 シーンの切り替えの時に発生したジレンマ 通常シーンの読み込みはSceneManager.LoadScene("シーン名")などで行う。 しかし、これではシーン名を変更したときにスクリプトを書…

Unity ビルド開始前後での処理

目次 目次 導入 直前に処理を実行する方法 完了後に処理を実行する方法 使用例 発展 導入 Unityにおけるビルドのときに行う処理の記述方法をまとめました。 直前に処理を実行する方法 インターフェースIPreprocessBuildWithReportより、関数OnPreprocessBuil…

Unity エディタ拡張 その1(publicでない変数をIntFieldで表示)

目次 目次 導入 改善案 あとがき 導入 例えば、次のクラス「Monster」があるとします。 public class Monster : MonoBehaviour { public int hp; } 変数"hp"をエディタ拡張でインスペクターに表示するためには、以下のようなクラスを作成する必要があります…

Unity エディタ拡張 CSVファイルからScriptableObjectの作成

概要 スクリプト EditorWindowでCSVファイルを読み込み、ScriptableObjectを作成するクラス(継承して使用) 使用例 CSVファイル Item.csv ItemDataクラス CSVファイルを読み込み、Itemを作成するクラス(ScriptableObjectCreaterを継承) 使用方法 関連記事 概…