$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
BehaviorTree
Search
いも
January 09, 2018
Technology
0
260
BehaviorTree
社内LT大会で発表したやつです
いも
January 09, 2018
Tweet
Share
More Decks by いも
See All by いも
UnityプログラミングバイブルR6号宣伝&Unity Logging小話
adarapata
0
590
Unityテスト活動のふりかえり
adarapata
1
600
Gather.townはいいぞ その後
adarapata
1
1.6k
Unityでの開発事例
adarapata
3
23k
どこのご家庭にもあるシーンマネージャーの話
adarapata
2
8.4k
Gather.townはいいぞ
adarapata
2
2.4k
宴はいいぞ
adarapata
0
1.6k
わかった気になるモブプログラミング
adarapata
1
130
モブワークっぽいのをやっている話/Trying mobwork
adarapata
2
1.3k
Other Decks in Technology
See All in Technology
生成AIを利用するだけでなく、投資できる組織へ / Becoming an Organization That Invests in GenAI
kaminashi
0
110
生成AI活用の型ハンズオン〜顧客課題起点で設計する7つのステップ
yushin_n
0
250
ウェルネス SaaS × AI、1,000万ユーザーを支える 業界特化 AI プロダクト開発への道のり
hacomono
PRO
0
160
文字列の並び順 / Unicode Collation
tmtms
3
610
AWS Security Agentの紹介/introducing-aws-security-agent
tomoki10
0
320
Microsoft Agent 365 についてゆっくりじっくり理解する!
skmkzyk
0
390
「図面」から「法則」へ 〜メタ視点で読み解く現代のソフトウェアアーキテクチャ〜
scova0731
0
370
regrowth_tokyo_2025_securityagent
hiashisan
0
260
Sansanが実践する Platform EngineeringとSREの協創
sansantech
PRO
2
940
Reinforcement Fine-tuning 基礎〜実践まで
ch6noota
0
190
AIの長期記憶と短期記憶の違いについてAgentCoreを例に深掘ってみた
yakumo
4
460
AIエージェント開発と活用を加速するワークフロー自動生成への挑戦
shibuiwilliam
4
360
Featured
See All Featured
Designing for Performance
lara
610
69k
The Pragmatic Product Professional
lauravandoore
37
7.1k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Marketing to machines
jonoalderson
1
4.3k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
0
170
Leadership Guide Workshop - DevTernity 2021
reverentgeek
0
160
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.2k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
22
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
63
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
69
The Mindset for Success: Future Career Progression
greggifford
PRO
0
180
The SEO Collaboration Effect
kristinabergwall1
0
300
Transcript
Behavior Tree imo
imo です https://adarapata.com/
AI のおはなし
みなさんはAI を作るときどう してますか?
僕は作ったことありません 一緒に勉強しましょう
アクションゲー ムのキャラのAI を作り たい 動かない( 静止) 索敵範囲内に敵がいたら接近 攻撃範囲内に敵がいたら攻撃 接近中に相手が攻撃してきたら回避 静止中は一定確率で踊る
ステー トマシンで書いてみる 5 つの行動を「 状態」 と考える それぞれの状態遷移先を定義する 実装は割と楽
ステー トマシンのデメリット 状態が増えると遷移が爆発的に増える 遷移が増えると複雑性が増し、 管理しにくい 状態と遷移条件と紐づくため、 再利用性が低い
そこでBehaviorTree
BehaviorTree 振る舞いをツリー 状で管理する手法 状態ではなく振る舞いを定義する ステー トマシンより複雑な意思決定を行える 今のゲー ム業界AI はこれが多いらしい 発祥は「Halo2」
とのこと
どんなの? ↑ だとよくわからんのでUnity 上でBehaviorTree を扱 うアセットで見る
基本は左から深さ優先探索していく
ノー ド Tree を構成する要素 以下のどれかのステー タスをもつ READY: 初期化 SUCCESS: 成功
FAILURE: 失敗 RUNNING: 実行中 ステー タスを親ノー ドに返して評価する
ノー ドの種類 基本的なやつは以下 Action Conditional Sequence Selector Decorator
Action ノー ド 実際に実行する処理のノー ド 子を持たないリー フノー ド 今回だと攻撃とか踊るとかのロジック アクションに対しての成否を返す
Conditional ノー ド 条件判定を行うノー ド 子を持たないリー フノー ド 今回だと敵が攻撃してきたか? などの部分
条件判定の成否を返す
Sequence ノー ド いわゆるAND ノー ド 必ず子を持つ 子を左から順番に実行する 子から成否をもらい、 否が返ってくると終了して
親に返す 否が来ない限り、 子を全部実行する
Selector ノー ド いわゆるOR ノー ド 必ず子を持つる 子を左から順番に実行する 子から成否をもらい、 成が返ってくると終了する
Decorator ノー ド 今回使ってない Action の結果に装飾を行うノー ド Action は成功したけど強制的に失敗とか
例: 敵が攻撃範囲内にいた場合
例: 敵が索敵範囲内にいる、 且つ攻撃はしていない
例: 敵が攻撃範囲にも索敵範囲にもいない、 踊らない
Behavior Tree のいいところ ステー トマシンより複雑な条件に対応できる 小さなノー ドの組み合わせで表現するため、 変更 しやすい ステー
トマシンと共存可能 パズルみたいで楽しい( 個人の感想) 気をつけるところ 単純な挙動にもツリー の作成が必要 ステー トマシンよりはリソー スが必要
出稼ぎダンジョンの敵キャラの例
便利
おわり