【Unity】エディタ拡張で「Manager」的なものに使えるScriptableSingleton

Unityのエディタ拡張で「Manager」的なクラスを作るときに使えるScriptableSingletonという機能についてまとめます。

  • エディタ拡張で「Manager」的なクラス?
  • 再生したりスクリプトコンパイルしたりしても値を保持しておけるインスタンスを作る
  • Unityを再起動しても消えないようにする
    • 永続化ファイルの置き場
  • 参考
続きを読む

被写界深度ポストエフェクト実装の前提知識 - カメラレンズとボケの仕組み

被写界深度のポストエフェクトを実装する際の前提知識として、レンズとボケの仕組みについてまとめます。

続きを読む

【Unity】【Rider】RiderでT4テキストテンプレートを使う

Unity x RiderでT4テンプレートを使う方法をまとめました。

  • T4テンプレートの基本的な使い方はこちら
  • Visual Studioとの相性の悪さ~RiderのT4テンプレートサポート
  • C# Project Generationにttを加える
  • テンプレートファイルを作る
  • テキストを生成する
  • 実行時テンプレートでコンパイルエラー?
  • 関連
  • 参考
続きを読む

【Visual Studio】【.NET】T4テキストテンプレートで文字列(ソースコード)を自動生成する方法まとめ

T4テキストテンプレートの基本的な使い方をまとめました。

  • T4テキストテンプレート?
  • シンタックスハイライトとコード補間を有効にする
  • テンプレートからコードを生成する
    • デザイン時テキストテンプレートと実行時テキストテンプレート
    • デザイン時テンプレートを生成する
    • 実行時テキストテンプレートを生成する
  • 基本的な使い方
    • 言語・拡張子・文字コードを指定する
    • 文字列を書く
    • 制御構文や関数などを使う - 標準コントロールブロック
    • 式コントロールブロックを使った書き方
    • テンプレート内で使う機能を定義する - クラス機能コントロールブロック
  • 知っておくべき使い方
    • アセンブリを読み込む - assemblyディレクティブ
    • 名前空間のusing的なことをする - importディレクティブ
    • 実行時テンプレートからテキストを作る際に入力値を与える
    • ファイルからテンプレート用テキストをインクルード - includeディレクティブ
    • エラーや警告を出す
  • 参考
続きを読む