2024-01-01から1年間の記事一覧
MacとRiderの組み合わせでObfuscarを使ってDLLを難読化する手順についてまとめます。 Obfuscarとは? ドキュメントとサンプル 基本的な使い方 まずDLLを適当に作る Obfuscarをインストールする ObfuscarのConfigファイルを作成する Monoをインストールする …
Unity謹製ビヘイビアツリー「Unity Behavior」の使い方についてまとめました。 Unity Behaviorとは? セットアップ 簡単なツリーを作る 実行する Blackboardを使う Blackboardを書き換える カスタムノードを作成する 列挙型とSwitchノードで状態を管理する …
FlutterでBLoCパターンの実装を行う「flutter_bloc」の使い方をまとめました。 はじめに セットアップ 基本的な使い方 Blocで状態管理クラスを作る 生成済みの状態インスタンスを別のページで使う 複数の状態を使用する 対象の状態をフィルタリングするBlocS…
UnityでTextMeshProのアセットバンドルをAddressableアセットシステムできちんと管理する方法です。 はじめに StaticフォントをAddressableに登録する シェーダを別アセットバンドルに切り出す DynamicフォントをAddressableに登録する フォントを別アセット…
C#で複数のExceptionがまとめられたAggregateExceptionを正しくハンドリングする方法についてまとめました。 AggregateExceptionとは? Flatten Handle 参考
FlutterでRiverpodを使っているウィジェットをWidgetbookでカタログ化する方法です。 はじめに Riverpodを使ったウィジェットを作る appBuilderを使ってProviderScopeで囲う ProviderScopeのoverrideにプロバイダーのモックを設定 関連
RiderでNuGetパッケージのキャッシュを消す方法です。 はじめに 方法
RiderでUnityの機能を使ったDLLをビルドする方法です。 やりたいこと .NETソリューションとプロジェクトを作成 .NETプロジェクトにUnityEngineを参照させる Unityの機能を使ったプログラムを書く DLLをビルド 動作確認 参考
UnityのUI Toolkitでキーボードの押下イベントをハンドリングする方法についてまとめました。 KeyDownEventとKeyUpEvent characterプロパティについて フォーカスについて 参考
UnityでTimelineアニメーションを作る際の効率的な作り方についてまとめました。 またこの内容に関連して、個人で公開していたOSS「UnityUIPlayables」をPublic Archiveにしたのでその話も踏まえてまとめます。 Timelineアニメーションの二つの作り方 キーフ…
UnityでMasterMemoryの文字列自動インターン化の挙動を確認しました。 はじめに 挙動確認用のマスタデータクラスを作る MessagePackとMasterMemoryのコード生成をする MasterMemoryのバイナリをビルドする バイナリをロードしてインターン化を確認する strin…
FlutterでRiverpod と Flutter Hooks を組み合わせて使う方法についてまとめました。 はじめに インストール Flutter Hooksを使ったアプリケーションを作る Riverpodを使ったアプリケーションを作る Flutter HooksとRiverpodを組み合わせる Consumerを使うケ…
Unityネストされたタイムライン(子タイムライン)をスクリプトから作成する方法についてまとめました。 ネストされたタイムライン? スクリプトから作成する方法 動作確認 参考
UnityのUI Toolkitでボタンのダブルクリックを検知する方法です。 はじめに&注意点 方法 参考
Flutterでウィジェットのライフサイクルを管理するFlutter Hooksの概要と基本的なフックの使い方についてまとめました。 Flutter Hooksとは? useState: 状態を持つWidgetを簡単に書ける useEffect: 初期化・破棄の処理を簡単に書ける useMemoized: 重い処理…
Flutterでウィジェットのカタログを作れるWidgetbookの基本的な使い方をまとめました。 はじめに インストール〜ビルドまで コンポーネントとユースケースを追加する アドオン ノブ 参考
FlutterでRiverpodを使う場合の単体テストとウィジェットテストのやり方についてまとめます。 はじめに 単体テスト(Providerのテスト) readとlistenの使い分け ウィジェットテスト Providerのモックを使う NotifierをMockingすることもできる(非推奨) 参…
UnityのUI ToolkitでUI Builderを使ってスタイルシートの書き方がわからない人でも簡単にUSSを作成する方法についてまとめました。 はじめに UI Builder上でスタイルシートを作成する スタイルシートを適用する 関連 参考
Unityでクリックするだけで思い通りのアニメーションカーブを作れるおすすめアセット『Curvify』の使い方をまとめました。 Curvifyとは? 基本操作 Timelineに適用する ParticleSystemに適用する フォルダ機能と作成したカーブの共有方法 設定項目 関連 参考
FlutterにおけるRiverpodの概要と基本的な使い方についてまとめました。 Riverpodとは? セットアップ 簡単なアプリケーションを作ってみる 非同期処理で状態を更新する Streamによる非同期処理を扱う 状態のキャッシュについて 参考
Dartでイミュータブル/ミュータブルなモデルを作るFreezedの基本的な使い方をまとめました。 Freezedとは? セットアップ イミュータブルなモデルを作る ミュータブルなモデルを作る List、Map、Setの挙動 モデルをコピーする メンバを自分で定義したい場合 …
DartにおけるStreamとStreamControllerの使い方をざっとまとめます。 Streamの概念 Streamの基本的な使い方 Streamのハンドリング色々 Stream Controllerを使ってStreamを作る StreamControllerのStreamを複数回Listenする 参考
Flutterでウィジェットテストをする方法についてまとめました。 準備 簡単なテストを作成する いろいろなFinder いろいろなMatcher pumpメソッドとpumpAndSettleメソッド 参考
Flutterで単体テストをする方法についてまとめました。 テストするクラスを作成する 単体テストを書いて実行する Matcherによる判定 メッセージ(reason) 非同期メソッドのテスト グルーピング テスト前後処理 個々のテストの前後処理 テスト対象から除外す…
Google Workspace アドオンの基本的な作り方をまとめました。 Google Workspaceアドオンとは? セットアップ〜簡単なアドオンの作成までの手順 マニフェストファイルを理解する addOns oauthScope トリガー UI(カード)を理解する もう少し実践的なアドオン…
VContainerで動的に生成したGameObjectにDIする方法についてまとめました。 はじめに パターン1: Enemyを生成するクラス(Spawner)にDIする場合 パターン2: Spawnerを介しつつEnemyにDIしたい場合 パターン3: ファクトリメソッドをDIする場合 参考
UnityのUI Toolkitで、スクロール位置などビューに関わるデータを保存するView Dataを使う方法についてまとめました。 View Dataとは? View Dataの使い方 使ってみる 動作確認 参考
.NETでRoslynを使った構文解析とセマンティック解析をする方法についてまとめました。 はじめに セットアップ 構文解析 ノード・トークン・トリビア Nodeクラスの派生型 構文ウォーカー SyntaxTreeを可視化する セマンティック解析 セマンティック解析とは …
UI Toolkitで、Unity EditorのContextual Menu(右クリックメニュー)を使う方法についてまとめました。 Contextual Menuとは? Contextual Menuを実装する 動作確認 動的にメニューを追加する 参考 Unity 2022.2.17 Contextual Menuとは? Contextual Menu…
Unityで使えるメッセージングシステムVital Routerの使い方についてまとめました。 Vital Routerの概要と本記事の範囲 セットアップ 基本的な使い方 コマンドを定義する コマンドを発行する コマンドを購読する 依存性注入する シーン構築と実行確認 VContai…