UnityEditor
FBX内のMeshを複製して独立したAssetとして保存する方法です。
エディタ拡張におけるSubAssetの取り扱い方のまとめです。
FBXからPrefabを新規作成、更新するためのスクリプトです。 FBXを更新すると関連するPrefabのコンポーネントをいちいち貼りなおさないといけなかったりするので、それを簡単にするためのツールです。
スクリプトからPrefabを操作する方法です。 Unity2018.3からはPrefab workflowが大きく変わったのでこのあたりもいろいろと変わってると思うのですが、 とりあえず2018.2までの情報です。
UnityでAssetにLabelをつけて管理する方法です。
コンポーネントのContextMenuからコンポーネントをコピペできます。 この記事ではこれらをスクリプトから実行する方法を紹介します。
Unityでシェーダを切り替えると、切替前のシェーダのプロパティがマテリアルにシリアライズされたままになります。 つまりシェーダを切り替えまくると無駄なプロパティによりマテリアルのファイルサイズが大きくなっていきます。 この記事ではこれを解消する…
UVや頂点カラーや法線といったメッシュが持つ情報を可視化したいことがあります。 シェーダを書けばいいだけなのですが、毎回書くのは面倒なので汎用的なものをつくりました。
PlaneのMeshを簡単に作るためのWindowを作るコードです。 外部ツール使うまでもなく簡単に作りたいときに。
実行ボタンがついたシンプルなウィンドウをScriptableWizardを使って実装する方法です。
レンダーターゲットに書き込むチャンネルを制御するカラーマスクの使い方を紹介します。 またマテリアルのインスペクタからカラーマスクを指定できるようにしてみます。
マテリアルのインスペクタを拡張する方法と、よく使うプロパティ描画方法などをまとめました。
Enumの各要素にAttributeをつけることで要素ごとに情報を付加します。
複数のEnumをあたかも一つのEnumのPropertyFieldのように扱えるPropertyAttributeです。
開かれているEditorWindowを取得する方法です。
Unityでインスペクタに表示する変数のヘルプをTooltipを使って書くことがあると思います。 これあまり見ないし、そもそも設定されているかどうかわかりづらすぎませんか? という不満が前々からあったので独自のTooltipを軽く作ってみました。
カプセル型のGizmoを描画する方法です。
FBX Importerなどで使われているタブ表示を実装する方法です。
TooltipのようにWindowの上に出てくるポップアップを実装する方法です。
MonoBeahaviourやScriptableObjectではないクラス・構造体のインスペクタ表示をカスタムする方法です。 PropertyDrawerを用いて実装します。
Unityのビルトインシェーダをみていると、どうやら内部的にディザ抜き用のテクスチャをもっていることがわかります。 これを使えたら便利そうなのでどんなテクスチャなのか見てみます。
エディタからシリアライズされたフィールドを更新する場合いくつか方法があります。 いずれかの方法を取らないとオブジェクトがDirtyであるとマークされず編集内容が保存されなかったりするのでまとめてみます。
MenuItemをショートカットキーにより実行する方法です。
Inspector上でコンポーネントを右クリックしたり、 歯車ボタンをクリックしたときに出てくるメニューを追加する方法です。
キューブマップを簡単に作るためのエディタ拡張です。 Unity2017.4.1
自分用メモ。随時更新。
MatCapテクスチャを簡単に作るためのエディタ拡張を作ったので公開します。
シーンビューにIMGUIのウィンドウを表示する方法です。
Texture2Dをリサイズする方法です。 意外と面倒だったのでメモ。
スクリプトで生成したTexture2Dをアセットとして保存する方法です。