はなちるのマイノート

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

【Unity】IJobParallelForTransformを初めて使ってみる

はじめに 今回はTransformに対して動作するようなParallelFor jobについて取り上げたいと思います。 今回実装するものまた用語の整理をさせていただくとこんな感じ。 ・ParallelForTransformジョブはIJobParallelForTransformインターフェースを実装するジョ…

【Unity】UniRxのIObservable<T>.Debugメソッドの利用方法と仕組みの考察(デバッグ・テストに便利)

はじめに 今回はUniRxのテスト・デバッグに使えるIObservable<T>.Debugを紹介したいと思います。 動作例github.com はじめに 概要 利用サンプル 仕組み 概要 IObservable<T>.Debugオペレーターを挟むことで、以下のタイミングでログを出力することができます。 pub</t></t>…

【Unity】依存するアセットを一覧で表示してくれるEditorUtility.CollectDependencies

はじめに 今回はEditorUtility.CollectDependenciesという依存する全てのアセットを取得できる便利メソッドを紹介したいと思います。docs.unity3d.com 動作している様子 はじめに EditorUtility.CollectDependencies 活用例 公式サンプル ヒエラルキー上のゲ…

【Unity】複数人でアセットを共有するなら、組織を結成してアセットの割り当てを行こなおう

はじめに Unityは少し前にアセット割り当ての機能が実装されました。 2020年5月12日から Unity は、組織のオーナーが組織の任意のメンバーにアセットシートを割り当てることができる機能を導入しました。これは、サブスクリプションのライセンスシートと同様…

【Unity】JobSystemを初めて触ってみる

はじめに 今回はJobSystemを始めて使ってみようという記事になります。docs.unity3d.comただ公式ドキュメントもしっかり日本語対応していて、割と読みやすいと思うのでより理解を深めたい場合は是非見てみるとよいでしょう。 はじめに その前に 始め方 manif…

【Unity】Unity.Mathematics.Randomの使い方について網羅的に

はじめに 先日DOTSについての記事を書いていたのですが、UnityEngine.Random.Rangeを利用しようとしたら以下のようなエラーが出てきてしまいました。 UnityEngine::UnityException: RandomRangeInt can only be called from the main thread. Constructors a…

Unityの技術ブログを3年半続けてどれくらいPV・収益をあげられたか大公開【2021年】

はじめに 今年もやってきました、ブログのPV・収益公開企画になります。www.hanachiru-blog.com はじめに 現状の説明 2021年のPVの遷移 収益 考察 さいごに 現状の説明 現時点(2022/1/1)でこのブログは以下のような状況になります。 2018/07/22に記事を初投…

2021年を振り返り、アプリやSwitchリリース・インターンなど

