hasht's notes

ゲームAIやUnityの話題

2018-01-01から1年間の記事一覧

ml-agentsのRollerBallを学習させる

ML

Unityにはml-agentsという、UnityプロジェクトをMLの学習環境に使えるようにするツールがある。 github.com こいつのドキュメントには「学習環境を作ってみよう!」という一見フレンドリーな項があるのだがこれが曲者で、デフォルト設定(config/trainer_con…

Unity公式のFPSゲームサンプル

先日Unity TechnologiesがFPSゲームのサンプルプロジェクトを公開した。 blogs.unity3d.com

「ゲームAI用語辞典」が誕生した

電ファミニコゲーマーが三宅陽一郎氏(日本で最もゲームAI技術・コミュニティの発展に尽力している人)監修でゲームAI専門のwikiを開設したとのこと。 wiki.denfaminicogamer.jp

自動QA・バランス調整の事例

(2018/10/10 リンクミスを修正) CEDEC2018の「次世代QAとAI ~ゲーム開発におけるAI活用に正しく向き合うために~」(詳細、動画)で良い資料(↓のpdfのp.34)が出ていたので、一部補足して載せておく。 cedil.cesa.or.jp

UnityのScriptableObjectでキャラクターのAIを組む

ScriptableObjectとは インスタンスがアセットとして扱えるクラス。 継承して使う インスタンスがアセットとして保存できる(シリアライズ可能なプロパティだけ) AssetDatabase.CreateAssetで保存 Resources.LoadやAssetDatabase.LoadAssetAtPathでロード

A*の気持ち

NavMesh上の経路探索アルゴリズムとしてはA*が代表的。 A*アルゴリズムのちゃんとした説明は日本語でも沢山あるので、気持ちの面だけ書き綴る。 まずはDijkstra法の話をして、その改良という形でA*の話をする。

Human-like衝突回避アルゴリズム

CEDEC2017のFFXVセッションで紹介されていたhuman-like(HL)衝突回避アルゴリズムについて。 cf. CEDiL (資料は要ログイン)

ハーフエッジデータ構造

ナビゲーションを行う場合、マップを表現するグラフ(NavMeshなど)のトポロジー的な構造を頻繁に参照することになる。頂点に接している辺を得る、辺に接している面を得る、など。 頂点配列とそのインデックスの配列といった単純な形でグラフを格納するとこ…

キャラクターの移動制御におけるステアリング

ステアリング(steering)という概念が説明される機会が少ない気がするので手短に。

RVOによる衝突回避アルゴリズム

衝突回避のアルゴリズムの一つである RVO (Reciprocal Velocity Obstacles) について、日本語の資料が見当たらないので書いておく。 元論文:http://gamma.cs.unc.edu/RVO/icra2008.pdf