UnitySearchで困ったところ

はじめに 環境 困ったところ filterId を検索フィールドに入力した時にのみ動作してほしい Table View のカラムを追加したい カラムの表示を変更したい 要素を右クリックした時のコンテキストメニューを追加したい 通信などで遅延して要素を表示したい 検索…

【Unity】ヘルプボックスを表示する PropertyDrawer

はじめに インスペクター上のフィールドにヘルプボックスを表示するアトリビュートを作成しました。 使用イメージ [HelpBox(@"Help Box Help Box Help Box")] [SerializeField] private float m_Value; ソースコード HelpBoxAttribute using System; using U…

【Unity】背景をアルファ0でスクリーンショットを撮る

はじめに ScreenCapture クラスを使用して ゲーム画面をキャプチャすることができますが, 背景を透過してキャプチャしたかったのでクラスを作成しました。 docs.unity3d.com 完成図 ゲーム画面 キャプチャ結果 コード public static class ScreenCapture { p…

【Unity】回転する矩形と円形の接触判定

はじめに 以前矩形と円形の接触判定を行う処理の記事を書きましたが, 今回は矩形が回転した場合にも対応します. yshinya09.hatenablog.com 完成形 以下のように回転する矩形と円形の接触判定をとります. 実装 図形の定義 円形と矩形のクラスをそれぞれ以下の…

【Unity】hierarchyで選択したGameObjectの座標を右クリックでコピーする

概要 これ ペースト Main Camera: 0.000, 1.000, -10.000 Directional Light: 0.000, 3.000, 0.000 コード public class CopyPositionToClipboard { [MenuItem("GameObject/Copy Position", false, 0)] private static void CopyPosition() { if (Selection.…

【Unity】Collider のアタッチされた Prefab をリストアップするツール

はじめに 画像のように Collider のアタッチされた Prefab をリストアップします。 子 GameObject にアタッチされている場合は, Root の GameObject からのパスを表示します。 ソースコード public class ColliderListWindow : ComponentListWindow<Collider> { [MenuI</collider>…

【Unity】AssetDatabase.FindAssets で使用できる検索フィルタ

はじめに AssetDatabase.FindAssets() を使用することで, Project に存在するアセットのGUIDをリスト取得することができます。 この Api は第一引数に string で検索フィルタを指定し, 一覧取得する対象アセットを絞りこむことが可能です。 docs.unity3d.com…

【Git】コンフリクト状態のままコミットされるのを防ぐHook

Git

概要 git の pre-commit hook で, コンフリクトマーカーが含まれているものを検出するスクリプトの紹介です。 gist.github.com 使い方 .git/hooks/ 以下に リンク先のファイルを pre-commit という名前で配置します。 コンフリクト未解決のファイルに対して…

【git】remrege-diff オプション とは

Git

Git 2.36 で実装されたオプションで, どのようにコンフリクトを解決したのかをより簡単に見るためのオプションのようです. github.blog 実際にコンフリクト解決したマージコミットに対して, git show --remerge-diff を実行したところ以下のような出力になり…

【WSL2】zsh セットアップメモ

Ubuntu バージョン $ cat /etc/os-release PRETTY_NAME="Ubuntu 22.04.2 LTS" NAME="Ubuntu" VERSION_ID="22.04" VERSION="22.04.2 LTS (Jammy Jellyfish)" VERSION_CODENAME=jammy ID=ubuntu ID_LIKE=debian HOME_URL="https://www.ubuntu.com/" SUPPORT_UR…

【C#】リフレクションを使用して特定インスタンスが指定型のフィールドを持っているか再帰的に調べる

C#

特定インスタンスのフィールドに指定型が含まれているか調べるコードです。 フィールドの中のフィールドも調べます。 試した感じですが, フィールドを省略してプロパティを定義していても取得できるっぽかったです。 ↓みたいなやつ public Hoge Hoge { get; …

【Unity】AnimationClip のリネームサポートツール

Animator を使用している GameObject の子の命名を変えると, AnimationClip で Missing が発生してしまい, 修正が手間なため, ツールを作成しました。 完成形 存在するパスが入力されると緑色のアイコンが表示されます。 ソースコード using System.Collecti…

【Unity】特定の型のアセットの依存情報をJSONで保存する

特定の型の依存情報のみを高速で取得したい案件があったので, JSONで依存情報を保存しておき, 必要な時にデシリアライズして使用します. ソースコード using System; using System.Collections.Generic; using System.IO; using System.Linq; using UnityEdi…

【Unity】AnimationClip を path で検索できるツール

完成イメージ アニメーションクリップをパスで検索したいケースがあったので作成しました。 要素を ドラッグ&ドロップして Inspector などの ObjectField にアタッチすることも可能です。 ソースコード using System.Collections.Generic; using System.Lin…

【git LFS】Encountered N file(s) that should have been pointers, but weren't

Git

Encountered N file(s) that should have been pointers, but weren't Git LFS を使用していると遭遇するエラー. 和訳すると, 「ポインターでなければならないが, そうなっていない\N個のファイルに遭遇した」 とのこと. Git FLS は, サイズの大きいファイル…

【Unity】SerializeReference の挙動検証

概要 検証 YAMLを見てみる 配列の順番を変更する 配列の要素を削除する シリアライズされているクラスを削除する 削除したクラスを復元する クラスのリネームをしてみる リファレンス 概要 SerializeReference を使用することで, 添付画像のようにリストの全…

【GoogleSpreadSheet】列と行の操作ショートカット集

一行を上に挿入 一行を下に挿入 一列を左に挿入 一列を右に挿入 一行を選択 一列を選択 選択行を削除 選択列を削除 一行を上に挿入 alt-i r r 一行を下に挿入 alt-i r b 一列を左に挿入 alt-i c c 一列を右に挿入 alt-i c o 一行を選択 shift-space 一列を選…

【Unity】Menuを検索する

概要 Unity2021 から組み込まれた UnitySearch を 使用することで素早く検索することが可能です。 Ctrl + K または mac であれば ⌘ + K のショートカットで起動できます。 やり方 検索対象を絞り込むための Search Token が用意されており, m: を頭につけて…

【Unity】PlayMode と EditMode でエディタLayoutを切り替えるエディタ拡張

概要 Unity Editor の Layout を PlayMode と Edit Mode で切り替えるエディタ拡張です。 Edit Mode と Play Mode で開きたいウィンドウが違うので自動で切り替えるようにしました。 ソースコード EditorWindow で作成すると, Layout変更時に消えてしまうの…

【Unity】矩形と円形の接触判定

矩形と円形の接触判定を行いたい事案があったのでメモ. 実装 矩形の表現には Rect 型を使用します. Circle型は無いので以下のように定義しました. record Circle(Vector2 Center, float Radius); 矩形と円形が接触しているかは以下の3ステップで判定可能. 矩…

【Unity】hierarchyの検索テキストをプリセットするツール

概要 hierarchyで検索したいテキストを保存しておいて, ワンクリックでhierarchyの検索フィールドに設定できるエディタ拡張です。 コード HierarchySearchSetter.cs 参考 ヒエラルキーでコンポーネント検索が少し楽になるエディタ拡張 #Unity - Qiita

【Unity】EditorWindowにinspectorと同じ内容を表示する

やりたいこと CustomEditor でオーバーライドされた ScriptableObject の inspector の表示を EditorWindow 上で表示できるようにしたい. ScriptableObject を作成 [CreateAssetMenu(fileName = "DemoData", menuName = "Create/DemoData")] public class De…

【Git】稀によく使うGitコマンド集

Git

git log コミットログに変更差分を表示する コミットメッセージでコミットログを絞り込む 特定ファイルのコミットログのみ表示する 全てのブランチやタグに関連するコミットをログ表示する ブランチBに存在し, ブランチAには存在しない全てのコミットログを…