Unityと.NET環境で乱数生成を共通化する

タイトルの通り、Unity環境下での乱数生成と非Unityの乱数生成を共通化しようという話です。 何故このようなことをするかというと、非UnityのMonoBehaviorも何もない環境で作成したアルゴリズムをUnityへインポートしたりするときに、UnityのRandomクラスと…

リモートデスクトップ(RDP)接続が遅い場合の設定について

新型コロナウィルスの感染拡大による緊急事態宣言がでて、在宅ワークをしている人も多いかと思います。 また、VPNなどを利用して会社のPCへリモートデスクトップ接続(=RDP)で仕事する事もあるかと思います。しかし遠隔地からのリモートデスクトップは帯域…

Universal RP(URP)を2Dプロジェクトへ設定する方法

2021-10-30 作成済みの 2Dプロジェクトへ Universal Render Pipeline (URP/Universal RP) を後から設定する手順をまとめました(とはいっても現状これしか設定の仕様がないので唯一の設定方法になります。 確認環境 2Dプロジェクトを作成する Package Manage…

Qiitaの読んだ記事($ analyze ...)の項目をAdbockで非表示にする

はじめに 結果だけ知りたいなら次の項目へどうぞ。 Qiitaにアップデートが入り、自分が読んだ記事を集計して他人にも見える状態でプロフィール上で公開するアップデートが来ましたが、これが内容が個人の性癖の暴露並みの気持ち悪さということで大炎上しまし…

Choromeで使用している拡張機能一覧

Chorome大好きなのでいつも使ってます。 拡張機能で機能を追加できるので厳選した便利拡張機能の紹介(というか個人的なメモです) AdBlock plus https://chrome.google.com/webstore/detail/adblock-plus-free-ad-bloc/cfhdojbkjhnklbpkdaibdccddilifddb?hl…

【C#】Unityと.NET標準ライブラリの命名規則の違い

.NET標準は「System名前空間内にあるクラス類」を指します。一方のUnityは「UnityEngine名前空間内にあるクラス類」以下にあるオブジェクト群を指します。それぞれ同じC#言語ですが各々の間で大きく命名規則が異なっています。という訳でちょっとまとめてみ…

C#で1次元配列と2次元配列を相互に変換する

タイトルの通り、1次元配列と2次元配列の相互変換を行う処理の紹介です。 考え方 このような2次元配列を このような配列に変換することができます。 実装コード 早速実装例を紹介したいと思います。 ArrayUtilityクラス 配列に対する操作のため以前紹介したA…

C#でHexタイルの位置を計算する

今回は6角形のタイルの座標の計算を行うライブラリの紹介をしたいと思います。 計算した位置をいい感じに描画すると以下のような感じに並べることができます。 HexLayoutクラス:6角形のタイルを並べる 結構強引に位置を計算していますが、指定した位置を中…

【C#】の1次元配列と多次元配列、リストのアクセス速度の違い

前回の記事で紹介した2次元配列の管理クラスですが中身のデータを「1次元配列を2次元配列扱いする」か「C#固有機能の多次元配列」で行ったときの実行速度に触れましたが今回は実際に速度の違いを計測してみました。 takachan.hatenablog.com タイトルの通り…

【C#】グリッドマップを管理するクラスを作成する

2D のゲーム実装でマップを扱うときは x と y の2次元のマップデータを使うことがありますがこのデータ構造の実装方法を紹介します。 x と y の 2次元のデータですが、中身は 1次元の配列として扱います。なので 1列の配列データを 2次元のグリッドとして扱…

【C#】2次元配列から2次元配列を切り出す

タイトルの通りなのですが、絵にするとこんな感じです。 以下のような2次元配列があった時に 以下のようにある部分を範囲選択して切り取り新しい2次元配列を作成する処理になります。 実装コード ArrayUtilityクラス 使い方 ArrayExtension:拡張メソッド版 …

C#でオブジェクト初期化子を使った時の丸カッコの有無

C#には「オブジェクト初期化子」というインスタンス作成時に使用できる初期化方法があります。 例えば以下のようなクラスがあった場合、公開されているプロパティに対して初期化と同時に値が設定できます。 // クラス宣言 public class Point2Di { public in…