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
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
エピック・ゲームズ・ジャパン Epic Games Japan
36,823 views
猫でも分かる UE4の新しいサンプル「Action RPG」について
2018年9月8日に行われた「第8回UE4勉強会 in 大阪」で登壇した際に使用した資料です。 https://ue4study-osaka.connpass.com/event/98825/
Engineering
◦
Read more
43
Save
Share
Embed
Embed presentation
Download
Downloaded 285 times
1
/ 136
2
/ 136
3
/ 136
4
/ 136
5
/ 136
6
/ 136
7
/ 136
8
/ 136
9
/ 136
10
/ 136
11
/ 136
12
/ 136
13
/ 136
14
/ 136
15
/ 136
16
/ 136
17
/ 136
18
/ 136
19
/ 136
20
/ 136
21
/ 136
22
/ 136
23
/ 136
24
/ 136
25
/ 136
26
/ 136
27
/ 136
28
/ 136
29
/ 136
30
/ 136
31
/ 136
32
/ 136
33
/ 136
34
/ 136
35
/ 136
36
/ 136
37
/ 136
38
/ 136
39
/ 136
40
/ 136
41
/ 136
42
/ 136
43
/ 136
44
/ 136
45
/ 136
46
/ 136
47
/ 136
48
/ 136
49
/ 136
50
/ 136
51
/ 136
52
/ 136
53
/ 136
54
/ 136
55
/ 136
56
/ 136
57
/ 136
58
/ 136
59
/ 136
60
/ 136
61
/ 136
62
/ 136
63
/ 136
Most read
64
/ 136
65
/ 136
66
/ 136
67
/ 136
68
/ 136
69
/ 136
70
/ 136
71
/ 136
72
/ 136
73
/ 136
74
/ 136
75
/ 136
76
/ 136
77
/ 136
78
/ 136
79
/ 136
80
/ 136
81
/ 136
82
/ 136
83
/ 136
84
/ 136
85
/ 136
86
/ 136
87
/ 136
88
/ 136
89
/ 136
90
/ 136
91
/ 136
92
/ 136
Most read
93
/ 136
94
/ 136
95
/ 136
96
/ 136
97
/ 136
98
/ 136
99
/ 136
100
/ 136
101
/ 136
102
/ 136
103
/ 136
104
/ 136
105
/ 136
106
/ 136
107
/ 136
108
/ 136
109
/ 136
110
/ 136
111
/ 136
112
/ 136
113
/ 136
114
/ 136
115
/ 136
116
/ 136
117
/ 136
118
/ 136
119
/ 136
120
/ 136
121
/ 136
122
/ 136
123
/ 136
124
/ 136
125
/ 136
126
/ 136
127
/ 136
Most read
128
/ 136
129
/ 136
130
/ 136
131
/ 136
132
/ 136
133
/ 136
134
/ 136
135
/ 136
136
/ 136
More Related Content
PDF
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について
by
com044
PPTX
UE4のためのより良いゲーム設計を理解しよう!
by
Masahiko Nakamura
PDF
目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -
by
historia_Inc
PDF
UE4のローカライズ機能紹介 (UE4 Localization Deep Dive)
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
ヒストリア HelixCore(Perforce) 運用レギュレーションドキュメント
by
historia_Inc
PPTX
猫でも分かる UE4のAnimation Blueprintの運用について
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
猫でも分かるUE4.22から入ったSubsystem
by
エピック・ゲームズ・ジャパン Epic Games Japan
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について
by
com044
UE4のためのより良いゲーム設計を理解しよう!
by
Masahiko Nakamura
目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -
by
historia_Inc
UE4のローカライズ機能紹介 (UE4 Localization Deep Dive)
by
エピック・ゲームズ・ジャパン Epic Games Japan
徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!
by
エピック・ゲームズ・ジャパン Epic Games Japan
ヒストリア HelixCore(Perforce) 運用レギュレーションドキュメント
by
historia_Inc
猫でも分かる UE4のAnimation Blueprintの運用について
by
エピック・ゲームズ・ジャパン Epic Games Japan
猫でも分かるUE4.22から入ったSubsystem
by
エピック・ゲームズ・ジャパン Epic Games Japan
What's hot
PPTX
[CEDEC2018] UE4で多数のキャラクターを生かすためのテクニック
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
60fpsアクションを実現する秘訣を伝授 基礎編
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
UE4のシーケンサーをもっともっと使いこなそう!最新情報・Tipsをご紹介!
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
UE4におけるキャラクタークラス設計
by
Masahiko Nakamura
PDF
Nintendo Switch『OCTOPATH TRAVELER』はこうして作られた
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
by
エピック・ゲームズ・ジャパン Epic Games Japan
PPTX
UE4アセットリダクション手法紹介
by
エピック・ゲームズ・ジャパン Epic Games Japan
PPTX
UE4ローカライズ事例 (UE4 Localization Deep Dive)
by
エピック・ゲームズ・ジャパン Epic Games Japan
PPTX
猫でも分かるUMG
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
UE4におけるエフェクトの為のエンジン改造事例
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
UE4における大規模背景制作事例 描画特殊表現編
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
UE4における大規模背景制作事例 最適化ワークフロー編
by
エピック・ゲームズ・ジャパン Epic Games Japan
PPTX
[CEDEC2018] UE4アニメーションシステム総おさらい
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
60fpsアクションを実現する秘訣を伝授 解析編
by
エピック・ゲームズ・ジャパン Epic Games Japan
PPTX
大規模タイトルにおけるエフェクトマテリアル運用 (SQEX大阪: 林武尊様) #UE4DD
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
メカアクションゲーム『DAEMON X MACHINA』 信念と血と鋼鉄の開発事例
by
エピック・ゲームズ・ジャパン Epic Games Japan
PPTX
UE4のスレッドの流れとInput Latency改善の仕組み
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
UE4でマルチプレイヤーゲームを作ろう
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 1 <Shader Compile, PSO Cache編>
by
エピック・ゲームズ・ジャパン Epic Games Japan
[CEDEC2018] UE4で多数のキャラクターを生かすためのテクニック
by
エピック・ゲームズ・ジャパン Epic Games Japan
60fpsアクションを実現する秘訣を伝授 基礎編
by
エピック・ゲームズ・ジャパン Epic Games Japan
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
by
エピック・ゲームズ・ジャパン Epic Games Japan
UE4のシーケンサーをもっともっと使いこなそう!最新情報・Tipsをご紹介!
by
エピック・ゲームズ・ジャパン Epic Games Japan
UE4におけるキャラクタークラス設計
by
Masahiko Nakamura
Nintendo Switch『OCTOPATH TRAVELER』はこうして作られた
by
エピック・ゲームズ・ジャパン Epic Games Japan
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
by
エピック・ゲームズ・ジャパン Epic Games Japan
UE4アセットリダクション手法紹介
by
エピック・ゲームズ・ジャパン Epic Games Japan
UE4ローカライズ事例 (UE4 Localization Deep Dive)
by
エピック・ゲームズ・ジャパン Epic Games Japan
猫でも分かるUMG
by
エピック・ゲームズ・ジャパン Epic Games Japan
UE4におけるエフェクトの為のエンジン改造事例
by
エピック・ゲームズ・ジャパン Epic Games Japan
UE4における大規模背景制作事例 描画特殊表現編
by
エピック・ゲームズ・ジャパン Epic Games Japan
UE4における大規模背景制作事例 最適化ワークフロー編
by
エピック・ゲームズ・ジャパン Epic Games Japan
[CEDEC2018] UE4アニメーションシステム総おさらい
by
エピック・ゲームズ・ジャパン Epic Games Japan
60fpsアクションを実現する秘訣を伝授 解析編
by
エピック・ゲームズ・ジャパン Epic Games Japan
大規模タイトルにおけるエフェクトマテリアル運用 (SQEX大阪: 林武尊様) #UE4DD
by
エピック・ゲームズ・ジャパン Epic Games Japan
メカアクションゲーム『DAEMON X MACHINA』 信念と血と鋼鉄の開発事例
by
エピック・ゲームズ・ジャパン Epic Games Japan
UE4のスレッドの流れとInput Latency改善の仕組み
by
エピック・ゲームズ・ジャパン Epic Games Japan
UE4でマルチプレイヤーゲームを作ろう
by
エピック・ゲームズ・ジャパン Epic Games Japan
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 1 <Shader Compile, PSO Cache編>
by
エピック・ゲームズ・ジャパン Epic Games Japan
Similar to 猫でも分かる UE4の新しいサンプル「Action RPG」について
PPT
実行時のために最適なデータ構造を作成しよう
by
Hiroki Omae
PDF
MakeGameWithParticle
by
Takashi Jona
PPTX
S大学ゲーム制作サークル第一回 超初心者向けUE4チュートリアル(1)
by
ai BlogOnly
PPTX
S大学ゲーム制作サークル第一回 超初心者向けUE4チュートリアル(1)
by
ai BlogOnly
PPTX
猫でもわかるUnreal Engine4
by
pafuhana 1213
PPTX
S大学ゲーム制作サークル第一回 超初心者向けUE4チュートリアル(1)
by
ai BlogOnly
PDF
UE4におけるエフェクトの基本戦略事例 前半
by
エピック・ゲームズ・ジャパン Epic Games Japan
PPTX
ゲームエンジンの文法【UE4】No.004 Asset(資産)の操作: インポート、移行、リファレンスビューア
by
Tatsuya Iwama
PDF
UE4勉強会 in 大阪 - アニメーション基礎
by
com044
PDF
GTMF 2015: UE4で開発環境は次なるステージへ~才能のコラボーレーションでクリエイティビティはさらなる高みへ~ | エピック・ゲームズ・ジャパ...
by
Game Tools & Middleware Forum
PDF
Unity information for new developer
by
WheetTweet
PDF
Kuug 第1回
by
Shinobu Izumi
DOCX
GGJ2016用UE4ヒストリアBLOGリファレンス
by
Shun Sasaki
PPTX
【CEDEC2014】アセットパイプラインを構築する上で重要な事~映像業界⇔ゲーム業界双方の視点から見た本質的なパイプライン
by
RYUTARO OSAFUNE
PPTX
Unreal Engine 4 勉強会 福岡 2014/05/25
by
Daisuke Nakamura
PPTX
Unreal Studioのご紹介
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
日本一詳しい人が教えるUE4
by
エピック・ゲームズ・ジャパン Epic Games Japan
PPTX
Python / BlueprintによるUnreal Engineの自動化 / GTMF2019
by
Game Tools & Middleware Forum
PDF
[GTMF2019] Python / BlueprintによるUnreal Engineの自動化
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
Game Jamで Asset Serverを使ってみよう♪
by
Takashi Jona
実行時のために最適なデータ構造を作成しよう
by
Hiroki Omae
MakeGameWithParticle
by
Takashi Jona
S大学ゲーム制作サークル第一回 超初心者向けUE4チュートリアル(1)
by
ai BlogOnly
S大学ゲーム制作サークル第一回 超初心者向けUE4チュートリアル(1)
by
ai BlogOnly
猫でもわかるUnreal Engine4
by
pafuhana 1213
S大学ゲーム制作サークル第一回 超初心者向けUE4チュートリアル(1)
by
ai BlogOnly
UE4におけるエフェクトの基本戦略事例 前半
by
エピック・ゲームズ・ジャパン Epic Games Japan
ゲームエンジンの文法【UE4】No.004 Asset(資産)の操作: インポート、移行、リファレンスビューア
by
Tatsuya Iwama
UE4勉強会 in 大阪 - アニメーション基礎
by
com044
GTMF 2015: UE4で開発環境は次なるステージへ~才能のコラボーレーションでクリエイティビティはさらなる高みへ~ | エピック・ゲームズ・ジャパ...
by
Game Tools & Middleware Forum
Unity information for new developer
by
WheetTweet
Kuug 第1回
by
Shinobu Izumi
GGJ2016用UE4ヒストリアBLOGリファレンス
by
Shun Sasaki
【CEDEC2014】アセットパイプラインを構築する上で重要な事~映像業界⇔ゲーム業界双方の視点から見た本質的なパイプライン
by
RYUTARO OSAFUNE
Unreal Engine 4 勉強会 福岡 2014/05/25
by
Daisuke Nakamura
Unreal Studioのご紹介
by
エピック・ゲームズ・ジャパン Epic Games Japan
日本一詳しい人が教えるUE4
by
エピック・ゲームズ・ジャパン Epic Games Japan
Python / BlueprintによるUnreal Engineの自動化 / GTMF2019
by
Game Tools & Middleware Forum
[GTMF2019] Python / BlueprintによるUnreal Engineの自動化
by
エピック・ゲームズ・ジャパン Epic Games Japan
Game Jamで Asset Serverを使ってみよう♪
by
Takashi Jona
More from エピック・ゲームズ・ジャパン Epic Games Japan
PDF
初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 2
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
Unreal Engine 4.27 ノンゲーム向け新機能まとめ
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 1
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
UE4 Hair & Groomでのリアルタイムファーレンダリング (UE4 Character Art Dive Online)
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
UE4を使った映像制作 (UE4 Character Art Dive Online)
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
Hair Groom入門 (UE4 Character Art Dive Online)
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
UE4で”MetaHumanを使わずに”耳なし芳一になる10の方法 | UE4 Character Art Dive Online
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
『バランワンダーワールド』でのマルチプラットフォーム対応について UNREAL FEST EXTREME 2021 SUMMER
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
Visual Dataprepで建築データを美味しく下ごしらえ UNREAL FEST EXTREME 2021 SUMMER
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
Unreal Engineでのコンフィギュレーター制作と映像制作 UNREAL FEST EXTREME 2021 SUMMER
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
バレンシアガ『Afterworld: The Age of Tomorrow』の舞台裏 UNREAL FEST EXTREME 2021 SUMMER
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
『FINAL FANTASY VII REMAKE』におけるプロファイリングと最適化事例 UNREAL FEST EXTREME 2021 SUMMER
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
SAMURAI JACK開発事例:海外むけアクションゲームをオーソドックスに作ってみた UNREAL FEST EXTREME 2021 SUMMER
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
『ガールズ&パンツァー 最終章』第3話 アニメとゲームエンジンの融合(ジャングル完結編) UNREAL FEST EXTREME 2021 SUMMER
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
UE4を使用したバーチャルヒューマンの映像制作 UNREAL FEST EXTREME 2021 SUMMER
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
オンラインで同期した100体の巨大生物から地球を衛る方法 UNREAL FEST EXTREME 2021 SUMMER
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
MetaHumanサンプル解体新書 UNREAL FEST EXTREME 2021 SUMMER
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
Twinmotion 2021とAEC分野向けソリューションのご紹介
by
エピック・ゲームズ・ジャパン Epic Games Japan
初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方
by
エピック・ゲームズ・ジャパン Epic Games Japan
猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021
by
エピック・ゲームズ・ジャパン Epic Games Japan
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 2
by
エピック・ゲームズ・ジャパン Epic Games Japan
Unreal Engine 4.27 ノンゲーム向け新機能まとめ
by
エピック・ゲームズ・ジャパン Epic Games Japan
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 1
by
エピック・ゲームズ・ジャパン Epic Games Japan
UE4 Hair & Groomでのリアルタイムファーレンダリング (UE4 Character Art Dive Online)
by
エピック・ゲームズ・ジャパン Epic Games Japan
UE4を使った映像制作 (UE4 Character Art Dive Online)
by
エピック・ゲームズ・ジャパン Epic Games Japan
Hair Groom入門 (UE4 Character Art Dive Online)
by
エピック・ゲームズ・ジャパン Epic Games Japan
UE4で”MetaHumanを使わずに”耳なし芳一になる10の方法 | UE4 Character Art Dive Online
by
エピック・ゲームズ・ジャパン Epic Games Japan
『バランワンダーワールド』でのマルチプラットフォーム対応について UNREAL FEST EXTREME 2021 SUMMER
by
エピック・ゲームズ・ジャパン Epic Games Japan
Visual Dataprepで建築データを美味しく下ごしらえ UNREAL FEST EXTREME 2021 SUMMER
by
エピック・ゲームズ・ジャパン Epic Games Japan
Unreal Engineでのコンフィギュレーター制作と映像制作 UNREAL FEST EXTREME 2021 SUMMER
by
エピック・ゲームズ・ジャパン Epic Games Japan
バレンシアガ『Afterworld: The Age of Tomorrow』の舞台裏 UNREAL FEST EXTREME 2021 SUMMER
by
エピック・ゲームズ・ジャパン Epic Games Japan
『FINAL FANTASY VII REMAKE』におけるプロファイリングと最適化事例 UNREAL FEST EXTREME 2021 SUMMER
by
エピック・ゲームズ・ジャパン Epic Games Japan
SAMURAI JACK開発事例:海外むけアクションゲームをオーソドックスに作ってみた UNREAL FEST EXTREME 2021 SUMMER
by
エピック・ゲームズ・ジャパン Epic Games Japan
『ガールズ&パンツァー 最終章』第3話 アニメとゲームエンジンの融合(ジャングル完結編) UNREAL FEST EXTREME 2021 SUMMER
by
エピック・ゲームズ・ジャパン Epic Games Japan
UE4を使用したバーチャルヒューマンの映像制作 UNREAL FEST EXTREME 2021 SUMMER
by
エピック・ゲームズ・ジャパン Epic Games Japan
オンラインで同期した100体の巨大生物から地球を衛る方法 UNREAL FEST EXTREME 2021 SUMMER
by
エピック・ゲームズ・ジャパン Epic Games Japan
MetaHumanサンプル解体新書 UNREAL FEST EXTREME 2021 SUMMER
by
エピック・ゲームズ・ジャパン Epic Games Japan
Twinmotion 2021とAEC分野向けソリューションのご紹介
by
エピック・ゲームズ・ジャパン Epic Games Japan
Recently uploaded
PPTX
【ASW22-01】STAMP:STPAロスシナリオの発想・整理支援ツールの開発 ~astah* System Safetyによる構造化・階層化機能の実装...
by
csgy24013
PDF
0.0001秒の攻防!?快適な運転を支えるリアルタイム制御と組み込みエンジニアの実践知【DENSO Tech Night 第四夜】
by
dots.
PDF
サーバーサイド Kotlin を社内で普及させてみた - Server-Side Kotlin Night 2025
by
Hirotaka Kawata
PDF
Rin Ukai_即興旅行の誘発を目的とした口コミ情報に基づく雰囲気キーワード_EC2025.pdf
by
Matsushita Laboratory
PDF
Kubernetes Release Team Release Signal Role について ~Kubernetes Meetup Tokyo #72~
by
Keisuke Ishigami
PPTX
「グローバルワン全員経営」の実践を通じて進化し続けるファーストリテイリングのアーキテクチャ
by
Fast Retailing Co., Ltd.
PDF
Nanami Doikawa_寄り道の誘発を目的とした旅行写真からのスポット印象語彙の推定に関する基礎検討_EC2025
by
Matsushita Laboratory
【ASW22-01】STAMP:STPAロスシナリオの発想・整理支援ツールの開発 ~astah* System Safetyによる構造化・階層化機能の実装...
by
csgy24013
0.0001秒の攻防!?快適な運転を支えるリアルタイム制御と組み込みエンジニアの実践知【DENSO Tech Night 第四夜】
by
dots.
サーバーサイド Kotlin を社内で普及させてみた - Server-Side Kotlin Night 2025
by
Hirotaka Kawata
Rin Ukai_即興旅行の誘発を目的とした口コミ情報に基づく雰囲気キーワード_EC2025.pdf
by
Matsushita Laboratory
Kubernetes Release Team Release Signal Role について ~Kubernetes Meetup Tokyo #72~
by
Keisuke Ishigami
「グローバルワン全員経営」の実践を通じて進化し続けるファーストリテイリングのアーキテクチャ
by
Fast Retailing Co., Ltd.
Nanami Doikawa_寄り道の誘発を目的とした旅行写真からのスポット印象語彙の推定に関する基礎検討_EC2025
by
Matsushita Laboratory
猫でも分かる UE4の新しいサンプル「Action RPG」について
1.
猫でも分かる UE4の新しいサンプル 「Action RPG」について Epic
Games Japan 岡田和也 第8回 UE4勉強会 in 大阪
2.
自己紹介 Epic Games Japan
サポートエンジニア 岡田 和也(おかず@pafuhana1213) サポートエンジニアしてます バ美肉が最近の趣味
3.
本日のテーマにある「Action RPG」ってなに? UE4.20リリースと同時に突然公開された新しいサンプル ○ https://www.unrealengine.com/marketplace/action-rpg ○
AppStore, GooglePlayでも配信中!もちろん無料!
4.
色々な要素が詰まってる 良いサンプル!
5.
色々ありすぎて どこから手を付けたらいいのか 分からない…
6.
● プレイヤー・敵キャラの制御 ● コンボの実装 ●
AIを使ったオートプレイ ● AnimNotify ● 装備の切り替え ● HP, MPの管理 ● ランドスケープ、フォリッジ ● 各UIの制御 ● サウンド一括ON/OFF ● Sequencerによるカットシーン ● タイトル・リザルトを含む 一連のゲームループ ● セーブ・ロード処理 ● Asset Managerを使った アセット管理 ● Gameplay Ability System ● モバイル対応を考慮した 最適化 ● ローディングスクリーン ● BPとC++のバランス などなど…
7.
ということで、 この辺りは見たほうがいいよ!って所や ここは是非解説したい!と思った所を話していきます
8.
お品書き 見ることオススメ編 解説したい編 ○ Action RPG
Loading Screen Module ○ Asset Managerを使ったアセット管理 ○ Game Ability System ○ BPとC++のバランスについて
9.
見ることオススメ編
10.
AnimMontageのSectionを使ったコンボ処理の実装 BP_PlayerCharacter ○ Do Melee
Attack関数, Jump Section for Combo関数
11.
疑似影 + CapsuleShadow
12.
スケルトンの共有 プレイヤーキャラクタのスケルトンは SK_Manequinと同じ ○ SK_Manqeuinの アニメーションの流用が可能 ○ アニメーション流用に関する スライドへのリンク
13.
Sequencerの活用例 ゲームメイン部分でのカットシーン ○ Shots, Subscenes ○
Pre Roll Frames
14.
AIの実装サンプル 敵キャラとプレイヤーのAutoPlayで使用 ○ Behavior Tree
15.
背景のコリジョン Blocking Volumeを使った簡易コリジョンで負荷削減!
16.
擬似的なライティングを実現するマテリアル ライトの向き、色などをパラメータで制御 ○ MI_Aspen_Tree_Lit_Blowing
18.
Landscape用マテリアルのサンプル M_CaveLandscape_Inst ○ Layer Blendの使い方 ○
ES2の制限を考慮した作り( Feature Level Switch )
19.
AnimNotify, AnimNotifyState アニメーションにイベント・音・エフェクトを追加 ○ みんな大好きトレイルエフェクトやディゾルブ演出も
20.
自作AnimNotify キャラクタの制御・演出などを AnimNotify内で実装
21.
UI ゲームを作る上でよく使うUIがたくさん ○ WB_Checkbox, WB_GenericButtonは UserWidgetではなく既存のWidgetを継承してカスタムしている例
22.
Sound Class, Sound
Mixを用いた音の制御 音に関する様々な効果・制御を実現している! ○ スローモーション演出中はボイスを野太く ○ オプション画面から音の一括ON/OFF
23.
無効化するプラグインの参考に プラグインを無効化することでパッケージサイズを削減 ○ ActionRPG.uprojectをテキストエディタで開くと 無効化したプラグインの一覧を簡単に確認可能
24.
他にもエフェクト・マテリアルなどのアセットや 各BPにおける実装など、参考になる箇所がたくさん! 是非いろいろ見てみてください! 実際に触って改造したりすると理解が進むのでオススメ!
25.
お品書き 見ることオススメ編 解説したい編 ○ Action RPG
Loading Screen Module ○ Asset Managerを使ったアセット管理 ○ Game Ability System ○ BPとC++のバランスについて
26.
Action RPG Loading Screen
Module
29.
● 動画を用意
32.
なぜ動くローディング画面を入れる必要があるのか? ○ 真っ暗な画面でもいいんじゃないの? ○ 動かない一枚絵でもいいんじゃ?
33.
ユーザが受けるストレスが半端ない ○ 何が起こっているのか分からない… 正しい挙動なの?不具合なの?
34.
ということで、 動くローディング画面を作る必要がある ○ 「ロード中であること」 「ちゃんと処理が走っていること」をユーザに伝える
35.
動くローディング画面は少し面倒! 理由① Open Levelを使うと 必ず ブロッキングロード処理
が走るため ○ ロード処理中、ゲーム内の処理・描画がストップするので、 ローディング画面の動きも止まる または 非常にカクつく
36.
動くローディング画面は少し面倒! 理由② 事前にサブレベルをロードしていても 実際に表示する際に瞬間的な負荷が発生するため ○ 表示時に一瞬カクついてしまう
37.
UE4におけるLoadingとGCのProfilingと最適化手法 https://www.slideshare.net/EpicGamesJapan/420-ue4loadinggcprofiling-108367408
38.
それぞれロード時間・負荷を削減することは可能 しかし、0にすることは不可能 ○ PCなら知覚できない程度まで負荷を調整できますが、 低スペックなモバイル端末では非常に難しい
39.
Action RPGで用意されている ローディング画面の仕組み 「Action RPG
Loading Screen Module」 を使おう!
40.
置いている場所はここ!
41.
Action RPG Loading
Screen Moduleの何がいいのか? BP, C++によるゲーム処理(Game Thread )や ローディング処理( I/Oなど ) の裏で動作してくれる! ○ Movie Playerの仕組みを利用 ○ https://api.unrealengine.com/INT/API/Runtime/ MoviePlayer/index.html
42.
裏で動作することによるメリット 1. ロード処理によりゲーム・エンジン処理が ストップしても、ローディング画面の表示に影響しない 2. ローディング画面を表示・更新する処理負荷が ロード処理に影響することを抑制できる! ※
動作させる環境のスペックや構成に ある程度左右はされる部分ではあります
43.
各関数がActionRPGのどこで呼ばれているか ● Start Loading
Screen関数 ○ Load Game Level, Restart Game Levelで使用 ● Stop Loading Screen関数 ○ 各パーシスタントレベルのBegin Playで使用
44.
ActionRPGLoadingScreen.cpp にて virtual void
StartInGameLoadingScreen(bool bPlayUntilStopped, float PlayTime) override { FLoadingScreenAttributes LoadingScreen; LoadingScreen.bAutoCompleteWhenLoadingCompletes = !bPlayUntilStopped; LoadingScreen.bWaitForManualStop = bPlayUntilStopped; LoadingScreen.bAllowEngineTick = bPlayUntilStopped; LoadingScreen.MinimumLoadingScreenDisplayTime = PlayTime; LoadingScreen.WidgetLoadingScreen = SNew(SRPGLoadingScreen); GetMoviePlayer()->SetupLoadingScreen(LoadingScreen); }
45.
それぞれのフラグの内容(コメントを翻訳) ● bAutoCompleteWhenLoadingCompletes ○ trueの場合、ロードが完了すると すぐにローディング画面が消えます ●
bWaitForManualStop ○ trueの場合、動画の再生は Stopが呼び出されるまで続きます ● bAllowEngineTick ○ trueの場合、ゲームスレッドがローディ ング動画が終了するのを待っている間、 エンジンのTickを呼び出します。 これは起動後のロード画面でのみ機能し、 潜在的にunsafeです ● MinimumLoadingScreenDisplayTime ○ ローディング画面を開くための最小時間。 ● WidgetLoadingScreen ○ 表示するWidgetの指定
46.
大雑把な使い分け 明示的にStopを呼ぶまでローディング画面を続けたい ○ bAutoCompleteWhenLoadingCompletes =
false; ○ bWaitForManualStop = ture; ロードが完了したら自動的にローディング画面を終わらせたい ○ bAutoCompleteWhenLoadingCompletes = ture; ○ bWaitForManualStop = false; ○ (FLoadingScreenAttributes の初期設定はこっち)
47.
表示する内容を変えたい場合 C++コードを少しいじる必要があります ○ SRPGLoadingScreenクラスのConstruct関数 (ActionRPGLoadingScreen.cpp) 画像のみを替えたい場合は、 アセットパスの部分を書き換える static const
FName LoadingScreenName(TEXT("/Game/UI/T_ActionRPG_TransparentLogo.T_ActionRPG_TransparentLogo"));
48.
公式Wikiでの解説(英語) ○ https://wiki.unrealengine.com/Loading_Screen
49.
Asset Managerを使った アセット管理
50.
Asset Managerとは? アセットの非同期読み込み(裏読み)を 使用・管理するための機能 ○ 公式ドキュメント「アセット管理」 以前はC++でのみ提供していました ○
Streamable Manager ○ 公式ドキュメント「アセットの非同期ロード」
53.
サブレベルの事前ロードでも 同じことができるのでは…?
54.
サブレベルの事前ロードとの大きな違い アセット単位でのロード管理が可能 ○ サブレベルの場合、 レベルに配置などして参照関係を作る必要がある ○ メモリ容量を考慮した厳密な調整・管理がしやすい
55.
Asset Managerには便利機能がたくさん! ロード対象のアセット群を抽出・管理するための Primary Asset
という概念 ○ Primary Asset Label という作業支援用アセットも標準で用意
56.
Asset Managerには便利機能がたくさん! Asset Managerの管理対象を可視化するための Asset
Audit機能 ○ Reference Viewer, SizeMapもより便利に
57.
詳細はこちらで! https://www.slideshare.net/Ep icGamesJapan/ue4-95204920 https://www.slideshare.net/Ep icGamesJapan/ue4-chunk-id
58.
ひとまず、今知っておいて欲しいこと ① Asset Manager
は Primary Asset として 設定されたアセットを管理する
59.
ひとまず、今知っておいて欲しいこと ② Asset Managerを使って非同期ロードするには…? ロード対象のアセットを… ○
Primary Assetにする ○ Primary Asset から参照されるようにする ( Secondary Asset )
60.
Primary Assetとして設定するには…? プロジェクト設定の Asset
Managerで各項目を設定 ○ Primary Asset Typeの名前 ○ 対象アセットの クラス ○ 抽出対象のフォルダ
61.
重要:Primary Assetとして指定する際の注意点! 指定するクラスには GetPrimaryAssetId 関数を
必ず 用意する必要がある ○ デフォルトで用意されているのは UWorldクラスと UPrimaryDataAssetクラスのみ
62.
UworldにおけるGetPrimaryAssetId関数 FPrimaryAssetId UWorld::GetPrimaryAssetId() const { UPackage*
Package = GetOutermost(); if (!Package->HasAnyPackageFlags(PKG_PlayInEditor)) { // Return Map:/path/to/map return FPrimaryAssetId(UAssetManager::MapType, Package->GetFName()); } return FPrimaryAssetId(); }
63.
GetPrimaryAssetId関数 を実装する上での注意 返り値 FPrimaryAssetId
の 第1引数(FPrimaryAssetType)は プロジェクト設定で指定する文字列と一致させる! return FPrimaryAssetId(UAssetManager::MapType, Package->GetFName()); FName(TEXT("Map"));
64.
少し脱線 Should Guess Type
and Name in Editorが有効な場合、 エディタ上なら この関数がなくても一応動くが、 パッケージでは不具合発生するので注意
65.
ややこしい…(;´∀`) 標準で PrimaryAssetとして登録されている UWorld, UPrimaryAssetLabelが少し複雑かつ用途が特殊なので、 独自クラスをPrimary
Assetにする際の参考にし辛いという点もつらい
66.
Action RPGが Asset Manager,
Primary Assetの運用 に関する、良いサンプルになっています!
67.
独自クラスをPrimary Assetとして管理 URPGItemクラス ○ UPrimaryDataAsset
継承 ○ 武器・回復アイテムなどの 各パラメータや 使用するアセットを管理するアセット FPrimaryAssetId URPGItem::GetPrimaryAssetId() const { return FPrimaryAssetId(ItemType, GetFName()); }
68.
プロジェクト独自にAsset Manager RPGAssetManager ○ 対象のPrimaryAssetを
同期 ロードする処理を追加 ○ RPGItemの各派生クラスで使用するFPrimaryAssetTypeの定義 const FPrimaryAssetTypeURPGAssetManager::PotionItemType = TEXT("Potion"); const FPrimaryAssetTypeURPGAssetManager::SkillItemType = TEXT("Skill"); const FPrimaryAssetTypeURPGAssetManager::TokenItemType = TEXT("Token"); const FPrimaryAssetTypeURPGAssetManager::WeaponItemType = TEXT("Weapon");
69.
プロジェクト独自のAsset Managerへの差し替え方法 DefaultEngine.ini にて
以下の文字列を追加 ○ クラス名はプロジェクトに応じた名前に適宜変更 [/Script/Engine.Engine] AssetManagerClassName=/Script/ActionRPG.RPGAssetManager
70.
ゲーム中にどのようにして使われているか BP_GameInstance の 初期化処理にて 各RPGItemを非同期ロード
71.
ゲーム中にどのようにして使われているか 装備購入・入れ替え画面における 武器の説明・アイコン表示で使用 ○ AddInventoryItemsToList イベント
72.
ゲーム中にどのようにして使われているか 武器を切り替えた際の GameAbilityの再設定処理 ○ ARPGCharacterBase::FillSlottedAbilitySpecs関数 (
C++ )
73.
このような管理にするメリット データ管理しやすい ○ Structによるデータ管理は不便 ○ データ管理用のBPをわざわざ用意するのは無駄が多い
74.
このような管理にするメリット Asset Managerの各機能が使える ○ 必要に応じて、必要最小限のアセット非同期ロード (例:未取得の武器データはロードする必要はない) ○
Primary Assetに関する検索・フィルタ処理を使える (同様の機能を自前で用意するのは大変)
75.
ある程度の規模になってくると Asset Managerによるアセット管理は 必須ともいっていい…かと…! 小規模なプロジェクトでも 十分恩恵受けられるので是非使ってみましょう!
76.
Gameplay Ability System
77.
Gameplay Ability Systemってなに? ●
ゲームプレイアビリティシステムは、あなたがRPGやMOBAタイトルで見か ける。能力や属性を構築するための高度に柔軟なフレームワークです。 ● ゲーム内のキャラクターが使用するアクションやパッシブアビリティ、これ らのアクションの結果としてさまざまな属性を作成または消耗させるステー タスエフェクト、これらのアクションの使用を規制するための「クールダウ ン」タイマーやリソースコストの実装、各レベルでの能力とその効果のレベ ルを変更し、パーティクルやサウンドエフェクトなどをアクティブにします ● 簡単に言えば、このシステムは、現代RPGやMOBAのタイトルに設定された キャラクターの能力と同じくらい単純なジャンプや複雑なゲーム能力の設計、 実装、効率化に役立ちます。 https://docs.unrealengine.com/en-us/Gameplay/GameplayAbilitySystem
79.
Gameplay Ability Systemってなに? キャラクタのステータス、武器の攻撃力、 スキルの効果などのデータ・挙動を 効率的に管理・実装するためのフレームワーク
81.
Gameplay Ability Systemってなに? 主なメリット・特徴 ○
データドリブンな設計 ○ ネットワーク対応を考慮した作り ○ 処理を非同期に実行可能 ○ 複数人での作業や量産に向いている ○ Fortnite, Paragonで実際に使われている
82.
● Health ● Mana ●
Damage ● MoveSpeed Attribute Set Ability System Component
83.
Attribute Set Ability System Component 回復アイテムをゲットする イベントが発生
84.
処理の流れのイメージ Gameplay Ability System Attribute
Set Ability System Component 回復処理を行う GamePlay Abilityを実行
85.
処理の流れのイメージ Gameplay Ability System Attribute
Set Ability System Component Attribute Setが管理している Health (体力Attribute)を変更するEffectを実行 Gameplay Effect
86.
処理の流れのイメージ Gameplay Ability System Attribute
Set Ability System Component 体力の変更通知をActorに 挙動やUIの変更処理などを実行 Gameplay Effect
87.
Gameplay Ability Systemの構成要素 AbilitySystemComponent ○
GameAbilitySystemを使用するActorは このコンポーネントを必ず持つ必要がある
88.
RPGCharacterBase.cpp にて ARPGCharacterBase::ARPGCharacterBase() { AbilitySystemComponent = CreateDefaultSubobject<URPGAbilitySystemComponen t>
(TEXT("AbilitySystemComponent")); …
89.
Gameplay Ability Systemの構成要素 Gameplay
Attribute (Sets) ○ Gameplay Ability Systemによって 制御・管理されるパラメータ(群) ○ 変化したパラメータを Actorのプロパティに反映する処理はここで行う ○ C++限定。BPでは作成不可能
90.
Attribute Sets専用の関数 ● PreGameplayEffectExecute ○
GamePlay Effectの実行直前 ○ 変更を拒否したり、変更内容を変更したり ● PreAttributeChange /PreAttributeBaseChange ○ Attributeの変更処理時に呼び出される ○ 変更後の値に対してClamp処理をかけたり ● PostGameplayEffectExecute ○ GamePlay Effectの実行直後 ○ Actorへの変更う通知はここで
91.
Gameplay Ability Systemの構成要素 ActionRPGでは、キャラクタのパラメータを管理 ○
Health, Mana, Damage, MoveSpeed RPGAttribute.hにて UPROPERTY(BlueprintReadOnly, Category = “Health”, ReplicatedUsing=OnRep_Health) FGameplayAttributeData Health; ATTRIBUTE_ACCESSORS(URPGAttributeSet, Health)
92.
Gameplay Ability Systemの構成要素 Gameplay
Effect ○ Gameplay Attributeを制御するための機能 ○ ダメージ値を元にHPを減らしたり、 一時的にパラメータを変更(バフ、デバフ)したり
93.
デフォルトで用意されているプロパティを使って どのようなルールでAttributeを制御するかを設定 ○ 独自にカスタマイズする必要はなし
94.
Gameplay Ability Systemの構成要素 Gameplay
Ability ○ 対象のスキルが使った際の制御を管理 ■ どのアニメーションを再生するか ■ どのGamePlay Effectを使用するか ■ 使用する際のコスト、条件の計算 ○ C++, BPで実装
95.
Gameplay Ability Activate (OnEnd)
Ability イベント ○ Commit Ability, End Abilityノード ○ Ability Taskノード
96.
Ability Taskノード GamePlay Ability用のノード ○
非同期処理、イベントドリブン ○ C++で自作可能( RPGAbilityTask_PlayMontageAndWaitForEvent )
97.
Actor側ですること ActorがAbility System Component経由で GamePlay
Abilityを呼び出す
98.
Gameplay Tagによるフィルタ機能 実行対象のAbility、実行中のAbility、 Source(実行元のActor), Target(実行対象のActor)
が持つ Tag情報を使って実行するか否かを判定可能
99.
タグの活用例 Tag: none Tag:
Status.Dead
100.
Tag: Status.Dead Tag:
Ability.Melee
101.
Tag: Status.Dead Tag:
Ability.Melee
102.
Ability Tag ○ アビリティ自身が持つGamePlay
Tag Block Abilities with Tag ○ アビリティ実行中は、 指定したTagを持つアビリティを実行しないようにする
103.
ステート管理をGameplay Tagで実現可能! ○ BPでステート管理を実現しようとすると Enum,
プロパティ、Switch, Branchが盛り沢山になりがち… ○ ノードを組まなくても、Tagの編集だけで追加・調整可能 AnimBPのステートマシン
104.
ちなみに GamePlay Tagは GamePlay Ability
System専用ではないので、 ActorなどのBPでも活用可能!
105.
ActorやComponentでモリモリ実装しがちな処理を 外部に逃がすことができる ○ 一つの箇所に処理が集約すると管理が大変 ○ 作業分担も非常にし辛い アセットによって制御を追加・制御できるので 変更や量産に強い仕組みにできる ○
データドリブン ○ エンジニアの手を借りなくてもいい
106.
● 非同期処理で走らせることができる! ○ 1フレームに処理が集中してカクつくことを回避できる ○
おのずとイベントドリブンで組める! ( 無駄なTick撲滅 ) ● ネットワーク対応を考慮してるのは大きい ○ 自前で実装・設計するのは結構大変 ● それなりにC++を使う必要がある ○ 少なくとも下準備にはエンジニアが必須かも(;´∀`)
107.
公式ドキュメント ○ https://docs.unrealengine.com/en-us/Gameplay/GameplayAbilitySystem
108.
おかわり はくまい(@OkawariHakumai )さんによる 日本語での解説ブログ ○
https://okawari-hakumai.hatenablog.com/entry/2018/07/22/165242
109.
BPとC++のバランスについて
110.
https://www.unrealengine.com/ja/blog/balancing-blueprint-and-c
111.
どうしてBPとC++の使い分けが よく議題になるのか?
112.
よく耳にすること BPだと全くパフォーマンスでない! C++にすればパフォーマンスは大幅に上がる! やはりノードベースじゃゲーム作れない! 使い慣れたC++最高や!
113.
半分合ってて、半分間違い!
114.
BPの呼び出しコストはC++より重いが、 実行する処理の負荷はC++で呼び出した時と殆ど変わりない 例えば ○ Line Traceを呼ぶBPをC++に変えても Line
Trace自体の処理負荷はあまり改善されない
115.
つまりなにが言いたいのか? C++にしたことで得た処理負荷の改善度合いは BPのメリットを捨てたことに本当に見合うのか? 例えば: ○ BPなら1時間で完了する作業 ○ C++を使うルールなので、エンジニアの手があくまで待つことに ○
1週間後、ようやく実装完了。BP使うよりも 0.001ms 改善できた 時間・コストの掛け方 が非常にもったいない
116.
BPとC++の使い分けを パフォーマンスの観点だけで判断するのは非常に危険 もっと広い視点から考えるべき
117.
考えないといけないこと BP, C++のメリット・デメリットを理解した上で、 開発規模・チーム構成・開発フローなどを考慮しつつ、 適切に設計・使用することが重要!
118.
BPのメリット ● イテレーション速度 ● 非エンジニアでも扱いやすい ●
C++よりも安全に処理・データを扱える ○ 例:GC起因による ぬるぽ → ガッ! の回避 ● ゲームの流れの可視化・組みやすさ ○ Latent, イベントディスパッチャー、 非同期処理系のノードが非常に便利
119.
C++のメリット ● BPよりも、処理の呼び出しコストが少ない ● 処理・機能のカプセル化 ●
エンジンのコア部分にアクセス可能 ● デバッグしやすい ○ UE4.19でBPのデバッグ機能が強化されました ● 差分チェック・マージが容易
120.
BPのデメリットは、C++のメリット ○ 逆も然り メリット・デメリットの度合いは 実装内容に加えて、 開発規模・チーム構成・開発フローによって変化
121.
例えば 仕様上、処理を何度も呼び出す必要がある ○ C++ の「呼び出しコストの低い
」のメリットが大きい 開発期間が短い または 開発規模が大きい ○ BPの「イテレーション速度」、 「非エンジニアでも扱いやすい」のメリットが大きい
122.
BP、C++の使い分けは 様々な観点から考える必要がある 処理負荷だけでなく、 チーム全体の作業効率も考慮
123.
Epicが推奨しているフローと 設計する上での注意点について
124.
BPでプロトタイプを素早く作成し システムの基本機能の実証後のタイミングで 一部、または全てをC++に移行するのが一般的 ○ Unreal Engine
4を利用した先進的なゲーム制作手法 The Unreal Way 2016 Epic Games Japan ○ C++への移行は処理負荷・作業効率と相談した上で行う
125.
Session Frontendのプロファイラーにて Selfの負荷が大きい場合は、BPの呼び出しコストが問題 C++への移行を検討する価値あり ○ stat
startfile / stopfile
126.
Tick処理は可能な限り避ける 毎フレーム処理を走らせると、負荷の問題が発生しやすい ○ たとえC++であっても 設計の見直し ○ Start
with Tick EnabledをOFF ○ Tick Intervalを長めに イベントドリブンへの移行 ○ Timer, イベントディスパッチャー
127.
派生先で追加した情報を 基底側からアクセスするのは非推奨 ○ C++からBPで追加された変数にアクセス、など 基底でロジックを組む上で必要になる場合は ちゃんと基底で変数を用意したり、 派生先でオーバーライドする仕組みにすること
128.
アセット間の参照関係の肥大化は避ける 参照アセットが増えると、ロード時間、コンパイル時間、 メモリ使用量の増加などの問題が発生
129.
多くのアセットを持つBPと参照関係を持たないようにする ● CastではなくBPインターフェースを活用 ● アセットを多く持たない 基底クラスにCastするようにする ○
アセットを参照するのは派生クラス側にする
130.
ユーザ定義のEnum / Structに注意 BPで作られた
Enum / Structには C++からアクセスすることはできない 重要なEnum / Struct は C++側で実装する
131.
文字列によるアセット参照を避ける C++のLoadObject関数などを使うことで アセットパスの文字列からアセットをロード可能 ○ 参照関係を持つことを回避できる(ソフトリファレンス) 問題点 ● 参照がcookerによって完全にトラッキングされないので、 パッケージで問題を引き起こす可能性がある 対策 ●
FSoftObjectPath、TSoftObjectPtr型を活用
132.
この他にもいくつかTipsがありますが、 さらに複雑な話になるので続きはドキュメントで! ● Balancing Blueprint
and C++ ● Building Gameplay in C++ for Action RPG
133.
Action RPGでは 基本的なロジックは BPと GamePlay
Ability System用のアセットで実現
134.
C++を使っている箇所 ○ GamePlay Ability
Systemを使うための下準備 ■ Ability, AttributeSet, CharacterBaseなど ○ Asset Managerでアセット・パラメータを管理するための下準備 ■ RPGAssetManager, RPGItem系 ○ BPだと実装するのが少し面倒なセーブ・ロード処理 ○ ロジックを組む上で便利な独自ノードの実装
135.
BPとC++の使い分けは プロジェクトごとに正解が異なります! エンジニアだけで決めるのではなく、 各セクションと相談した上で決めましょう! また、プロファイリングはしっかり取りましょう!
Download