はなちるのマイノート

Unityをメインとした技術ブログ。自分らしくまったりやっていきたいと思いますー!

アルゴリズムイントロダクション第4章の個人まとめ

はじめに 前回の続きをやっていきたいと思います。 www.hanachiru-blog.com今回のテーマは「分割統治法」になります。 はじめに 分割統治法 置き換え法 1. 推定 2. 数学的帰納法 再帰木法 マスター法 マスター定理 分割統治法 分割統治では以下の3つの段階…

【C#】ジェネリッククラスのインスタンス化をするときに一行が長くなりすぎる問題の対処法

C#

はじめに C#のジェネリッククラスをインスタンス化するときに結構長くなってしまうのはあるあるな気がします。 private static void Main(string[] args) { // 一行が長くなりがち・・・ var sample = new Sample<List<int>, KeyValuePair<bool, int>>(); } public class Sample<TKey, TValue>{}</tkey,></bool,></list<int>…

【Unity】Screen.sleepTimeoutでスマホの画面が暗くならないようにする

はじめに 今回はiOS・Androidにて画面をスリープ状態にさせないようにしたいと思います。 はじめに やり方 一工夫してみる さいごに やり方 既にUnityがそれ用のAPIを用意してくれているので、そちらを使えばOKです。 UnityEngine.SleepTimeout - Unity スク…

アルゴリズムイントロダクション第3章の個人まとめ

はじめに 前回の続きをやっていきたいと思います。 www.hanachiru-blog.comちなみに内容的には昔書いたこの記事とかなり似ている感じでした。 www.hanachiru-blog.com はじめに 第3章「関数の増加」 Θ記法 O記法 Ω記法 o記法 ω記法 第3章「関数の増加」 Θ記…

アルゴリズムイントロダクション第1~2章の個人まとめ

はじめに 今回はアルゴリズムの名著とも言われている以下の本を読み、そのまとめを備忘録の意味合いも兼ねて書き残しておきたいと思います。 はじめに 第1章「計算におけるアルゴリズムの役割」 第2章「さあ,始めよう」 挿入ソート アルゴリズムの正当性 …

【Unity】ゲームオブジェクトのナンバリング方法を変更する(Numbering Scheme)

はじめに 今回はゲームオブジェクトを複製したときに、Unityが自動でナンバリングしてくれるときの命名方法を変更したいと思います。 ゲームオブジェクトのナンバリングを変更する はじめに 変更方法 各プロパティ解説 変更方法 メニューバーよりEdit -> Pro…

【Unity】Unity2020.1からの新機能Profiling CoreでProfilerに独自のカウンターを追加する(ProfilerCounter, ProfilerCounterValue)

はじめに 今回はUnity2020.1からの新機能であるProfiling Coreを利用して、Profilerに独自のカウンターを追加してみたいと思います。またビルドしたときにパフォーマンスに影響がでてしまうのでは…とお考えの奥様、そこはしっかりとビルド時にコンパイルされ…

【Unity】Unityを強制クラッシュさせるUtils.ForceCrashメソッドについて

