【Unity】Unityエディタ上でスマホ実機がシミュレーションできるDevice Simulatorの使い方まとめ

Unityエディタ上でスマホ実機がシミュレーションできるDevice Simulatorの使い方をまとめました。 Device Simulator? インストール 基本操作 カスタムアセンブリに設定を反映する カスタムデバイスを追加する 参考

【Unity】UniTaskの例外処理まとめ

UniTaskの例外処理についてまとめました。 非同期タスクを待機する場合 非同期タスクを待機しないと未処理例外として処理される 未処理例外のログ出力タイプを変える 未処理例外のハンドリング処理を書き換える 関連

【Unity】【C#】Taskの未処理例外をUnobservedTaskExceptionで処理してログ出力する

UnityでTaskの未処理例外をUnobservedTaskExceptionで処理する方法をまとめました。

【Unity】Addressableアセットシステムで同期ロードが公式サポート、Resources.Loadを置き換え可能に

UnityのAddressableアセットシステムで同期ロードが公式にサポートされたので、その使い方とResources.Loadを置き換える方法についてまとめました。 Addressablesと同期ロード 今までは非同期なロード方法しかなかった 同期ロードが公式サポートされた 同期…

【Unity】ビルドの前後に処理を挟み込む方法

Unityでビルドの前後に処理を挟み込む方法についてまとめました。 ビルド前後の処理を行う ビルドボタンを押したときの処理を行う 参考

【Unity】【UniTask】 UniTaskをエディタ(Edit Mode)で使うときに気を付けること

UniTaskをEdit Modeで使うときに気を付けることについてまとめました。 UniTask.DelayにはDelayType.Realtimeを 追記: 最新バージョンは自動的にRealtimeに Taskでもいい UniTask.DelayFrameは使わない PlayerLoopTimingはEditorApplication.updateになる 参…

【Unity】uGUIをTimelineで制御できる「Unity UI Playables」を公開しました

UnityのuGUIをTimelineで制御できる「Unity UI Playables」を公開しました。 github.com 概要 Unity UI(uGUI)をタイムラインで制御可能 イージング、アニメーションカーブに対応 ブレンド可能 使い方 インストール トラックとクリップを作成 制御できるパラ…

【Unity】Scriptable Build Pipelineで同じアセットバンドルに含まれるアセット一覧を取得する

UnityのScriptable Build Pipelineであるアセットと同じアセットバンドルに含まれるアセット一覧を取得する方法をまとめました。 はじめに 実装する 実行する 関連

【Unity】AudioClipのデータを直接編集してサウンドデータの構造を学ぶ

UnityのAudioClipのデータを直接編集してサウンドデータの構造を学んでみます。 はじめに:サンプリングと量子化 ボリュームをコントロールする Decompress On Load にする必要アリ 片方のチャンネルだけいじる 特定の秒数だけいじる 参考

【Unity】Scriptable Build Pipelineによるビルドフロー構築入門

UnityのScriptable Build Pipelineによるビルドフロー構築方法について簡単にまとめました。 Scriptable Build Pipelineとは? インストール IBuildTaskを理解する IContextObjectを理解する 実際にIBuildTaskが使用されている部分を見る 実際にIContextObje…

【Unity】NatCorderで動画ファイルを作成する

UnityのアセットであるNatCorderで動画ファイルを作成する方法についてまとめました。 NatCorder? ゲームカメラを録画する Screen Space - OverlayにしているUIは描画できないので注意 音声付きで録画する iOS、Android実機でカメラロールに保存する Android…

【C#】非同期メソッド内でファイルIOするときの排他制御

C#で非同期メソッド内でのファイル入出力における排他制御についてまとめました。 同時読み込み・書き込みを許可するFileShare 並列読み込み・書き込みを管理する必要性 セマフォで排他制御

【Unity】【エディタ拡張】キーボードショートカットを実装する

Unityのエディタ拡張でキーボードショートカットを実装する方法をまとめました。 はじめに グローバルなショートカットを作成する EditorWindowのショートカットを作成する EditorWindowのショートカットとグローバルなショートカットのコンフリクト ショー…

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

Unityのエディタ拡張で「Manager」的なクラスを作るときに使えるScriptableSingletonという機能についてまとめます。 エディタ拡張で「Manager」的なクラス? 再生したりスクリプトをコンパイルしたりしても値を保持しておけるインスタンスを作る Unityを再起…

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

被写界深度のポストエフェクトを実装する際の前提知識として、レンズとボケの仕組みについてまとめます。 はじめに シンプルなカメラ - ピンホールカメラ たくさんの光を取り込むためにレンズを使う レンズの副作用 - 錯乱円 被写界深度 参考

