はなちるのマイノート

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

Unity

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

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

【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あたり?か…

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

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

【Unity】PlayerPrefsを自由自在に操れるようまとめてみる

はじめに 今回はデータのセーブ・ロード行う機能であるPlayerPrefsについて取り上げたいと思います。 docs.unity3d.comPlayerPrefsの全機能を網羅する予定なのであしからず。 はじめに セーブする 注意点 ロードする 注意点 セーブデータを削除する すべての…

【Unity】NuGetパッケージをUnity上でダウンロードする手順

はじめに 今回はUnity上でNuGetパッケージをダウンロードしてみたいと思います。実は以前Visual StudioでNuGetパッケージをダウンロード&ビルドして、Unityに取り込むというかなり回りくどいことをしていました。 www.hanachiru-blog.comしかし調べてみたと…

【Unity】PUN2でみんなでお絵かきできるRawImageを作ってみる

はじめに 今回はPhoton Unity Networking 2 (PUN2)を使った複数人で共有してお絵描きできるキャンバスを作ってみたいと思います。 動作の様子 はじめに 準備 ルームに自動で入るように 線を描画するアルゴリズム Vector2.Lerpを使う方法 ブレゼンハムの線分…

【Unity】Visual Studio を使用するように Unityの設定をする

はじめに 今回はVisual Studioを使用するようにUnityの設定をする方法について紹介したいと思います。基本的にUnityをインストールする際にVisual Studioもインストールされるはずなので、Visual Studioがインストール・セットアップされている前提で話を進…

【Unity】UniRxで使える自作Subjectを作ってみる

はじめに UniRxにはSubjectというクラスがあり,イベント駆動でコーディングするにはほぼ必須と言っても過言ではないのでしょうか。今回はそんなSubjectへの理解を深めるために,自作Subjectを作ってみたいと思います。 はじめに 自作Subject テスト 最後に …

【C#】データ構造と処理を分離するVisitorパターンを学ぶ

はじめに 今回はデータ構造と処理を分離する目的で用いられるデザインパターンVisitorパターンを紹介したいと思います。 クラス図 はじめに 登場人物 データ構造側 処理の記述側 データ構造側のコード 処理を記述するコード テスト データの集合を扱うクラス…

【Unity】Riderの始め方の手順を丁寧に解説(学生なら無料)

はじめに 今回はRiderの始め方について紹介していきたいと思います。 はじめに Riderの魅力 ダウンロード アカウントと紐づける Unityと連携する 日本語化する Riderの魅力 Riderとは何か、魅力はどんなところかはこちらのスライドが参考になると思います。 …

【Unity】「Google Play In-app Review」を使ってAndroidでiOSのようにゲーム内レビューを実装する

はじめに 2020年8月あたりにIn-app ReviewというAPIがAndroidに実装され、ゲーム内にレビューのポップアッグができるようになったようです。 android-developers.googleblog.comまたUnity公式がこちらのAPIをUnityで使えるようにできるパッケージを用意して…

【Unity】iOSのアプリをリリースするときにAbMobの本番広告を実装してはいけない件

はじめに iOSアプリをリリースするときに、未リリースアプリ(Apple Storeに表示されていない)に本番広告は出てきません。【未リリースiOSアプリへのAdMob実装は待って!】リリースしていないアプリへ、AdMobの実装をしても、広告が表示できません。それが原…