2021年も今日で終わりですね。毎年振り返り記事を書いていたので、今年もやっていきたいと思います。www.hanachiru-blog.com 1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月 さいごに 1月 2月1日にリリースするアプリ(厳密には1月下旬に一部ストアに公…

【Unity】Unity公式のDOTS(Data-Oriented Technology Stack)解説動画を見ながら簡単なゲームを作る

はじめに 今回はこちらのDOTS(Data-Oriented Technology Stack)の公式解説動画をやっていきたいと思います。 www.youtube.comこのブログ記事では上の動画のまとめ的な感じにしたいと考えてますが、時間がある方は素直に動画を見ていただいた方がいいかもしれ…

【Unity】DocFXを用いてプロジェクトのドキュメントを自動生成する

はじめに 今回はDocFXというドキュメント生成ツールを使い、Unityプロジェクトのドキュメントを作っちゃおうという記事になります。dotnet.github.io 自動生成したドキュメント はじめに DocFXをインストールする 出力先のフォルダを作成する ドキュメント化…

【Unity】AdMobを実装して、ダミー広告を表示するまで(2021/12/18)

はじめに 久しぶりにAdMobを実装したいと思うのですが、手順をすっかり忘れてしまたので備忘録の意味合いも兼ねて残しておきたいと思います。developers.google.com ダミー広告表示の様子 はじめに AdMobプラグインをインポートする Mobile Ads SDKが含まれ…

【Unity】エディタ拡張の設定をEditorUserSettingsで保存する

はじめに 今回はEditorUserSettingsについて取り上げたいと思います。 stephenhodgson.github.io EditorUserSettingsを利用して前回の設定を引き継ぐようにする はじめに 概要 使い方 応用例 概要 プロジェクト単位でエディタ情報を保存するためにEditorUser…

【Unity】従来のPhysXに比べてUnity Physics最強だと思いたかったけど失敗した件【DOTS】

はじめに ネットサーフィンをしていたところ、以下の動画を見つけました。www.youtube.comDOTSを利用しているUnity Physicsですが、これほどまで違うのかと感じます。ただ私はまだ信用していません。なぜならまだ自分で試していないからです。見せてもらいま…

【Unity】外部アプリ(exe)を起動して標準入出力を用いてやり取りをする

はじめに Unityからexeを起動して、標準入出力によりやり取りを行う処理を書く必要がありました。 Unityと外部プロセスとの標準入出力を用いたやり取りその手法について簡単の書き残しておきたいと思います。 はじめに exeを準備する UnityにExeを取り込む …

【Unity】デリゲート型の変数にメソッドを代入するときキャッシュすることでGC.Allocを防ぐ

はじめに デリゲート型の変数にメソッドを代入しようとした際に、そのやり方だとGC Allocが発生しちゃうよとご指摘いただけたことがありました。 // イメージ private void Update() { hoge.OnCompleted += Fuga; } private void Fuga(){} 実際に発生するの…

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

はじめに 前回前半をやったので、後半やっていきます。 www.hanachiru-blog.com テーマは同じく「動的計画法」です。 はじめに 動的計画法の基本要素 部分構造最適性 重みなし最短路問題 重みなし最長単純道問題 部分問題重複性 最長共通部分列問題 部分列 …

【個人開発】NintendoSwitchに「クローズドサークルからの脱出」をリリースすることができました

こんにちは、はなちるです。タイトルにもある通り、この度私が作成したゲーム「クローズドサークルからの脱出」がNintendo Switchにて発売されることが決定しました。Switch版「クローズドサークルからの脱出」が12月9日(木)に発売します!!ボクセルの女の…

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

はじめに 少し飛びましたが、前回の続きやっていきます。 www.hanachiru-blog.com 今回のテーマは「動的計画法」になります。 はじめに 概要 ロッド切り出し問題 動的計画法適応 トップダウン型の動的計画法 ボトムアップ型の動的計画法 部分問題グラフ 連鎖…

【Unity】MonoBehaviourを継承したクラスにコンストラクターを書いたときの挙動(シリアライズ化のタイミング)

はじめに MonoBehaviorを継承したクラスの初期化はAwakeやStartに書くと思うのですが、実はコンストラクターも一応動作します。 public class Sample : MonoBehaviour { public Sample() { Debug.Log("コンストラクター"); } } ただこの挙動については皆さん…

【Unity,c#】Doxygenで指定のフォルダを解析しないように除外する手順

はじめに 前にDoxygenを使ってドキュメントを生成する記事を書いたのですが、Unityでは外部から導入したファイルの説明も含まれていて分かりづらいと言われてしまいました。 www.hanachiru-blog.com ですので今回は指定フォルダを解析しないように除外する手…

イラストの知識ゼロでも写真からゲームの背景を作ってみたかった【CLIP STUDIO PAINT】

はじめに 最近訳あってノベルゲームを作っているのですが、その背景を作るのに「写真 => イラスト」という手法を用いて挑戦してみています。 ←写真 加工後→福徳稲荷神社 - No: 22600881|写真素材なら「写真AC」無料(フリー)ダウンロードOKただ私は普段イ…

【Unity】返り値を利用しないと警告がでるようになるMustUseReturnValue属性(特にIDisposableのとき便利)

はじめに 今回はMustUseReturnValue属性について紹介したいと思います。pleiades.ioただこの機能はRiderでないと警告はでなく、Visual Studioで確認してみたところ警告が表示されたりエラーになったりもしませんでした。 はじめに 使い方 実際の様子 使い方 …

【Unity】MonoBehaviour.OnValidate()とMonoBehaviour.Reset()でコンポーネントのプロパティの設定を楽にする

はじめに 今回はMonoBehaviour.OnValidate()とMonoBehaviour.Reset()について取り上げたいと思います。MonoBehaviour-Reset() - Unity スクリプトリファレンス MonoBehaviour-OnValidate() - Unity スクリプトリファレンスこれらのメソッドを利用することで…

【Unity】Regex.00を利用した正規表現の結果を手軽に見れるエディタ拡張を作った

はじめに 正規表現がちゃんと書けているかのチェックにいつも時間がかかっていたので、それをなるべく簡単に確認できるようなエディタ拡張をつくってみました。github.com はじめに 使い方 さいごに 使い方 メニューバーからTools -> RegularExpressionWindo…

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

はじめに 前回の続きをやっていきたいと思います。 www.hanachiru-blog.com 今回のテーマは「確率的解析と乱択アルゴリズム」になります。 はじめに 確率的解析 指標確率変数 乱択アルゴリズム 確率的解析 確率的解析は確率を用いる問題の解析手法である。入…

【Unity】Test Runnerでprivateメソッドもテストしちゃうよ

はじめに 今回はUnityのTest Runnerを使って、privateなメソッドもテストしちゃおうという記事になります。まあ簡単に言うとリフレクションを使ってアクセスするだけではありますが、覚えておいて損はないと思います。 はじめに やり方 解説 さいごに やり方…

【Unity】URPのプロジェクトでLight2Dを使い始めるまでの手順

はじめに 今回はURPのプロジェクトにLight2Dを使えるようにするための手順を書いておきたいと思います。 Light2Dを利用した例 はじめに 環境 手順 UniversalRenderPipelineAsset作成 2DRendererData作成 RenderListに設定 Scriptable Render Pipeline Settin…

【Unity】DoTweenにAssembly Definitionファイルがないとお困りの方、公式が生成ボタンを用意してくれてます

はじめに DoTweenにAssembly Definitionファイルないやないかい!!と思っていましたが、どうやら公式がしっかりと生成する処理を作っておいてくれていたみたいです。 同じ犠牲者がいないように、書き残しておきます。 はじめに 対処法 対処法 メニューバー…

【Unity,c#】Doxygenを使ってプロジェクトのドキュメントを自動生成する

はじめに 今回はDoxygenというツールを使って以下の画像のようなドキュメントを生成してみたいと思います。 ドキュメント例 はじめに Doxygenをインストールする GUIツールの概要 生成する さいごに Doxygenをインストールする まずはDoxygenをインストール…

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

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