URP+2DRendererで画面の一部にモザイクやブラーをかける

URP + 2DRenderer にすると _OpaqueueTexutre が利用できない(設定しても画像が設定されない)ため旧来の GrabPass を使用したレンダリング結果に対して効果をつけることが直接はできませんでした。旧来、対処法として RenderTexture を使用した実装などで…

【C#】Teamsを退席中にしないツールを作ってみた

2023-08-17 TeamsをはじめとするいわゆるグループウェアってしばらくPCを操作しないと「退席中」と割とすぐに表示さますよね?実際は別の作業してるのに…みたいな状態で誤解を受けないように「退席中」表示になるのを防止するMouseKeeperというツールを作っ…

【Unity】実行中だけCanvasをOverlayにする

はじめに Unity の Canvas は特に画面に追従する必要がない場合 Screen Space Overlay にすることが多いと思いますが、Overlay って実際のゲーム画面と比べてサイズが大きすぎて「ゲーム画面を見ながら UI の調整をしたい」みたいなときに少し扱いづらいので…

【C#】配列をN個に分割する

文字列をSplitで分割する処理は割と見かけますが、ある配列を複数の配列に分割する処理はあまり見かけたことが無いので書きました。 例えば10個の要素の配列を3個ずつの配列に分割して 3 + 3 + 3 + 1要素の配列に分割する場合の処理方法です。 確認環境 以下…

背景を除外してRectTransformの範囲をファイルに保存する

Canvas 内の RectTransform の範囲を背景を無視して切り取って画像に保存する手順です。かなり限定的な状況となりますが uGUI の Image などを子要素に持つ RectTransform を表示されている内容で保存することができます。 まずサブカメラを作成 → RenderTex…

【Unity】UniRxを利用したMVPパターン(MVRP)の実装例の紹介

UniRx 利用した MVP パターン、いわゆる MV(R)P パターンで(Model-View-(Reactive)Presenterパターン)UI の実装例を紹介したいと思います。 今回の記事で実装した UI は以下の通りです。 初めに MV(R)Pパターンは、表示を View, ロジックを Model, 双方の…

Unity 2021.2.3f1でURPがでCS1525エラーが発生する

既存プロジェクトを Unity 2021.2.3f1 にアップグレードしたら URP のパッケージでエラーが発生する場合の対処法です。 発生するメッセージ 発生するメッセージは以下の通りです。 なぜか構文的に間違ってなさそうなURPパッケージ内でエラーが発生します。 L…

【C#】リストや配列をクラス外に安全に公開する方法

この記事は、あるクラスの中で管理しているリストや配列をクラス外に公開して参照してもらう時に安全に公開する方法や考え方や実装の紹介です。 あるクラス内で管理しているリストをクラス外に公開する場合に具体的にどういった危険性があるのか、どうすれば…

【C#】QueueとConcurrentQueueの使い方

C# で キューというデータ構造を扱う Queue<T> クラスと、スレッド排他制御機能付きの ConcurrentQueue<T> クラスの使い方の紹介をしたいと思います。 2つのQueue まず「Queue」ですが一言で言うと、入れたデータが入れた順番に取り出せる入れ物の事を指します。以</t></t>…

All In 1 Sprite ShaderのURPがUnity2021.2.0以降でエラーになる場合

本当は本家に直してもらうのが一番いいけど修正されるまでは自力で直さないと正常に動作しないので修正方法の紹介です。 発生するエラーは以下の通りです。 'CombinedShapeLightShared': cannot implicitly convert from 'half4' to 'struct SurfaceData2D' …

C#でビット操作を簡単に行うラッパークラスの紹介

例えばC#でハードウェアに近い I/O を扱う場合、1チャンネルが ushort の1ブロックの読み書きが要求されていて、各ポートはビットごとに割り当てられているなんてケースが割とありますがいちいち出力ポートの設定を読んでビット操作をしてまた書き込むなどの…

The referenced script (Unknown) on this Behaviour is missing!

普通は Console から該当の警告メッセージを選択知ればヒエラルキーで missing の場所にジャンプできますが以下のようスタックトレースがネイティブな出力で対象のオブジェクトにジャンプできない & ヒエラルキー上をいくら探しても警告が出ていない場合、プ…