はなちるのマイノート

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

【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は一言で言えば、自分で動作を記述することができるノードということでしょうか。細かい説明はそれぞれの箇所でしますが、今回目的…

【Unity】ShaderGraphでDissolveシェーダーを作って優勝するわね

はじめに 先日このようなものを作ってみました。キャラクターにDissolveシェーダーを適応してみました作るのが簡単な割に良い感じに見えるからコスパが良し pic.twitter.com/2NKiMN8l3f— はなちる@ゲーム制作 (@hanaaaaaachiru) June 2, 2021 Dissolveシェー…

【Excel】エクセルでうまぴょい伝説(動画)を再生させたみた

はじめに 先日このようなものを作ってみました。エクセルで「うまぴょい伝説」を再生(描画)してみました作って分かったことはVBAがかなり使いづらいこととセルの書式の変更の処理が重いことと、ライスシャワーは解像度が低くても可愛いこと pic.twitter.com/…

【UniRx】ファクトリメソッドObservable.Create<T>を解剖してみよう

はじめに 今回はUniRXのObservable.Create<T>についてソースコードを交えながら見ていきたいと思います。github.com はじめに 使い方 Observable.Createの中身 CreateObservable<T>の中身 OperatorObservableBase さいごに 使い方 var observable = Observable.Cre</t></t>…

【Unity】すごい早いという噂のDIコンテナ「VContainer」を始めて触ってみる

はじめに 今回は巷で噂のVContainerについての記事を書きたいと思います。github.comUnityのDIコンテナといえばZenjectであったり、Extenjectが有名でしたがそれらと比較して性能が全体的に良いようです。GitHubを見ればこれでもかというほどZenjectとのパフ…

【Unity】同じコンポーネントをアタッチさせないようにするDisallowMultipleComponent属性について

はじめに 今回は同じコンポーネントをアタッチさせないようにする[DisallowMultipleComponent]について書いていきたいと思います。 はじめに DisallowMultipleComponentとは 使い方 DisallowMultipleComponentとは まずは公式ドキュメントを見てみましょう。…

【Unity】TextMeshProの容量を指定した文字だけ入れて減らす手順

はじめに 昔これに似た記事を書いたのですが、今回はさらに簡単にできる手順があったので再度記事にしたいと思います。 (前記事では比較実験もしていますが、今回は手順をつらつらと書いていきます)www.hanachiru-blog.comまず前提としてTextMeshProはFont…

【Unity】No 'git' executable was found. Please install Git on your system then restart Unity and Unity Hubというエラーの対処法(Windows)

はじめに Unityのプロジェクトを開こうとしたところ以下のエラーが出てきちゃいました。 An error occurred while resolving packages: Project has invalid dependencies: com.neuecc.unirx: No 'git' executable was found. Please install Git on your sy…

【C#】C#でAWS Lambda & API Gatewayを使ってWebAPIを作る(Windows)

はじめに 最近知ったのですが,AWS LambdaがC#に対応しているらしいです。C#大好きっ子としては触らなきゃということで簡単なWebAPIを作ってみました。 AWS Lambda はサーバーレスコンピューティングサービスで、サーバーのプロビジョニングや管理、ワークロ…

【C#】ovverrideとnewの挙動の違い(アップキャストしたときに違います)

C#

はじめに overrideとnewの二つのキーワードの挙動の違いについて書いていきたいと思います。詳細を知りたい方は公式ドキュメントを見てみてください↓ docs.microsoft.com はじめに 挙動の違い さいごに 挙動の違い overrideとnewキーワードは派生クラスをア…

【数学】命題と論理式,その証明のチートシート

ド・モルガンの法則 存在記号 ex. の否定 の証明 How to prove Find x so that P(x) is true. Prove that Q(x) is true. 全称記号 ex. の否定 の証明 How to prove Let x be any element satisfying P(x). Prove Q(x) 命題が偽であることの証明 Statement X.…

「イラスト人狼オンライン」というゲームの予約を開始しました

現在,「イラスト×人狼」をテーマにしたオンラインゲームを開発しています。「イラスト×人狼」をテーマにしたオンラインゲームを作成していて、先程予約トップ10さんに掲載させていただきました!ルールは一人だけ異なるお題が出され、一筆ずつイラストを描…

【UniRx】IDisposableをまとめてDisposeするためのCompositeDisposableクラスを利用する

はじめに 今回はUniRxのCompositeDisposableクラスについて取り上げたいと思います。UniRx/CompositeDisposable.cs at master · neuecc/UniRx · GitHub具体的な使い方から,実際のコードを見ながらのTipsについても触れていきたいです。 はじめに 使い方 Tip…

【Unity】Color構造体から文字列のカラーコードへと変換する(Color⇄カラーコード)

はじめに 今回はUnityEngine.Colorからカラーコード(string)への変換方法について紹介したいと思います。 すること はじめに Color構造体 -> カラーコード カラーコード -> Color構造体 Color構造体 -> カラーコード 実現するには以下のメソッドを使うだけで…

【Unity】Maskの逆バージョン、内側くりぬきができる「Unmask For UGUI」を初めて使う

はじめに 今回はMaskとは逆に、内側をくりぬくことができるUnmask For UGUIについて紹介したいと思います。 サンプル1サンプル2github.com はじめに インストール方法 基本的な使い方 ボタンを使った使い方 さいごに インストール方法 Unity2018.3あたり?か…

【Mac】Docker Desktopの自動起動を停止する

はじめに Docker Desktopはパソコンが起動すると自動で起動する設定にデフォルトではなっていますが、どうやら消費電力に占めるDocker Desktopの割合が高いみたいでした。ですので今回はDocker Desktopの自動起動の停止方法について紹介したいと思います。 …

【翻訳】自作ゲームをローカライズする方法(ココナラ)

はじめに 今回はゲームアプリ「クローズドサークルからの脱出」を実際にローカライズした経験をもとに、ローカライズをする方法と手順について書いていきたいと思います。play.google.comローカライズの方法について書く前に、自分で翻訳してしまえば良いじ…

【Unity】Device SimulatorがPackageManagerの一覧から降格した件

はじめに デバイス上での描画をエディタで確認できるDevice Simulator。いつものようにPakcage Managerからインストールしようとしたところ一覧に表示されていませんでした。www.hanachiru-blog.com 調べてみたところPackageManagerで表示されるパッケージが…

【Unity】機能の階層と実装の階層を分けるBridgeパターンを学ぶ

はじめに 今回は機能の階層と実装の階層を分けるBridgeパターンを紹介したいと思います。 クラス図 はじめに 概要 登場人物 実装例 さいごに 概要 wikipedia先輩には以下のように表記されていました。 Bridge パターン(ブリッジ・パターン)とは、GoF(Gang…

【Unity】状態に応じてクラスの振る舞いを切り替えるStrategyパターンを学ぶ

はじめに 今回はアルゴリズムを切り替えるStrategyパターンについて紹介したいと思います。 クラス図 はじめに 概要 登場人物 実装例 さいごに 概要 wikipediaには以下のように表記されていました。 Strategy パターン(ストラテジー -)は、コンピューター…