WESL_UserSettingをC#から参照する

Windows OS 搭載端末をシンクライアント化(キオスク モード化)するようなシェルランチャーを指定する場合などには WESL_UserSetting を使用します。 これを C# の ManagementObject を通じて設定を参照する方法の紹介です。 前提条件として OS の「シェル ラ…

Unity2021.3のおすすめバージョン@2022/09/22現在

2022年9月22日現在、Unity 2021 は 2021.3.10f1 まで出ていますが、なんか不具合があったりしてどのバージョンがベストか考えることがあったので所の書簡です。 結論は、2021.3.5f1 がベストです。 以下の不具合が回避できたほうがいいのかなと 2021.3.6f1~…

【C#】TimeSpanの書式指定方法

System.TimeSpan 型の書式指定の方法です。 DateTime 型とは ToString の書式の指定が異なるので同じ感覚で記述すると以下の「System.FormatException」が発生します。 // こんな感じのエラーが出る 'span.ToString(@"dd\d\a\y mm\:ss\.fff")' は型 'System.…

【Unity】ゲーム画面を1秒に1回画像として保存する

Unity でゲーム画面を1秒に1回撮影して画像として保存する方法の紹介です。 本記事は、開発中の Editor の GameView 表示を一定時間ごとに画面のスクリーンショットを連続で自動撮影して保存したい、のような場合にどうすればよいのかの紹介です。 撮影には…

TweenCancelBehaviourの指定ごとの挙動

DOTween + UniTask 環境で ToUniTask に渡す TweenCancelBehaviour の識別子ごとの挙動の説明です。 前提として、DOTween を UniTask で await するときに挙動を指定する ToUniTask メソッドには TweenCancelBehaviour を渡すことでキャンセル時の挙動を指定…

【C#/Unity】A*(A-Star)で経路探索を実装する

Unity の場合、3D, 2D ともに NavMesh とエージェントを使用すれば経路探索を自力で実装する機会はないかもしれませんが、経路探索をA*(A-Star)というアルゴリズムを自分で実装する場合の考え方と実装の紹介をしたいと思います。 グリッドベースの A* の経路…

【C#】Tupleで値を入れ替える時の処理速度

かなり前に Tuple で値を入れ替える方法を紹介しましたが、普通に入れ替えるのと、Tuple を使用して値を入れ替えるので処理速度がどの程度違うのか確認します。 takap-tech.com 確認環境 確認環境は以下の通りです。 .NET6 + C# 10.0 VisualStudio 2022 Wind…

【C#】Timerで1日1回任意の時間に処理を実行する

C# で Tiemr を使って1日1回任意の時間に処理を実行する方法を紹介したと思います。 タスクスケジューラーにC#のプログラムを登録すれば、特別な実装をしなくてもOSが自動で処理を起動してくれるます。が、その手段が取れない or 長時間起動しているプロセス…

【DOTween/UniTask】Forgetした後にDestroyすると警告が出る

急にDestroyすると警告が出る 解決方法 AsyncWaitForCompletionは使用しないこと UniTask + DOTween で UniTask を Forget した後、そのメソッド内でゲームオブジェクトを触ってる最中にゲームオブジェクトを Destroy すると警告が出る対応方法です。限定的…

【C#】コンソールアプリでMessagePipeを使う

前回コンソールアプリ上で「Microsoft.Extensions.DependencyInjection」を使用した DI を環境を構築しましたが、今回は、この環境を使って Cysharp がリリースしているメッセージングライブラリの「MessagePipe」をコンソールアプリに導入して動作を確認し…

【C#】コンソールアプリでDIを使う

.NET 6 でコンソールアプリに DI (=Dependency Injection) 環境を作成して、オブジェクトに依存関係を注入するところまでを確認したいと思います。 使用するライブラリは、「Microsoft.Extensions.DependencyInjection」です。 確認環境 動作確認環境は以下…

【C#】コンソールアプリでHostBuilderを使う

ASP.NET 系のテンプレートで作成すると何も考えずとも汎用ホスト(=Generic Host) が使用可能、つまり、HostBuilder が利用可能な状態から始まりますが、コンソールアプリから始めると何も存在しないため HostBuilder が宣言しても見つからないため意外とどう…