はじめに 今回はUnityを強制クラッシュさせるUnityEngine.Diagnostics.Utils.ForceCrash()について紹介したいと思います。 はじめに 使い方 iOSでクラッシュ時のハンドリング クラッシュ時のハンドリング 使い方 public static void ForceCrash (Diagnostics…

【Unity】変数名を変えてもインスペクターの値を引き継ぐFormerlySerializedAsAttributeについて

はじめに 今回は変数名を変えてもインスペクターの値を引き継ぐFormerlySerializedAsAttribute属性を紹介したいと思います。docs.unity3d.com はじめに 使い方 さいごに 使い方 使い方は簡単で、変更する変数名に属性を追加します。 [SerializeField] privat…

JetBrains Rider2020.1.3以降は日本語化対応されていない件(2021/9/7)

はじめに 久しぶりにRiderを導入して日本語化対応しようとしたらつまづいてしまいました。 Riderはいいぞ! from UnityTechnologiesJapan002 www.slideshare.netそこで調べたことを備忘録の意味合いも兼ねて残しておきたいと思います。 はじめに Riderを導入…

Clean Architecture第7章「単一責任の原則(SRP)」の個人まとめ

はじめに 現在Clean Architectureという本を読んでいるのですが、備忘録の意味合いも兼ねてまとめてみたいと思います。今回は単一責任の原則(SRP)についてみていきます。 はじめに 単一責任の原則とは? 感想 単一責任の原則とは? 単一責任の原則(SRP)…

Clean Architecture第5章「オブジェクト指向プログラミング」の個人まとめ

はじめに 現在Clean Architectureという本を読んでいるのですが、備忘録の意味合いも兼ねてまとめてみたいと思います。今回はオブジェクト指向プログラミングについてみていきます。 はじめに オブジェクト指向とは? 依存関係逆転 個人的な感想 オブジェク…

【Unity】MaterialにNormalMapを設定することで見た目をクオリティーアップさせる

はじめに 今回はNormalMapについて取り上げたいと思います。 左: NormalMapあり,右: NormalMapなしNormalMapを使うことでモデルの表面の法線を設定することができ、光の反射の仕方などに影響を及ぼすことができます。また実際にメッシュに凹凸をつけたりす…

【Unity】PlayerLoopを使って毎フレーム実行される関数を追加する

はじめに 今回はPlayerLoopについて紹介し、実際に独自の処理を追加してみたいと思います。 はじめに PlayerLoopとは PlayerLoopSystem PlayerLoopの中身自体を書き換える 独自の処理を追加する さいごに PlayerLoopとは PlayerLoopについて公式ドキュメント…

【C#】複数のCancellationTokenを合成したCancellationTokenSourceを生成する

C#

はじめに 今回は複数のCancellationTokenが存在したとき、いずれか一つでもキャンセルされればキャンセル状態になるCancellationTokenSourceを生成したいと思います。docs.microsoft.com はじめに やり方 やり方 実現するためにはCancellationTokenSource.Cr…

【UniRx】AsyncSubject<T>を使ってOnCompletedされたときに最後に入力された値を出力する

はじめに 今回はAsyncSubject<T>について実際のコードも触れながら解剖していきたいと思います。github.com はじめに 使い方 仕組み さいごに 使い方 AsyncSubjectはOnCompletedされたときに最後にOnNextされた値を出力します。 [Test] public void AsyncSubjec</t>…

【UniRx】IEnumerable<T>.ToObservable<T>を使って値を順番に発行するObservableに変換する

はじめに 今回はIEnumerable<T>.ToObservable<T>について取り上げたいと思います。github.com はじめに 使い方 仕組みについて さいごに 使い方 IEnumerableを実装しているオブジェクト,いわゆるデータの集まりを指すコレクションに対してToObservableメソッドを</t></t>…

一般大学生の自作ゲームがGoogle Play Indie Games Festival 2021 トップ 20選んでいただけたので色々書き殴る

はじめに この度、私が作った「クローズドサークルからの脱出」というゲームをGoogle Play Indie Games Festival 2021のトップ20に選出していただきました。 Indie Games Festival 2021のトップ20【#IndieGamesFestival 2021】Google Play l Indie Games Fes…

【UniRx,UniTask】IObservable.ToUniTaskメソッドをうまく使いこなそう

はじめに 今回はIObservable.ToUniTaskメソッドについて紹介をしたいと思います。このメソッドを使う事でIObservableを実装しているオブジェクトに対して、OnNextもしくはOnCompletedがされるまで処理を待つようなUniTaskに変換することができます。github.c…

【C#, IL】C#の中間言語ILを読めるようになりたい(SharpLabの紹介)

C# IL

はじめに 私は普段Unityを触っているのですが、Unityのライブラリとして有名なUniRx・UniTaskを作られたneueccさんはIL単位での最適化も行なっているそうです。www.youtube.comいやはや凄すぎて良く分からない世界になってきました。ただ少しでもC#をうまく…

【Unity】ProGridsの導入方法から使い方まで

はじめに 今回はProGridsという公式アセットについて紹介したいと思います。docs.unity3d.com ProGridsを用いることでシーンビューにてグリッドを使ってオブジェクトを配置させることができます。www.youtube.com はじめに 導入方法 表示されないとき ProGri…

【Unity,UniTask】TestRunnerでasync/awaitを使った非同期処理のテストはUniTask.ToCoroutineを使うと簡単

はじめに 今回はasync/awaitのテストについて取り上げたいと思います。今までTask.Runを使ってみたりでなんとか対応させていましたが、UniTask.ToCoroutineを使うことでもっとスマートに書けることを後輩に教えてもらいました。github.com一応公式のGitHubに…

【UniTask】AsAsyncUnitUniTaskを使ってUniTaskからUniTask<AsyncUnit>に変換をする

はじめに 今回はAsAsyncUnitUniTaskを紹介したいと思います。突然ですが、UniTaskを利用していて以下のような状態になっとことはないでしょうか。 // 完了済のUniTaskを生成(awaitした瞬間10が返ってくる) UniTask<int> task1 = UniTask.FromResult(10); // 1フレ</int>…

【UniTask】UniTaskCompletionSourceを使って好きなタイミングで結果を確定させるUniTaskを生成する(ついでにUniTask.Voidの紹介)

はじめに 今回はUniTaskCompletionSourceについて紹介したいと思います。github.comUniTaskCompletionSourceを使うことで好きなタイミングで結果を確定させるUniTaskを生成することができます。早速見ていきましょう。 はじめに UniTaskCompletionSource Uni…

【Unity】Aspect Ratio Fitterを使って画像のアスペクト比を一定にしながらサイズを変更する

はじめに 今回は画像のアスペクト比を一定にすることができるAspect Ratio Fitterコンポーネントについて紹介したいと思います。 Aspect Ratio Fitterの有無早速みていきましょう。 はじめに Aspect Ratio Fitter Width Controls Height Height Controls Wid…

【UniRx, UniTask】ReactivePropertyをawaitしたらどうなるか(awaitした後ReactivePropertyの値が変わるまで)

はじめに UniRxを使っていたところ、PeactivePropertyをawaitしたらどうなるか気になりました。そこで今回は実験していきたいと思います。 はじめに ReactivePropertyをawaitする Observableをawaitする さいごに ReactivePropertyをawaitする 結論からいう…

【UniTask】SuppressCancellationThrowを使ってキャンセルを返り値として取り出す

はじめに 今回はSuppressCancellationThrowについて触れていきたいと思います。SuppressCancellationThrowの使い場面は簡単に言うと、タスクがキャンセルされたかどうかを返り値として取り出す場合です。 // 通常 try { await NormalTask(ctx.Token); } catc…

【C#,Unity】DIコンテナを使う前にPoor man’s dependency injectionを検討してみてはどうでしょうか

はじめに UnityでDI ContainerといったらZenjectやExtenject,VContainerあたりが有名ですよね。Dependency Injectionパターンを利用する場合は誰がインスタンスを生成・注入するかが難しい問題になりますが、その解決法の一つとしてDI Containerが利用され…

ひろゆき「なんですか? 『写像』って…」→「それって写像じゃないですよね?」

はじめに 今日はいつもと違って数学の話をしたいと思います。大学院で離散数学の授業を受けているのですが、ちょうど写像の話題になりました。写像といえばひろゆきさんがこちらのシーンが有名ですよね。 勝間「違うんですよ! リアルの話に対してのインター…

【Unity】ShaderGraphでCustomFunctionNodeを用いてガウシアンフィルタを作成する

はじめに 今回はShaderGraphのCustomFunctionNodeを使ってみようという記事になります。docs.unity3d.comCustomFunctionNodeは一言で言えば、自分で動作を記述することができるノードということでしょうか。細かい説明はそれぞれの箇所でしますが、今回目的…