Skip to main content
Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
EN
Upload
Download free for 30 days
Sign in
Uploaded by
Masahiko Nakamura
18,279 views
UE4におけるキャラクタークラス設計
UE4プログラマー向け勉強会 in 大阪で喋った時に使用したスライドです。 https://connpass.com/event/76815/
Engineering
◦
Read more
25
Save
Share
Embed
Save to Drive
Download now
Downloaded 61 times
1
/ 57
2
/ 57
3
/ 57
4
/ 57
5
/ 57
6
/ 57
7
/ 57
8
/ 57
9
/ 57
10
/ 57
11
/ 57
12
/ 57
13
/ 57
14
/ 57
15
/ 57
16
/ 57
17
/ 57
18
/ 57
Most read
19
/ 57
20
/ 57
More Related Content
PPTX
UE4のためのより良いゲーム設計を理解しよう!
by
Masahiko Nakamura
77 slides
30.9K views
PDF
猫でも分かる UE4の新しいサンプル「Action RPG」について
by
エピック・ゲームズ・ジャパン Epic Games Japan
136 slides
37K views
PDF
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
by
エピック・ゲームズ・ジャパン Epic Games Japan
153 slides
38.8K views
PDF
猫でも分かるUE4.22から入ったSubsystem
by
エピック・ゲームズ・ジャパン Epic Games Japan
85 slides
23.9K views
PDF
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について
by
com044
116 slides
29K views
PPTX
猫でも分かる UE4のAnimation Blueprintの運用について
by
エピック・ゲームズ・ジャパン Epic Games Japan
108 slides
79.1K views
PDF
UE4のローカライズ機能紹介 (UE4 Localization Deep Dive)
by
エピック・ゲームズ・ジャパン Epic Games Japan
141 slides
29.4K views
PDF
メカアクションゲーム『DAEMON X MACHINA』 信念と血と鋼鉄の開発事例
by
エピック・ゲームズ・ジャパン Epic Games Japan
150 slides
16.5K views
UE4のためのより良いゲーム設計を理解しよう!
by
Masahiko Nakamura
77 slides
30.9K views
猫でも分かる UE4の新しいサンプル「Action RPG」について
by
エピック・ゲームズ・ジャパン Epic Games Japan
136 slides
37K views
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
by
エピック・ゲームズ・ジャパン Epic Games Japan
153 slides
38.8K views
猫でも分かるUE4.22から入ったSubsystem
by
エピック・ゲームズ・ジャパン Epic Games Japan
85 slides
23.9K views
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について
by
com044
116 slides
29K views
猫でも分かる UE4のAnimation Blueprintの運用について
by
エピック・ゲームズ・ジャパン Epic Games Japan
108 slides
79.1K views
UE4のローカライズ機能紹介 (UE4 Localization Deep Dive)
by
エピック・ゲームズ・ジャパン Epic Games Japan
141 slides
29.4K views
メカアクションゲーム『DAEMON X MACHINA』 信念と血と鋼鉄の開発事例
by
エピック・ゲームズ・ジャパン Epic Games Japan
150 slides
16.5K views
What's hot
PDF
『バランワンダーワールド』でのマルチプラットフォーム対応について UNREAL FEST EXTREME 2021 SUMMER
by
エピック・ゲームズ・ジャパン Epic Games Japan
40 slides
5.4K views
PDF
UE4におけるレベル制作事例
by
エピック・ゲームズ・ジャパン Epic Games Japan
178 slides
40.3K views
PDF
UE4 LODs for Optimization -Beginner-
by
com044
173 slides
12.5K views
PDF
Unreal Engine 4を使って地球を衛る方法
by
エピック・ゲームズ・ジャパン Epic Games Japan
167 slides
37.4K views
PDF
猫でも分かる Control Rig UE4.25 版
by
エピック・ゲームズ・ジャパン Epic Games Japan
164 slides
30.7K views
PPTX
UE4 MultiPlayer Online Deep Dive 基礎編2 -Traveling- (historia様ご講演) #ue4dd
by
エピック・ゲームズ・ジャパン Epic Games Japan
63 slides
13.8K views
PDF
UE4におけるエフェクトの為のエンジン改造事例
by
エピック・ゲームズ・ジャパン Epic Games Japan
243 slides
36.2K views
PDF
目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -
by
historia_Inc
158 slides
31.8K views
PDF
UE4における大規模レベル実装ワークフローとブループリント活用事例
by
エピック・ゲームズ・ジャパン Epic Games Japan
196 slides
21.8K views
PDF
UE4のシーケンサーをもっともっと使いこなそう!最新情報・Tipsをご紹介!
by
エピック・ゲームズ・ジャパン Epic Games Japan
163 slides
49.8K views
PPTX
UE4ローカライズ事例 (UE4 Localization Deep Dive)
by
エピック・ゲームズ・ジャパン Epic Games Japan
45 slides
21.3K views
PDF
徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!
by
エピック・ゲームズ・ジャパン Epic Games Japan
115 slides
13.1K views
PDF
UE4勉強会 in 大阪 - もっとアニメーションBP
by
com044
154 slides
13.1K views
PPTX
猫でも分かるUMG
by
エピック・ゲームズ・ジャパン Epic Games Japan
120 slides
65.6K views
PDF
[UE4]自動テストでもっと楽したい!
by
com044
139 slides
21.1K views
PDF
Nintendo Switch『OCTOPATH TRAVELER』はこうして作られた
by
エピック・ゲームズ・ジャパン Epic Games Japan
153 slides
21.5K views
PDF
UE4で作成するUIと最適化手法
by
エピック・ゲームズ・ジャパン Epic Games Japan
158 slides
21K views
PDF
[UE4]マテリアルの注意すべきこと!~テクスチャロードとSwitch~
by
com044
136 slides
19.2K views
PDF
UE4のマテリアルを もっと楽しもう!~マテリアルでぐっと広がるリアルタイムCG表現の幅~
by
エピック・ゲームズ・ジャパン Epic Games Japan
22 slides
21.3K views
PDF
非同期ロード画面 Asynchronous Loading Screen
by
エピック・ゲームズ・ジャパン Epic Games Japan
37 slides
12.4K views
『バランワンダーワールド』でのマルチプラットフォーム対応について UNREAL FEST EXTREME 2021 SUMMER
by
エピック・ゲームズ・ジャパン Epic Games Japan
40 slides
5.4K views
UE4におけるレベル制作事例
by
エピック・ゲームズ・ジャパン Epic Games Japan
178 slides
40.3K views
UE4 LODs for Optimization -Beginner-
by
com044
173 slides
12.5K views
Unreal Engine 4を使って地球を衛る方法
by
エピック・ゲームズ・ジャパン Epic Games Japan
167 slides
37.4K views
猫でも分かる Control Rig UE4.25 版
by
エピック・ゲームズ・ジャパン Epic Games Japan
164 slides
30.7K views
UE4 MultiPlayer Online Deep Dive 基礎編2 -Traveling- (historia様ご講演) #ue4dd
by
エピック・ゲームズ・ジャパン Epic Games Japan
63 slides
13.8K views
UE4におけるエフェクトの為のエンジン改造事例
by
エピック・ゲームズ・ジャパン Epic Games Japan
243 slides
36.2K views
目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -
by
historia_Inc
158 slides
31.8K views
UE4における大規模レベル実装ワークフローとブループリント活用事例
by
エピック・ゲームズ・ジャパン Epic Games Japan
196 slides
21.8K views
UE4のシーケンサーをもっともっと使いこなそう!最新情報・Tipsをご紹介!
by
エピック・ゲームズ・ジャパン Epic Games Japan
163 slides
49.8K views
UE4ローカライズ事例 (UE4 Localization Deep Dive)
by
エピック・ゲームズ・ジャパン Epic Games Japan
45 slides
21.3K views
徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!
by
エピック・ゲームズ・ジャパン Epic Games Japan
115 slides
13.1K views
UE4勉強会 in 大阪 - もっとアニメーションBP
by
com044
154 slides
13.1K views
猫でも分かるUMG
by
エピック・ゲームズ・ジャパン Epic Games Japan
120 slides
65.6K views
[UE4]自動テストでもっと楽したい!
by
com044
139 slides
21.1K views
Nintendo Switch『OCTOPATH TRAVELER』はこうして作られた
by
エピック・ゲームズ・ジャパン Epic Games Japan
153 slides
21.5K views
UE4で作成するUIと最適化手法
by
エピック・ゲームズ・ジャパン Epic Games Japan
158 slides
21K views
[UE4]マテリアルの注意すべきこと!~テクスチャロードとSwitch~
by
com044
136 slides
19.2K views
UE4のマテリアルを もっと楽しもう!~マテリアルでぐっと広がるリアルタイムCG表現の幅~
by
エピック・ゲームズ・ジャパン Epic Games Japan
22 slides
21.3K views
非同期ロード画面 Asynchronous Loading Screen
by
エピック・ゲームズ・ジャパン Epic Games Japan
37 slides
12.4K views
Similar to UE4におけるキャラクタークラス設計
PDF
UE4制作におけるゲームデザイナーのやれること
by
キンアジ ちゃん
60 slides
3.9K views
PDF
オブジェクト指向を学ぼう
by
Yusuke Kikuchi
37 slides
198 views
PPTX
[CEDEC2018] UE4で多数のキャラクターを生かすためのテクニック
by
エピック・ゲームズ・ジャパン Epic Games Japan
207 slides
27.9K views
PDF
新大阪UE4勉強会#1「アクションゲーム開発をしてみて」プログラマ編
by
小屋 聖揮
80 slides
2.2K views
PDF
Unity開発で使える設計の話+Zenjectの紹介
by
torisoup
139 slides
133.6K views
PPTX
UE4 3Dゲーム制作入門 その1 : ベースプロジェクト作成編
by
PaperSloth
133 slides
6.1K views
PDF
UE4におけるエフェクトの基本戦略事例 前半
by
エピック・ゲームズ・ジャパン Epic Games Japan
180 slides
34.5K views
PDF
日本一詳しい人が教えるUE4
by
エピック・ゲームズ・ジャパン Epic Games Japan
56 slides
38K views
PDF
Unityで覚えるC#
by
Masamitsu Ishikawa
57 slides
131.5K views
PPTX
S大学ゲーム制作サークル第一回 超初心者向けUE4チュートリアル(1)
by
ai BlogOnly
109 slides
1.3K views
PPTX
S大学ゲーム制作サークル第一回 超初心者向けUE4チュートリアル(1)
by
ai BlogOnly
110 slides
912 views
PDF
Unity初心者が2 d sprite使ってゲームを作ってみた【前半戦】
by
Toshitaka Muraishi
48 slides
30.9K views
PPT
実行時のために最適なデータ構造を作成しよう
by
Hiroki Omae
21 slides
16.1K views
UE4制作におけるゲームデザイナーのやれること
by
キンアジ ちゃん
60 slides
3.9K views
オブジェクト指向を学ぼう
by
Yusuke Kikuchi
37 slides
198 views
[CEDEC2018] UE4で多数のキャラクターを生かすためのテクニック
by
エピック・ゲームズ・ジャパン Epic Games Japan
207 slides
27.9K views
新大阪UE4勉強会#1「アクションゲーム開発をしてみて」プログラマ編
by
小屋 聖揮
80 slides
2.2K views
Unity開発で使える設計の話+Zenjectの紹介
by
torisoup
139 slides
133.6K views
UE4 3Dゲーム制作入門 その1 : ベースプロジェクト作成編
by
PaperSloth
133 slides
6.1K views
UE4におけるエフェクトの基本戦略事例 前半
by
エピック・ゲームズ・ジャパン Epic Games Japan
180 slides
34.5K views
日本一詳しい人が教えるUE4
by
エピック・ゲームズ・ジャパン Epic Games Japan
56 slides
38K views
Unityで覚えるC#
by
Masamitsu Ishikawa
57 slides
131.5K views
S大学ゲーム制作サークル第一回 超初心者向けUE4チュートリアル(1)
by
ai BlogOnly
109 slides
1.3K views
S大学ゲーム制作サークル第一回 超初心者向けUE4チュートリアル(1)
by
ai BlogOnly
110 slides
912 views
Unity初心者が2 d sprite使ってゲームを作ってみた【前半戦】
by
Toshitaka Muraishi
48 slides
30.9K views
実行時のために最適なデータ構造を作成しよう
by
Hiroki Omae
21 slides
16.1K views
More from Masahiko Nakamura
PPTX
UE4のコンポジット機能をもっと深く使ってみた
by
Masahiko Nakamura
32 slides
13.2K views
PPTX
映像制作者向け UE4で作る映像制作ワークショップ
by
Masahiko Nakamura
20 slides
7.4K views
PPTX
UE4の攻略方法を伝授! より効率よく楽しく学ぶ ための鉄則について
by
Masahiko Nakamura
62 slides
14.7K views
PDF
ゲームエンジンを活用して同人ゲームを完成させるノウハウについて
by
Masahiko Nakamura
63 slides
7.6K views
PPTX
UE4でパノラマVRをやってみよう
by
Masahiko Nakamura
12 slides
3.7K views
PPTX
モバイルゲームにもっとクオリティを!UE4を使ったハイクオリティなモバイルゲーム制作について
by
Masahiko Nakamura
83 slides
19.1K views
PPTX
GGJ2017 事前勉強会 UE4編
by
Masahiko Nakamura
22 slides
4.1K views
PPTX
拳と筋肉とバーチャリアリズム
by
Masahiko Nakamura
11 slides
2.1K views
PPTX
ブループリントマニアックス
by
Masahiko Nakamura
98 slides
22.6K views
PPTX
UE4映像制作ハンズオン@大阪
by
Masahiko Nakamura
21 slides
10.3K views
PPTX
絵心がなくてもわかるUE4絵作りのコツ
by
Masahiko Nakamura
56 slides
13.8K views
PPTX
はじめてのAI~ 愛のあるAIを作ろう
by
Masahiko Nakamura
46 slides
27K views
PDF
Unreal engine 4でのリアルタイムセルルック3DCGアニメーション
by
Masahiko Nakamura
17 slides
5.1K views
PDF
ブループリント+ビジュアルスクリプトと仲良くやる方法
by
Masahiko Nakamura
20 slides
3.4K views
PDF
ゲームジャムでのチーム制作における大事なこと
by
Masahiko Nakamura
15 slides
13.6K views
PPTX
Bullet TrainとOculus Touchの衝撃
by
Masahiko Nakamura
21 slides
3.1K views
PPTX
C++コードはいらない!UE4で作るお手軽マルチプレイネットワークゲームについて
by
Masahiko Nakamura
45 slides
103.3K views
PDF
UE4とUnrealC++について
by
Masahiko Nakamura
45 slides
40.6K views
PDF
第1回UE4名古屋勉強会
by
Masahiko Nakamura
24 slides
68.1K views
PDF
第5回ue4ハンズオンセミナー
by
Masahiko Nakamura
89 slides
144.4K views
UE4のコンポジット機能をもっと深く使ってみた
by
Masahiko Nakamura
32 slides
13.2K views
映像制作者向け UE4で作る映像制作ワークショップ
by
Masahiko Nakamura
20 slides
7.4K views
UE4の攻略方法を伝授! より効率よく楽しく学ぶ ための鉄則について
by
Masahiko Nakamura
62 slides
14.7K views
ゲームエンジンを活用して同人ゲームを完成させるノウハウについて
by
Masahiko Nakamura
63 slides
7.6K views
UE4でパノラマVRをやってみよう
by
Masahiko Nakamura
12 slides
3.7K views
モバイルゲームにもっとクオリティを!UE4を使ったハイクオリティなモバイルゲーム制作について
by
Masahiko Nakamura
83 slides
19.1K views
GGJ2017 事前勉強会 UE4編
by
Masahiko Nakamura
22 slides
4.1K views
拳と筋肉とバーチャリアリズム
by
Masahiko Nakamura
11 slides
2.1K views
ブループリントマニアックス
by
Masahiko Nakamura
98 slides
22.6K views
UE4映像制作ハンズオン@大阪
by
Masahiko Nakamura
21 slides
10.3K views
絵心がなくてもわかるUE4絵作りのコツ
by
Masahiko Nakamura
56 slides
13.8K views
はじめてのAI~ 愛のあるAIを作ろう
by
Masahiko Nakamura
46 slides
27K views
Unreal engine 4でのリアルタイムセルルック3DCGアニメーション
by
Masahiko Nakamura
17 slides
5.1K views
ブループリント+ビジュアルスクリプトと仲良くやる方法
by
Masahiko Nakamura
20 slides
3.4K views
ゲームジャムでのチーム制作における大事なこと
by
Masahiko Nakamura
15 slides
13.6K views
Bullet TrainとOculus Touchの衝撃
by
Masahiko Nakamura
21 slides
3.1K views
C++コードはいらない!UE4で作るお手軽マルチプレイネットワークゲームについて
by
Masahiko Nakamura
45 slides
103.3K views
UE4とUnrealC++について
by
Masahiko Nakamura
45 slides
40.6K views
第1回UE4名古屋勉強会
by
Masahiko Nakamura
24 slides
68.1K views
第5回ue4ハンズオンセミナー
by
Masahiko Nakamura
89 slides
144.4K views
UE4におけるキャラクタークラス設計
1.
UE4におけるキャラクタークラス設計 Indie-us Games 代表&クリエイター alwei
2.
自己紹介 株式会社Indie-us Games代表取締役 名前 :
alwei Twitter : @aizen76 Unreal Engine 4 専門会社 関西でUE4をやりたい人を絶賛募集中!
3.
今回プログラマー向けというわけで…
4.
いつもより少しだけ難しめの話をします٩( ‘ω’ )و
5.
基本的なオブジェクト指向の理解が あると恐らくスムーズに理解できるハズ
6.
テーマ『キャラクタークラス設計』
7.
今作ってるゲーム 趣味で個人開発しているTPSのゲームを参考に。 個人で開発中のゲーム 『Blue Gunner』 今年中に完成… 出来たらいいな……
8.
一般的なオブジェクト指向の3原則 ・継承 ・多態性 ・カプセル化
9.
一般的なオブジェクト指向の3原則 ・継承 ・多態性 ・カプセル化 ← 本質的に重要なのはここ
10.
一体なぜ…? 継承と多態性は、UE4を使っていると 何も考えなくともほぼ確実に利用しています。 ブループリントのアクターは常に継承。 関数はあらゆるところでオーバーライドされています。
11.
カプセル化って? 意外なくらい理解していない人が多い。 むしろこれこそがオブジェクト指向の本質。 以下のURLの説明はとても参考になります。 オブジェクト指向と10年戦ってわかったこと https://qiita.com/tutinoco/items/6952b01e5fc38914ec4e
12.
現実世界でのカプセル化 私達が普段使っているUSB(Universal Serial Bus)は 最もわかりやすいカプセル化の例です。 様々な機器に挿すだけで自動的に機能が呼び出されます。 これは『挿す』という関数をUSBというインターフェースを 使って呼び出したということになります。
13.
相手のことはよく知らない カプセル化は必要以上に相手のことを知る必要はありません。 制限されたインターフェースを使うことで、 お互いのことを知らないままでも機能を使うことが出来ます。 これがUE4においても非常に重要になってきます。
14.
なぜ重要? UE4で作ったプロジェクトは常に大規模になりやすい。 カプセル化を常に意識して作らなければ、 ブループリントやC++でも参照関係が複雑となり、 読み込みが遅くなったり、不安定なバグを生み出す原因に。 特に商業ゲームではこれを意識しないと開発後半で泣く。
15.
UE4におけるカプセル化
16.
インターフェースシステム UE4ではインターフェースを使った、 オブジェクト間の依存を持たせない仕組みが存在。 『ブループリント インターフェース』 https://docs.unrealengine.com/latest/JPN/Engine/Blueprints/ UserGuide/Types/Interface/index.html 『インターフェース(C++)』 https://docs.unrealengine.com/latest/JPN/Programming/Unre alArchitecture/Reference/Interfaces/index.html
17.
インターフェースシステム インターフェースを使うとお互いの情報を完全に隠蔽し、 依存関係を持たないまま、相手の機能を呼び出せます。 パソコンはマウスの事を知らないが、 マウスの機能を使う事が出来る。 USBインターフェース
18.
UE4で実際に使うと… キャラクターブループリント側から アニメーションブループリントヘインターフェースで呼び出し キャラクターブループリント BPインターフェース アニメーションブループリント
19.
外部とのやりとりの隠蔽 外とのやりとりは基本的にインターフェースを経由 Character BP Anim BP Weapon BP Enemy Inventory BP
20.
依存関係のチェック リファレンスビューワーを使うと依存関係がわかります。 アセットを右クリックして開く。
21.
依存関係には常に注意 何が問題になる? ・アセット依存による読み込み時間の増大 ・依存BP(C++)の増大によるコンパイル時間の増大 ・不要な依存や一部破損によるクラッシュ率の増大 ・不要アセットがパッケージされてデータ容量の増大 ・ソースコントロール上で不要なチェックアウトの発生 etc..
22.
大規模な開発ほど注意が必要 よくやっちゃうけどCastとかもあまりよくない…
23.
継承 vs 包含
24.
オブジェクト指向で良くある論議 継承(is-a)すべき?包含(has-a)しておく? 継承は便利で使いやすい。 コード(ノード)も少なくなる。 ついつい継承を使ってしまう人も多いですが。
25.
オブジェクト指向で良くある論議 一般論で言えば包含(合成)の方が都合が良いと言われます。 『クラスの「継承」より「合成」がよい理由とは? ゲーム開発におけるコードのフレキシビリティと可読性の向上』 http://postd.cc/why-composition-is-often-better-than-inheritance/ では包含でいいのでは?
26.
UE4で包含させる
27.
コンポーネントを使う UE4には多才なコンポーネント があります。 これらをアクターに追加する事 で簡単に包含を実現可能。 明確に機能を分離する。
28.
では継承は悪なのか? これもよく言われますが、継承を使うことで オブジェクトの多態性などが実現できます。 ただしなんでもかんでも継承するのはよくない。
29.
なんでもかんでもコンポーネント これはこれでマズい!! コンポーネントを追加するという事は アクターを1つ追加するという事と 実はあまり大差がなかったりする。
30.
コンポーネントの問題 Epic Games Japan
岡田さんの過去スライドより https://www.slideshare.net/EpicGamesJapan/robo-recallvr
31.
コンポーネントの問題 Epic Games Japan
岡田さんの過去スライドより https://www.slideshare.net/EpicGamesJapan/robo-recallvr
32.
コンポーネントコスト コンポーネントを増やすという事は、 それだけ高いコストをし払うという事。 特に大量に出現するようなアクターでの コンポーネントは最低限にしましょう。
33.
ケースバイケース
34.
どう使いわけるか? ■ 継承が有利に働くケース ・大量に出現するキャラの共通処理を作る ・継承クラスでの多態性を実現したい時 ・クラスの親子関係を持ちたい場合
35.
どう使いわけるか? ■ 包含が有利に働くケース ・クラス機能を明確に分割可能な時 ・多種多様なクラスで汎用処理を使いたい ・複雑な依存性を作りたくない
36.
クラス設計って大変… ┐(-。-;)┌
37.
AIキャラクタークラス
38.
AIキャラクタークラス プレイヤーキャラクタークラスよりも 圧倒的に数が多いのが、このAIキャラクタークラス。 敵だけではなく、 汎用NPCでも同様。
39.
AIについて 過去に登壇した時に使ったこのスライドが UE4のAIについて簡潔にまとめているのでおすすめ。 『はじめてのAI~ 愛のあるAIを作ろう』 https://www.slideshare.net/masahikonakamura50/ai-ai-62023284
40.
AIについて ろっさむさんが書かれた、こちらの記事もおすすめ! 『【UE4】味方AIの作り方!AIとは何かを学びながら、 ブループリントで味方キャラクターを実装しよう』 https://qiita.com/4_mio_11/items/9e8af2ce82ee2a7625b5
41.
AI概略図(抜粋)
42.
やくわり分担 ・Characterクラス(見た目&コリジョン担当) ・Animationクラス(アニメーション担当) ・AI Controllerクラス(AI制御担当) ・Behavior Tree(AIフロー担当) ・Behavior
Treeタスク(AIロジック担当) ・Blackboard(AIデータベース担当) ・AI Components(AI共通コンポーネント担当)
43.
クラス基礎設計 クラス基盤部分は多くの場合、共通なことが多い。 設計段階で共通部分を抜きだす。 ・プロパティ部分(Health, Speedなど) ・メソッド部分(Init, Action,
Moveなど)
44.
クラス基礎設計 AIの場合、他にも共通部分が多々ある。 ・AI Controller ・Behavior Tree ・Blackboard
45.
汎用タスクを作る UE4でAIを作る上で最も効率的に 使い回しやすいのが、ビヘイビアツリータスク。
46.
汎用タスクを作る時のポイント 基盤部分のクラスメンバー以外は使わない。 一方的にビヘイビアツリーから参照されるのみにする。
47.
汎用タスクを作る時のポイント もしクラス固有機能が使いたければ、 必ずインターフェースを経由する。 依存性さえなければ、そのタスクはあらゆる部分で 使いまわすことが可能となり、バグも発生しない。
48.
やりすぎない なんでもかんでも汎用化すればいい というものでもないということを念頭に置く。 使い勝手の悪いクラスやコンポーネントを用意しても 最後まで使わないという事は多々あります。
49.
複雑過ぎる処理 ボスキャラクターなど複雑でスペシャルな処理が 必要なキャラクターは特に汎用化が難しい。 そういう時は汎用化の方が 面倒なので専用タスクにしましょう!
50.
イベントドリブン設計
51.
イベントドリブン設計 UE4のAIシステムはイベントドリブン(駆動)で 動かせるように最初から設計されています。 イベントが発生するまでは何も処理させない。 イベントが来て始めてAIは行動する。
52.
Tickを使わない みんな大好きEvent Tick 。 厳密に言えばこいつもイベントですが、 CPU負荷が簡単に高くなってしまいがちだったり、 複雑な設計の場合には、処理がすぐ煩雑になる。
53.
Behavior Treeはイベントドリブン Behavior Treeはタスク、デコレーター、サービスといった ノードを使う事で、イベントドリブンに処理されます。 イベントドリブンに処理する事によって、 CPU処理負荷は最低限のものに。 サービスの場合は呼び出しインターバルを 秒単位で設定する事も出来ます。
54.
AIのイベント AI Perception Componentを使うと、 AIのためのイベントを沢山取得できるようになる。 ・視覚(発見時や消失時) ・聴覚(音発生や寿命) ・痛覚や位置予測なども
55.
AIのイベント AI Perception Componentの素晴らしき記事。 『【UE4】AI
Perception の紹介と使い方』 https://qiita.com/Dv7Pavilion/items/741402f4da609ec595a2 『【UE4】AI Perception の紹介と使い方 その2』 https://qiita.com/Dv7Pavilion/items/2984f2b03711492aa451
56.
まとめ
57.
キャラクタークラス設計まとめ ・インターフェースでカプセル化しよう ・継承と包含はケースバイケースで使いわけよう ・AIクラスは汎用化してタスクなどを上手く分けよう ・イベントドリブンで設計しよう