【Unity】【Addressable】Addressableの絡むテストを書く方法と方針の一例

UnityでAddressableの絡むテストを書く方法と方針の一例です。 やりたいこと 方針 テストを書く 関連

チャンクを直接読み込んでPNG画像のファイルフォーマットを理解する

PNG画像のデータ構造を簡単にまとめて、Unityを使ってチャンクの読み込みを行う方法についてまとめます。 PNGファイルの構成 チャンクを読み込む チャンクを書き換える 参考

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

Unity x RiderでT4テンプレートを使う方法をまとめました。 T4テンプレートの基本的な使い方はこちら Visual Studioとの相性の悪さ~RiderのT4テンプレートサポート C# Project Generationにttを加える テンプレートファイルを作る テキストを生成する 実行…

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

T4テキストテンプレートの基本的な使い方をまとめました。 T4テキストテンプレート? シンタックスハイライトとコード補間を有効にする テンプレートからコードを生成する デザイン時テキストテンプレートと実行時テキストテンプレート デザイン時テンプレー…

【Unity】【シェーダ】プロシージャルな髪の異方性ハイライト(天使の輪)表現を作る方法

Unityのシェーダでプロシージャルに髪のハイライトを作る方法です。 やりたいこと binormalを使ってハイライトを作る jitterテクスチャを使う 結果 関連

【C#】正規表現の使い方まとめ

C#

C#の正規表現の使い方をまとめます。 パターンの記述方法についてはよくまとまっている記事がいくらでもあるのでそれ以外の情報についてまとめます。 基本的な使い方 IsMatch, Match, Matches 最短マッチを表す「?」 オプションまとめ 置換 分割 グループ OR…

【Unity】IMGUIの変換行列をいじってどんな解像度でも見やすいGUIを描画する

UnityのIMGUIの変換行列をいじってどんな解像度でも見やすいGUIを描画する方法です。 やりたいこと 正攻法と問題点 変換行列をいじって解決する

【Lua】Luaの基礎文法メモ

Lua

Luaの基礎文法超ざっくりメモ。自分用です。随時追加。 Luaの特徴 Luaの型 変数とスコープ テーブル 配列のように使う 連想配列のように使う クラスのように使う 制御構文 if文 while文 for文 repeat文 関数 コルーチン コメント エラー

【Unity】JsonUtilityとEditorJsonUtilityの違いをちゃんと理解する

UnityのJsonUtilityとEditorJsonUtilityの違いについてまとめました。 JsonUtility? UnityEngine.Objectをシリアライズできるか バックグランドスレッドで使えるかどうか インターフェースの違い 参考

【Unity】Unity2020.2から使えるC#8の機能まとめ

Unity2020.2から使えるC#8の機能をまとめました。 Unity2020.2からC#8の機能が使えるようになりました 使えない機能 readonly members Switchが式として使えるように パターンマッチングの強化 プロパティパターン タプルパターン 位置指定パターン(Positio…

【C#】独自の型にDeconstructメソッドで分解宣言・分解代入できるようにする

C#

C#で独自の型にDeconstructメソッドを追加して分解宣言・分解代入できるようにする方法です。 分解宣言・分解代入? タプル型の分解宣言 分解代入 独自の型にDeconstructメソッドで分解宣言・分解代入できるようにする 関連

【Unity】Addressable用ライフタイム管理ライブラリAddlerをリリースしました

Addressableのライフタイム管理ライブラリAddlerをリリースしました。 github.com Addlerとは? インストール ライフタイムをバインドする プリロード プリローダの使い方 プリローダのライフタイムをバインドする オブジェクトプール オブジェクトプールの…

【Unity】【Input System】Control Schemeでそのデバイスに適した入力の設定を使用する

UnityのInput SystemのControl Schemeを使ったそのデバイスに適した入力の設定を使用する方法をまとめました。 はじめに Control Scheme? 基本的にPlayer Inputと一緒に使う 使いどころは?全部Globalでいいのでは? 関連 参考

DIコンテナの非推奨な使い方・サービスロケーターパターン

DIコンテナの非推奨な使い方であるサービスロケーターパターンについてまとめました。 はじめに 良い例 良くない例 - サービスロケーターパターン Microsoft.Extensions.DependencyInjectionとしても非推奨 関連 参考

【Unity】MicrosoftによるDIの基礎実装Microsoft.Extensions.DependencyInjectionをUnityで使う

UnityにMicrosoft.Extensions.DependencyInjectionを導入する方法と、ServiceCollectionの基本的な使い方についてまとめました。