【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 の場所にジャンプできますが以下のようスタックトレースがネイティブな出力で対象のオブジェクトにジャンプできない & ヒエラルキー上をいくら探しても警告が出ていない場合、プ…

Universal RP(URP)を2Dプロジェクトに設定する(2021.2版)

なんとUnity Hub の新規作成に「2D URP」がテンプレートに追加されているので2Dでライトを積極的に使っていきたい、みたいな人はこれを選べばそのまま URP の 2DRenderer が設定済みのプロジェクトが選べるようになっています。 この場合説明不要ですが、後…

中カッコのないif文の命令文を自動改行しない

VisualStudio 2017 および 2019 でオートフォーマットに関する以下の 2つの状況が発生した場合の設定方法です。 中カッコのないif文を改行しない using ステートメントの中カッコを改行しない なぜか1行で記述したい中カッコを省略したif文の命令文が新しい…

URPでPostProcessingの効果をゲーム画面だけに適用する

Unity の URP 環境で Post Processing の効果をゲーム画面だけに適用して UI には効果を適用しない設定の紹介です。 通常、Main Camera に ゲーム画面と UI を映した状態で Vignette(画面の端が暗くなる効果)を適用すると UI の端が暗くなって見づらくなっ…

Unity向けタイマーライブラリ「UniTimer」をリリースしました

Unity向けのタイマーライブラリ「UniTimer」をリリースしました。 Git のリポジトリは以下の通りです。 github.com Github の README と内容は同じですが、このライブラリの説明などは以下となります。 動作環境 Unity 2020.3 以降 このライブラリを使用する…

All In 1 Sprite ShaderのURPセットアップ手順

Unity のアセットストアにある「All In 1 Sprite Shader」の URP 用の設定方法です。 忘れるたびにマニュアルのリンクから解説動画見てねが割とツラいのでまとめました。 確認環境 この記事は以下の環境で作成及び動作確認を行っています。 ViauslStudio 201…