2021-01-01から1年間の記事一覧
Unityのエディタ拡張でキーボードショートカットを実装する方法をまとめました。 はじめに グローバルなショートカットを作成する EditorWindowのショートカットを作成する EditorWindowのショートカットとグローバルなショートカットのコンフリクト ショー…
Unityのエディタ拡張で「Manager」的なクラスを作るときに使えるScriptableSingletonという機能についてまとめます。 エディタ拡張で「Manager」的なクラス? 再生したりスクリプトをコンパイルしたりしても値を保持しておけるインスタンスを作る Unityを再起…
被写界深度のポストエフェクトを実装する際の前提知識として、レンズとボケの仕組みについてまとめます。 はじめに シンプルなカメラ - ピンホールカメラ たくさんの光を取り込むためにレンズを使う レンズの副作用 - 錯乱円 被写界深度 参考
UnityでAddressableの絡むテストを書く方法と方針の一例です。 やりたいこと 方針 テストを書く 関連
PNG画像のデータ構造を簡単にまとめて、Unityを使ってチャンクの読み込みを行う方法についてまとめます。 PNGファイルの構成 チャンクを読み込む チャンクを書き換える 参考
Unity x RiderでT4テンプレートを使う方法をまとめました。 T4テンプレートの基本的な使い方はこちら Visual Studioとの相性の悪さ~RiderのT4テンプレートサポート C# Project Generationにttを加える テンプレートファイルを作る テキストを生成する 実行…
T4テキストテンプレートの基本的な使い方をまとめました。 T4テキストテンプレート? シンタックスハイライトとコード補間を有効にする テンプレートからコードを生成する デザイン時テキストテンプレートと実行時テキストテンプレート デザイン時テンプレー…
Unityのシェーダでプロシージャルに髪のハイライトを作る方法です。 やりたいこと binormalを使ってハイライトを作る jitterテクスチャを使う 結果 関連
C#の正規表現の使い方をまとめます。 パターンの記述方法についてはよくまとまっている記事がいくらでもあるのでそれ以外の情報についてまとめます。 基本的な使い方 IsMatch, Match, Matches 最短マッチを表す「?」 オプションまとめ 置換 分割 グループ OR…
UnityのIMGUIの変換行列をいじってどんな解像度でも見やすいGUIを描画する方法です。 やりたいこと 正攻法と問題点 変換行列をいじって解決する
Luaの基礎文法超ざっくりメモ。自分用です。随時追加。 Luaの特徴 Luaの型 変数とスコープ テーブル 配列のように使う 連想配列のように使う クラスのように使う 制御構文 if文 while文 for文 repeat文 関数 コルーチン コメント エラー
UnityのJsonUtilityとEditorJsonUtilityの違いについてまとめました。 JsonUtility? UnityEngine.Objectをシリアライズできるか バックグランドスレッドで使えるかどうか インターフェースの違い 参考
Unity2020.2から使えるC#8の機能をまとめました。 Unity2020.2からC#8の機能が使えるようになりました 使えない機能 readonly members Switchが式として使えるように パターンマッチングの強化 プロパティパターン タプルパターン 位置指定パターン(Positio…
C#で独自の型にDeconstructメソッドを追加して分解宣言・分解代入できるようにする方法です。 分解宣言・分解代入? タプル型の分解宣言 分解代入 独自の型にDeconstructメソッドで分解宣言・分解代入できるようにする 関連
Addressableのライフタイム管理ライブラリAddlerをリリースしました。 github.com 注意: 1.0.0をリリースしました。この記事は古いかも Addlerとは? インストール ライフタイムをバインドする プリロード プリローダの使い方 プリローダのライフタイムをバ…
UnityのInput SystemのControl Schemeを使ったそのデバイスに適した入力の設定を使用する方法をまとめました。 はじめに Control Scheme? 基本的にPlayer Inputと一緒に使う 使いどころは?全部Globalでいいのでは? 関連 参考
DIコンテナの非推奨な使い方であるサービスロケーターパターンについてまとめました。 はじめに 良い例 良くない例 - サービスロケーターパターン Microsoft.Extensions.DependencyInjectionとしても非推奨 関連 参考
UnityにMicrosoft.Extensions.DependencyInjectionを導入する方法と、ServiceCollectionの基本的な使い方についてまとめました。
UnityでDIコンテナVContainerの使う方法についてまとめました。
C#における並列処理の排他制御についてまとめました。 特にUnityに依存する内容ではないですが、Unityで動作確認を行っています。
Addressableアセットシステムのアドレス設定を自動化するツール「EZAddresser」を公開しました。
エディタ拡張でAssetPostProcessorで他のアセットを削除する際の注意点です。
C#でimplicit / explicitキーワードを使って型変換演算子を定義する方法についてまとめました。
UnityのAddressableアセットシステムで同期的にリソースをロードする方法をまとめました。
C#で非同期処理におけるスレッドの仕組みとWait()によるデッドロックについてまとめました。
UnityでGPU上のRenderTextureのピクセル情報を非同期的に取得するAsyncGPUReadbackについてまとめました。
UnityのAddressableアセットシステムにおけるコンテンツの更新フローまとめについてまとめました。
UnityのAddressableアセットシステムでダウンロードコンテンツを更新するときに気を付けるべきこととUnique Bundle IDという機能についてまとめます。
Taskのマルチスレッドを実現するための機能という側面からUniTaskについて考えてみます。