UnityとゲームAIと将棋

Unity、Pythonを中心にゲーム開発やゲームAI開発の技術メモ等、たまに将棋も

Unity

【Unity】UIDocumentとuGUI(Canvas)のSortOrderの関係

結論 uGUIとUIDocumentのSortOrderによる描画順を制御するには UIDocumentの "Panel Settings" 側にあるSortOrderを変更する必要がある。 概要 uGUI(Canvas)によるUIとUIToolkitで作成したUIの描画順をSortOrderで制御するにはどうしたらいいか調べていたと…

【C#】List<T>とIEnumerable<T>の選択についてのメモ

結論 メソッド引数の場合 基本的にはIEnumerableを利用。IEnumerableの方がメモリ効率が良いため。 Listを使うのは下記のような場合。 要素数の取得をする foreach文を2回以上通過する 内部で配列やリストに変換している メソッド戻り値 基本的にはListなど…

【Unity】リリースビルドからデバッグ用コードを除外したい時のシンボル

結論 DEVELOPMENT_BUILD || UNITY_EDITORのシンボルで括る #if DEVELOPMENT_BUILD || UNITY_EDITOR #endif 詳細 Unityで開発をしていると リリース時はデバッグ用機能を無効、除外したい Developmentモードのビルド時はデバッグ機能有効にしたい Editor上で…

【Unity】MLAgentsでターン制ゲームのAIを実装する時の行動決定方法

結論 RequestDecisionメソッドを使用する 詳細 Unity MLAgentsで自作ゲームのAIを実装する際に、サンプルの実装を参考にすると思いますが、サンプルゲームにはリアルタイム性の強いものが多く、ほとんどが下記の画像ようにDecisionRequesterのコンポーネント…

【Unity】C#におけるアップキャストとダウンキャスト

Unityでゲームの開発をしている時に派生クラスで追加したフィールドに、取得した基底クラスのインスタンスを使ってアクセスしたいというケースがありました。 このケースを解決するためにアップキャストとダウンキャストについて調べていた際、以下の二つの…

Riderの設定をする時に参考にした記事まとめ

Riderの設定をカスタマイズする時に参考にさせてもらった記事をまとめておきます。 shibuya24.info kan-kikuchi.hatenablog.com unity-yuji.xyz qiita.com shibuya24.info qiita.com pleiades.io

【Unity】デザインパターンに関する解説記事のメモ

Unityでの開発で用いられるデザインパターンについての解説記事で分かりやすかったものをまとめておきます。 ■Singletonパターン zenn.dev ■MVPパターン developers.cyberagent.co.jp ■Factoryパターン coacoa.net ■Unity公式のデザインパターンに関するblog…

【Unity】MVPパターンに関する情報メモ

MVPパターンとはModel-View-Presenterパターンの略で、GUI周りに関するデザインパターンの一つです。個人でゲーム開発をしている際にUI周りのコードを分かりやすく書きたくなって、それならばMVPパターンを使ってみようと思ったので、参考になりそうなリンク…

【Unity】Unity上でニューラルネットを組みたい時に使えるライブラリ候補のメモ

Unityでニューラルネットワークを組みたい場合にPythonでのPytorchやNumpyのように利用できそうなライブラリをメモしておく。 TorchSharp .NETからPytrochを利用できるようにバインドしたライブラリ。.NET公式。モバイル機器での動作には対応していないらし…

【Unity】PrefabのInstantiateやロードが重いことに関する情報メモ

Unityでゲーム開発をしていて、Prefabを生成する際に画面がハングする問題に悩まされていたので、その際に調べたリンクをメモしておく。 qiita.com www.snoopopo.com crosstie-bell.com これらの記事を読んでいて個人的に助かった情報は以下の二つ。 Instant…

【Unity】深層学習用ライブラリ "KelpNet" を使ってみる

本記事の概要 ※Qiitaからはてなブログに引っ越しました! 本記事ではC#向け深層学習用ライブラリKelpNetを使って簡単な学習を行う方法を解説します。 学習のサンプルとしてはFNNでXORの学習を行うコードを作成し、Editor拡張上で学習を実行します。 KelpNet …

【Unity】遺伝アルゴリズム用ライブラリ "GeneticSharp" を使ってみる

本記事の概要 ※Qiitaからはてなブログに引っ越しました! 本記事では、C#向け遺伝アルゴリズム用ライブラリ "GeneticSharp" に関して Unity上に導入する方法 Unity上でのGeneticSharpの使い方 遺伝アルゴリズムを使って簡単な問題を解く方法 をまとめていま…