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

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

【Unity】コンポーネントパターンの ScriptableObject

コンポーネントパターンを適用した ScriptableObject のベースクラスです。 ソースコード public class ComponentScriptableObject : ScriptableObject { [SerializeField] protected List<ScriptableObject> m_Components = new(); protected ScriptableObject Add(Type type)</scriptableobject>…

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

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

【WSL2】tmux セットアップ, メモ

はじめに WSL2(Ubuntu)にて tmux のセットアップ手順のメモです. $ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 22.04.3 LTS Release: 22.04 Codename: jammy インストール 以下コマンドで tmux をインスト…

【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.…

「仕組みと使い方がわかる Docker&Kubernetesのきほんのきほん」を読んだ

仕組みと使い方がわかる Docker&Kubernetesのきほんのきほん | 小笠原種高 |本 | 通販 | Amazon

【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…

「ドメイン駆動設計入門 ボトムアップでわかる! ドメイン駆動設計の基本」を読んだ

「ドメイン駆動設計入門 ボトムアップでわかる! ドメイン駆動設計の基本」を読みました。 Kindle版がリフロー型だったのでKindleで購入しました。 https://www.amazon.co.jp/dp/479815072X?ref_=cm_sw_r_cp_ud_dp_ZM13Z8NF1D2JCZG1CFS3www.amazon.co.jp

【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…

「良いコード/悪いコードで学ぶ設計入門」を読んだ

Amazon.co.jp: 良いコード/悪いコードで学ぶ設計入門―保守しやすい 成長し続けるコードの書き方 eBook : 仙塲 大也: Kindleストア メモ インスタンス変数の上書きは理解を難しくする 設計パターン 完全コンストラクタ 値オブジェクト ストラテジ ポリシー …

【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…

「FINAL FANTASY XV の人工知能 - ゲームAIから見える未来」を読んだ

FINAL FANTASY XV の人工知能 - ゲームAIから見える未来 | 株式会社スクウェア・エニックス『FFXV』AIチーム |本 | 通販 | Amazon

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

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

「実例で学ぶゲーム3D数学」を読んだ

https://amzn.asia/d/heY020Lamzn.asia

Git LFS 調査用メモ

Git

Git LFS で何か踏んだ時に調べる際に, 参照する用のメモ. 環境変数 GIT_CURL_VERBOSE=1 内部で使用している, curl ライブラリが生成するメッセージを出力する. GIT_TRANSFER_TRACE=1 issue とかでこれを設定しろって言っているのを見かける. GIT_TRACE=1 ど…

【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 は, サイズの大きいファイル…

git LFS 公式ドキュメントのリンク

Git

github.com

「世界一流エンジニアの思考法」を読んだ

https://amzn.asia/d/giC3elSamzn.asia

【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