SlideShare a Scribd company logo
Submit Search
Upload
UE4 MultiPlayer Online Deep Dive 基礎編1 -Getting Started- (historia様ご講演) #UE4DD
Report
Share
エピック・ゲームズ・ジャパン Epic Games Japan
エピック・ゲームズ・ジャパン Epic Games Japan
Follow
•
17 likes
•
16,452 views
1
of
102
UE4 MultiPlayer Online Deep Dive 基礎編1 -Getting Started- (historia様ご講演) #UE4DD
•
17 likes
•
16,452 views
Report
Share
Download Now
Download to read offline
Engineering
2017年7月2日に行われたライセンシー様向けMO勉強会の資料です。基礎編① (登壇者: historia 原龍さま)
Read more
エピック・ゲームズ・ジャパン Epic Games Japan
エピック・ゲームズ・ジャパン Epic Games Japan
Follow
Recommended
UE4 MultiPlayer Online Deep Dive 基礎編2 -Traveling- (historia様ご講演) #ue4dd by
UE4 MultiPlayer Online Deep Dive 基礎編2 -Traveling- (historia様ご講演) #ue4dd
エピック・ゲームズ・ジャパン Epic Games Japan
12.9K views
•
63 slides
UE4 MultiPlayer Online Deep Dive: 実践編1 (Byking様ご講演) #UE4DD by
UE4 MultiPlayer Online Deep Dive: 実践編1 (Byking様ご講演) #UE4DD
エピック・ゲームズ・ジャパン Epic Games Japan
24.2K views
•
88 slides
UE4でマルチプレイヤーゲームを作ろう by
UE4でマルチプレイヤーゲームを作ろう
エピック・ゲームズ・ジャパン Epic Games Japan
29.8K views
•
226 slides
UE4 MultiPlayer Online Deep Dive 実践編2 (ソレイユ株式会社様ご講演) #UE4DD by
UE4 MultiPlayer Online Deep Dive 実践編2 (ソレイユ株式会社様ご講演) #UE4DD
エピック・ゲームズ・ジャパン Epic Games Japan
9.6K views
•
29 slides
UE4 コリジョン検証 -HitとOverlapイベントが発生する条件について- by
UE4 コリジョン検証 -HitとOverlapイベントが発生する条件について-
Tatsuya Iwama
23.1K views
•
68 slides
ゆるゆるUE4ネットワーク入門 by
ゆるゆるUE4ネットワーク入門
ssuser221848
3.5K views
•
51 slides
More Related Content
What's hot
徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意! by
徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!
エピック・ゲームズ・ジャパン Epic Games Japan
12.3K views
•
115 slides
UE4×Switchで60FPSの(ネットワーク)対戦アクションをなんとかして作る! | UNREAL FEST EXTREME 2020 WINTER by
UE4×Switchで60FPSの(ネットワーク)対戦アクションをなんとかして作る! | UNREAL FEST EXTREME 2020 WINTER
エピック・ゲームズ・ジャパン Epic Games Japan
6.1K views
•
94 slides
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~ by
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
エピック・ゲームズ・ジャパン Epic Games Japan
35.1K views
•
153 slides
UE4における大規模レベル実装ワークフローとブループリント活用事例 by
UE4における大規模レベル実装ワークフローとブループリント活用事例
エピック・ゲームズ・ジャパン Epic Games Japan
21K views
•
196 slides
UE4とUnrealC++について by
UE4とUnrealC++について
Masahiko Nakamura
39.6K views
•
45 slides
UE4におけるキャラクタークラス設計 by
UE4におけるキャラクタークラス設計
Masahiko Nakamura
17.1K views
•
57 slides
What's hot
(20)
徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意! by エピック・ゲームズ・ジャパン Epic Games Japan
徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!
エピック・ゲームズ・ジャパン Epic Games Japan
•
12.3K views
UE4×Switchで60FPSの(ネットワーク)対戦アクションをなんとかして作る! | UNREAL FEST EXTREME 2020 WINTER by エピック・ゲームズ・ジャパン Epic Games Japan
UE4×Switchで60FPSの(ネットワーク)対戦アクションをなんとかして作る! | UNREAL FEST EXTREME 2020 WINTER
エピック・ゲームズ・ジャパン Epic Games Japan
•
6.1K views
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~ by エピック・ゲームズ・ジャパン Epic Games Japan
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
エピック・ゲームズ・ジャパン Epic Games Japan
•
35.1K views
UE4における大規模レベル実装ワークフローとブループリント活用事例 by エピック・ゲームズ・ジャパン Epic Games Japan
UE4における大規模レベル実装ワークフローとブループリント活用事例
エピック・ゲームズ・ジャパン Epic Games Japan
•
21K views
UE4とUnrealC++について by Masahiko Nakamura
UE4とUnrealC++について
Masahiko Nakamura
•
39.6K views
UE4におけるキャラクタークラス設計 by Masahiko Nakamura
UE4におけるキャラクタークラス設計
Masahiko Nakamura
•
17.1K views
[CEDEC2018] UE4で多数のキャラクターを生かすためのテクニック by エピック・ゲームズ・ジャパン Epic Games Japan
[CEDEC2018] UE4で多数のキャラクターを生かすためのテクニック
エピック・ゲームズ・ジャパン Epic Games Japan
•
26K views
60fpsアクションを実現する秘訣を伝授 基礎編 by エピック・ゲームズ・ジャパン Epic Games Japan
60fpsアクションを実現する秘訣を伝授 基礎編
エピック・ゲームズ・ジャパン Epic Games Japan
•
28K views
実行速度の最適化のあれこれ プラス おまけ by エピック・ゲームズ・ジャパン Epic Games Japan
実行速度の最適化のあれこれ プラス おまけ
エピック・ゲームズ・ジャパン Epic Games Japan
•
26.9K views
出張ヒストリア ブループリントを書くにあたって大切なこと by historia_Inc
出張ヒストリア ブループリントを書くにあたって大切なこと
historia_Inc
•
31.6K views
Unreal Engine 4を使って地球を衛る方法 by エピック・ゲームズ・ジャパン Epic Games Japan
Unreal Engine 4を使って地球を衛る方法
エピック・ゲームズ・ジャパン Epic Games Japan
•
34.5K views
[4.20版] UE4におけるLoadingとGCのProfilingと最適化手法 by エピック・ゲームズ・ジャパン Epic Games Japan
[4.20版] UE4におけるLoadingとGCのProfilingと最適化手法
エピック・ゲームズ・ジャパン Epic Games Japan
•
7.2K views
UnrealBuildTool勉強会まとめ by Shun Sasaki
UnrealBuildTool勉強会まとめ
Shun Sasaki
•
13K views
第1回UE4勉強会 in 大阪 - エンジン改造ってどうなの? by com044
第1回UE4勉強会 in 大阪 - エンジン改造ってどうなの?
com044
•
7.5K views
UE4におけるレベル制作事例 by エピック・ゲームズ・ジャパン Epic Games Japan
UE4におけるレベル制作事例
エピック・ゲームズ・ジャパン Epic Games Japan
•
37.6K views
UE4 LODs for Optimization -Beginner- by com044
UE4 LODs for Optimization -Beginner-
com044
•
11K views
UE4のローカライズ機能紹介 (UE4 Localization Deep Dive) by エピック・ゲームズ・ジャパン Epic Games Japan
UE4のローカライズ機能紹介 (UE4 Localization Deep Dive)
エピック・ゲームズ・ジャパン Epic Games Japan
•
28.1K views
猫でも分かる UE4の新しいサンプル「Action RPG」について by エピック・ゲームズ・ジャパン Epic Games Japan
猫でも分かる UE4の新しいサンプル「Action RPG」について
エピック・ゲームズ・ジャパン Epic Games Japan
•
34.6K views
[CEDEC2018] UE4アニメーションシステム総おさらい by エピック・ゲームズ・ジャパン Epic Games Japan
[CEDEC2018] UE4アニメーションシステム総おさらい
エピック・ゲームズ・ジャパン Epic Games Japan
•
19.7K views
メカアクションゲーム『DAEMON X MACHINA』 信念と血と鋼鉄の開発事例 by エピック・ゲームズ・ジャパン Epic Games Japan
メカアクションゲーム『DAEMON X MACHINA』 信念と血と鋼鉄の開発事例
エピック・ゲームズ・ジャパン Epic Games Japan
•
15.4K views
Viewers also liked
2017 Fighting Game AI Competition by
2017 Fighting Game AI Competition
ftgaic
5.4K views
•
55 slides
C++コードはいらない!UE4で作るお手軽マルチプレイネットワークゲームについて by
C++コードはいらない!UE4で作るお手軽マルチプレイネットワークゲームについて
Masahiko Nakamura
98.7K views
•
45 slides
Unreal engine4を使ったVRコンテンツ製作で 120%役に立つtips集+GDC情報をご紹介 by
Unreal engine4を使ったVRコンテンツ製作で 120%役に立つtips集+GDC情報をご紹介
エピック・ゲームズ・ジャパン Epic Games Japan
14.8K views
•
92 slides
UE4 Lightmass for Large Console Games (UE4 Lightmass Deep Dive) by
UE4 Lightmass for Large Console Games (UE4 Lightmass Deep Dive)
エピック・ゲームズ・ジャパン Epic Games Japan
10.4K views
•
146 slides
UE4.17で入る新機能を一気に紹介・解説! by
UE4.17で入る新機能を一気に紹介・解説!
エピック・ゲームズ・ジャパン Epic Games Japan
25.8K views
•
90 slides
猫でも分かるUMG by
猫でも分かるUMG
エピック・ゲームズ・ジャパン Epic Games Japan
58.6K views
•
120 slides
Viewers also liked
(15)
2017 Fighting Game AI Competition by ftgaic
2017 Fighting Game AI Competition
ftgaic
•
5.4K views
C++コードはいらない!UE4で作るお手軽マルチプレイネットワークゲームについて by Masahiko Nakamura
C++コードはいらない!UE4で作るお手軽マルチプレイネットワークゲームについて
Masahiko Nakamura
•
98.7K views
Unreal engine4を使ったVRコンテンツ製作で 120%役に立つtips集+GDC情報をご紹介 by エピック・ゲームズ・ジャパン Epic Games Japan
Unreal engine4を使ったVRコンテンツ製作で 120%役に立つtips集+GDC情報をご紹介
エピック・ゲームズ・ジャパン Epic Games Japan
•
14.8K views
UE4 Lightmass for Large Console Games (UE4 Lightmass Deep Dive) by エピック・ゲームズ・ジャパン Epic Games Japan
UE4 Lightmass for Large Console Games (UE4 Lightmass Deep Dive)
エピック・ゲームズ・ジャパン Epic Games Japan
•
10.4K views
UE4.17で入る新機能を一気に紹介・解説! by エピック・ゲームズ・ジャパン Epic Games Japan
UE4.17で入る新機能を一気に紹介・解説!
エピック・ゲームズ・ジャパン Epic Games Japan
•
25.8K views
猫でも分かるUMG by エピック・ゲームズ・ジャパン Epic Games Japan
猫でも分かるUMG
エピック・ゲームズ・ジャパン Epic Games Japan
•
58.6K views
Robo Recallで使われている最新のVR開発テクニックをご紹介! by エピック・ゲームズ・ジャパン Epic Games Japan
Robo Recallで使われている最新のVR開発テクニックをご紹介!
エピック・ゲームズ・ジャパン Epic Games Japan
•
12.8K views
脱Unity!? UE4でVR開発のここが変わった by エピック・ゲームズ・ジャパン Epic Games Japan
脱Unity!? UE4でVR開発のここが変わった
エピック・ゲームズ・ジャパン Epic Games Japan
•
9.8K views
Practical usage of Lightmass in Architectural Visualization (Kenichi Makaya... by エピック・ゲームズ・ジャパン Epic Games Japan
Practical usage of Lightmass in Architectural Visualization (Kenichi Makaya...
エピック・ゲームズ・ジャパン Epic Games Japan
•
44.3K views
[CEDEC2017] 最新モバイルゲームの実例からみるUE4のモバイル向け機能・Tipsを全部まるっとご紹介! by エピック・ゲームズ・ジャパン Epic Games Japan
[CEDEC2017] 最新モバイルゲームの実例からみるUE4のモバイル向け機能・Tipsを全部まるっとご紹介!
エピック・ゲームズ・ジャパン Epic Games Japan
•
15.4K views
Unreal Engine最新機能 アニメーション+物理ショーケース! by エピック・ゲームズ・ジャパン Epic Games Japan
Unreal Engine最新機能 アニメーション+物理ショーケース!
エピック・ゲームズ・ジャパン Epic Games Japan
•
13.4K views
[CEDEC+KYUSHU 2017] 最新モバイルゲームの実例からみるUE4のモバイル向け機能・Tipsを全部まるっとご紹介! + UE4.18 モバイ... by エピック・ゲームズ・ジャパン Epic Games Japan
[CEDEC+KYUSHU 2017] 最新モバイルゲームの実例からみるUE4のモバイル向け機能・Tipsを全部まるっとご紹介! + UE4.18 モバイ...
エピック・ゲームズ・ジャパン Epic Games Japan
•
16.5K views
[CEDEC2017] UE4プロファイリングツール総おさらい(グラフィクス編) by エピック・ゲームズ・ジャパン Epic Games Japan
[CEDEC2017] UE4プロファイリングツール総おさらい(グラフィクス編)
エピック・ゲームズ・ジャパン Epic Games Japan
•
59.1K views
いつやるの?Git入門 by Masakazu Matsushita
いつやるの?Git入門
Masakazu Matsushita
•
435.1K views
CEDEC2016: Unreal Engine 4 のレンダリングフロー総おさらい by エピック・ゲームズ・ジャパン Epic Games Japan
CEDEC2016: Unreal Engine 4 のレンダリングフロー総おさらい
エピック・ゲームズ・ジャパン Epic Games Japan
•
52.9K views
Similar to UE4 MultiPlayer Online Deep Dive 基礎編1 -Getting Started- (historia様ご講演) #UE4DD
「AROW」お披露目(実用編) by
「AROW」お披露目(実用編)
Drecom Co., Ltd.
2.3K views
•
30 slides
"Up" with vagrant and docker by
"Up" with vagrant and docker
Hiroshi Miura
2.6K views
•
23 slides
"Up" with vagrant and docker by
"Up" with vagrant and docker
Hiroshi Miura
35 views
•
23 slides
WebRTC on Native App by
WebRTC on Native App
WebRTCConferenceJapan
2.3K views
•
19 slides
OSS強化学習向けゲーム環境の動向 by
OSS強化学習向けゲーム環境の動向
gree_tech
2.7K views
•
54 slides
Kubernete Meetup Tokyo #18 - Kubebuilder/controller-runtime 入門 by
Kubernete Meetup Tokyo #18 - Kubebuilder/controller-runtime 入門
Preferred Networks
22.4K views
•
28 slides
Similar to UE4 MultiPlayer Online Deep Dive 基礎編1 -Getting Started- (historia様ご講演) #UE4DD
(20)
「AROW」お披露目(実用編) by Drecom Co., Ltd.
「AROW」お披露目(実用編)
Drecom Co., Ltd.
•
2.3K views
"Up" with vagrant and docker by Hiroshi Miura
"Up" with vagrant and docker
Hiroshi Miura
•
2.6K views
"Up" with vagrant and docker by Hiroshi Miura
"Up" with vagrant and docker
Hiroshi Miura
•
35 views
WebRTC on Native App by WebRTCConferenceJapan
WebRTC on Native App
WebRTCConferenceJapan
•
2.3K views
OSS強化学習向けゲーム環境の動向 by gree_tech
OSS強化学習向けゲーム環境の動向
gree_tech
•
2.7K views
Kubernete Meetup Tokyo #18 - Kubebuilder/controller-runtime 入門 by Preferred Networks
Kubernete Meetup Tokyo #18 - Kubebuilder/controller-runtime 入門
Preferred Networks
•
22.4K views
loggregator update by Ken Ojiri
loggregator update
Ken Ojiri
•
2.2K views
WSL2+docker+JupyterとVS Codeリモート環境の構築 by Saito5656
WSL2+docker+JupyterとVS Codeリモート環境の構築
Saito5656
•
559 views
ドリコムのインフラCI by Go Sueyoshi (a.k.a sue445)
ドリコムのインフラCI
Go Sueyoshi (a.k.a sue445)
•
3.2K views
Tottoruby 20110903 by Takashi SAKAGUCHI
Tottoruby 20110903
Takashi SAKAGUCHI
•
807 views
XML-RPC : Pythonが「電池付属」と呼ばれる理由 by Ransui Iso
XML-RPC : Pythonが「電池付属」と呼ばれる理由
Ransui Iso
•
8.3K views
Openstack SPICE console (icehouse) verification by yukihiro kawada
Openstack SPICE console (icehouse) verification
yukihiro kawada
•
3.9K views
Docker+CoreOS+GCEで自動スケール分散レイトレ by peryaudo
Docker+CoreOS+GCEで自動スケール分散レイトレ
peryaudo
•
15.1K views
ドリコムのInfrastructure as code by Yosuke Hiraishi
ドリコムのInfrastructure as code
Yosuke Hiraishi
•
17.9K views
シンラ・テクノロジー第2回クラウドゲーム開発者会議 by Shinra_Technologies
シンラ・テクノロジー第2回クラウドゲーム開発者会議
Shinra_Technologies
•
3.4K views
BuildKitによる高速でセキュアなイメージビルド by Akihiro Suda
BuildKitによる高速でセキュアなイメージビルド
Akihiro Suda
•
42.6K views
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪 by Kunihiro TANAKA
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
Kunihiro TANAKA
•
14.3K views
Let's play with Goldfish by Tetsuyuki Kobayashi
Let's play with Goldfish
Tetsuyuki Kobayashi
•
5.9K views
Scripting Layer for Android + Perl by Naoya Ito
Scripting Layer for Android + Perl
Naoya Ito
•
3.3K views
20211209 lt runtime_field by Nomura Yuta
20211209 lt runtime_field
Nomura Yuta
•
150 views
More from エピック・ゲームズ・ジャパン Epic Games Japan
初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方 by
初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方
エピック・ゲームズ・ジャパン Epic Games Japan
27.1K views
•
103 slides
猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021 by
猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021
エピック・ゲームズ・ジャパン Epic Games Japan
10.7K views
•
79 slides
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 2 by
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 2
エピック・ゲームズ・ジャパン Epic Games Japan
5.4K views
•
123 slides
Unreal Engine 4.27 ノンゲーム向け新機能まとめ by
Unreal Engine 4.27 ノンゲーム向け新機能まとめ
エピック・ゲームズ・ジャパン Epic Games Japan
3.3K views
•
87 slides
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 1 by
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 1
エピック・ゲームズ・ジャパン Epic Games Japan
2.7K views
•
156 slides
UE4 Hair & Groomでのリアルタイムファーレンダリング (UE4 Character Art Dive Online) by
UE4 Hair & Groomでのリアルタイムファーレンダリング (UE4 Character Art Dive Online)
エピック・ゲームズ・ジャパン Epic Games Japan
15.7K views
•
133 slides
More from エピック・ゲームズ・ジャパン Epic Games Japan
(20)
初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方 by エピック・ゲームズ・ジャパン Epic Games Japan
初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方
エピック・ゲームズ・ジャパン Epic Games Japan
•
27.1K views
猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021 by エピック・ゲームズ・ジャパン Epic Games Japan
猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021
エピック・ゲームズ・ジャパン Epic Games Japan
•
10.7K views
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 2 by エピック・ゲームズ・ジャパン Epic Games Japan
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 2
エピック・ゲームズ・ジャパン Epic Games Japan
•
5.4K views
Unreal Engine 4.27 ノンゲーム向け新機能まとめ by エピック・ゲームズ・ジャパン Epic Games Japan
Unreal Engine 4.27 ノンゲーム向け新機能まとめ
エピック・ゲームズ・ジャパン Epic Games Japan
•
3.3K views
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 1 by エピック・ゲームズ・ジャパン Epic Games Japan
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 1
エピック・ゲームズ・ジャパン Epic Games Japan
•
2.7K views
UE4 Hair & Groomでのリアルタイムファーレンダリング (UE4 Character Art Dive Online) by エピック・ゲームズ・ジャパン Epic Games Japan
UE4 Hair & Groomでのリアルタイムファーレンダリング (UE4 Character Art Dive Online)
エピック・ゲームズ・ジャパン Epic Games Japan
•
15.7K views
UE4を使った映像制作 (UE4 Character Art Dive Online) by エピック・ゲームズ・ジャパン Epic Games Japan
UE4を使った映像制作 (UE4 Character Art Dive Online)
エピック・ゲームズ・ジャパン Epic Games Japan
•
17.1K views
Hair Groom入門 (UE4 Character Art Dive Online) by エピック・ゲームズ・ジャパン Epic Games Japan
Hair Groom入門 (UE4 Character Art Dive Online)
エピック・ゲームズ・ジャパン Epic Games Japan
•
12.2K views
UE4で”MetaHumanを使わずに”耳なし芳一になる10の方法 | UE4 Character Art Dive Online by エピック・ゲームズ・ジャパン Epic Games Japan
UE4で”MetaHumanを使わずに”耳なし芳一になる10の方法 | UE4 Character Art Dive Online
エピック・ゲームズ・ジャパン Epic Games Japan
•
12.9K views
『バランワンダーワールド』でのマルチプラットフォーム対応について UNREAL FEST EXTREME 2021 SUMMER by エピック・ゲームズ・ジャパン Epic Games Japan
『バランワンダーワールド』でのマルチプラットフォーム対応について UNREAL FEST EXTREME 2021 SUMMER
エピック・ゲームズ・ジャパン Epic Games Japan
•
5.1K views
Visual Dataprepで建築データを美味しく下ごしらえ UNREAL FEST EXTREME 2021 SUMMER by エピック・ゲームズ・ジャパン Epic Games Japan
Visual Dataprepで建築データを美味しく下ごしらえ UNREAL FEST EXTREME 2021 SUMMER
エピック・ゲームズ・ジャパン Epic Games Japan
•
4.5K views
Unreal Engineでのコンフィギュレーター制作と映像制作 UNREAL FEST EXTREME 2021 SUMMER by エピック・ゲームズ・ジャパン Epic Games Japan
Unreal Engineでのコンフィギュレーター制作と映像制作 UNREAL FEST EXTREME 2021 SUMMER
エピック・ゲームズ・ジャパン Epic Games Japan
•
4.4K views
バレンシアガ『Afterworld: The Age of Tomorrow』の舞台裏 UNREAL FEST EXTREME 2021 SUMMER by エピック・ゲームズ・ジャパン Epic Games Japan
バレンシアガ『Afterworld: The Age of Tomorrow』の舞台裏 UNREAL FEST EXTREME 2021 SUMMER
エピック・ゲームズ・ジャパン Epic Games Japan
•
4.9K views
『FINAL FANTASY VII REMAKE』におけるプロファイリングと最適化事例 UNREAL FEST EXTREME 2021 SUMMER by エピック・ゲームズ・ジャパン Epic Games Japan
『FINAL FANTASY VII REMAKE』におけるプロファイリングと最適化事例 UNREAL FEST EXTREME 2021 SUMMER
エピック・ゲームズ・ジャパン Epic Games Japan
•
7.2K views
SAMURAI JACK開発事例:海外むけアクションゲームをオーソドックスに作ってみた UNREAL FEST EXTREME 2021 SUMMER by エピック・ゲームズ・ジャパン Epic Games Japan
SAMURAI JACK開発事例:海外むけアクションゲームをオーソドックスに作ってみた UNREAL FEST EXTREME 2021 SUMMER
エピック・ゲームズ・ジャパン Epic Games Japan
•
5.7K views
『ガールズ&パンツァー 最終章』第3話 アニメとゲームエンジンの融合(ジャングル完結編) UNREAL FEST EXTREME 2021 SUMMER by エピック・ゲームズ・ジャパン Epic Games Japan
『ガールズ&パンツァー 最終章』第3話 アニメとゲームエンジンの融合(ジャングル完結編) UNREAL FEST EXTREME 2021 SUMMER
エピック・ゲームズ・ジャパン Epic Games Japan
•
4.7K views
UE4を使用したバーチャルヒューマンの映像制作 UNREAL FEST EXTREME 2021 SUMMER by エピック・ゲームズ・ジャパン Epic Games Japan
UE4を使用したバーチャルヒューマンの映像制作 UNREAL FEST EXTREME 2021 SUMMER
エピック・ゲームズ・ジャパン Epic Games Japan
•
4.9K views
オンラインで同期した100体の巨大生物から地球を衛る方法 UNREAL FEST EXTREME 2021 SUMMER by エピック・ゲームズ・ジャパン Epic Games Japan
オンラインで同期した100体の巨大生物から地球を衛る方法 UNREAL FEST EXTREME 2021 SUMMER
エピック・ゲームズ・ジャパン Epic Games Japan
•
4.9K views
MetaHumanサンプル解体新書 UNREAL FEST EXTREME 2021 SUMMER by エピック・ゲームズ・ジャパン Epic Games Japan
MetaHumanサンプル解体新書 UNREAL FEST EXTREME 2021 SUMMER
エピック・ゲームズ・ジャパン Epic Games Japan
•
14.7K views
Twinmotion 2021とAEC分野向けソリューションのご紹介 by エピック・ゲームズ・ジャパン Epic Games Japan
Twinmotion 2021とAEC分野向けソリューションのご紹介
エピック・ゲームズ・ジャパン Epic Games Japan
•
1.9K views
UE4 MultiPlayer Online Deep Dive 基礎編1 -Getting Started- (historia様ご講演) #UE4DD
1.
© historia Inc.
#UE4DD Multiplayer Online Deep Dive - Getting Started - historia Inc. 原 龍
2.
© historia Inc.
#UE4DD https://github.com/HogeTatu/UE4Plugin_WebApi
3.
© historia Inc.
#UE4DD 本日の Deep Dive のお題目 Multiplayer Online
4.
© historia Inc.
#UE4DD Multiplayer Online (MO) 人数 少人数(多くても30人程度) プレイ時間 短い(長くても60分程度) 求められるもの リアルタイム性が高い(低レイテンシ) ゲームデザイン • アクション • 格闘ゲーム • FPS, TPS • MOBA (Multiplayer Online Battle Arena)
5.
© historia Inc.
#UE4DD 本日の流れ TravelingDedicated Server RPC / Replicate 導入(オンライン機能概要) はじめに、機能概要と Traveling 周りをヒストリアからご説明 TCP Plugin
6.
© historia Inc.
#UE4DD 本日の流れ TravelingDedicated Server RPC / Replicate 導入(オンライン機能概要) RPC / Replicate を中心に、バイキング様からご説明 TCP Plugin
7.
© historia Inc.
#UE4DD 本日の流れ TravelingDedicated Server RPC / Replicate 導入(オンライン機能概要) Dedicated Server を中心に、ソレイユ様からご説明 TCP Plugin
8.
© historia Inc.
#UE4DD http://cedric-neukirchen.net/Downloads/Compendium/UE4_Network_Compendium_by_Cedric_eXi_Neukirchen.pdf 本日の内容は Cedric ‘eXi’ Neukirchen 様の資料を参考にさせて頂いています。 こちらも合わせてご確認頂けると、理解が進むと思われます。
9.
© historia Inc.
#UE4DD ネットワークモード
10.
© historia Inc.
#UE4DD UE4 は Client-Server (C/S) モデル Client 1 Server Client 2 Client 3 ゲームプレイフローを制御
11.
© historia Inc.
#UE4DD Listen Server (プレイヤーの1人がサーバーを担当) Client 1 Server Client 2 Client 3
12.
© historia Inc.
#UE4DD Dedicated Server (専用のインスタンスがサーバーを担当) Client 1 Client 2 Client 3 Client 4 Server
13.
© historia Inc.
#UE4DD 同期処理 1. Replicate (プロパティ同期)
14.
© historia Inc.
#UE4DD Actor のプロパティを C/S 間で同期 C++ /** 同期するプロパティ */ UPROPERTY(Replicated) int32 SampleProperty; /** 同期するプロパティを ActorChannel に通知 */ void ASampleActor::GetLifetimeReplicatedProps( TArray<FLifetimeProperty>& OutLifetimeProps) const { Super::GetLifetimeReplicatedProps(OutLifetimeProps); DOREPLIFETIME(ASampleActor, SampleProperty); }
15.
© historia Inc.
#UE4DD Actor のプロパティを C/S 間で同期 Blueprint
16.
© historia Inc.
#UE4DD Actor のプロパティを C/S 間で同期後、コールバック通知 C++ /** 同期するプロパティ */ UPROPERTY(ReplicatedUsing=OnRep_SampleProperty) int32 SampleProperty; /** プロパティ同期通知コールバック */ UFUNCTION() void OnRep_SampleProperty(); ※ GetLifetimeReplicatedProps はコールバックの有無で変更なし
17.
© historia Inc.
#UE4DD Actor のプロパティを C/S 間で同期後、コールバック通知 Blueprint
18.
© historia Inc.
#UE4DD Actor Channel ? C/S 間で Actor と SubObject を同期するための通信チャンネル Actor のスポーン情報を持ち、レプリケートされた Actor の生成 / 破棄を管理する 所有する FObjectReplicator がプロパティ同期と RPC を行う
19.
© historia Inc.
#UE4DD Server Client Actor Actor Channel Actor Actor Channel • プロパティの差分抽出 • リクエストされた RPC • アクターの生成 • プロパティの反映 • RPC の実行 Actor がレプリケートされる流れ
20.
© historia Inc.
#UE4DD GetLifetimeReplicatedProps の役割 FObjectReplicator がパケットレイアウトを決めるために、 同期するプロパティを判断する際に利用される 同期するプロパティを設定しつつ、同期される条件(≒タイミング)を 指定することも可能
21.
© historia Inc.
#UE4DD Actor のプロパティを同期する条件を指定 C++ /** 同期するプロパティ */ UPROPERTY(Replicated) int32 SampleProp; /** 同期するプロパティを ActorChannel に通知 */ void ASampleActor::GetLifetimeReplicatedProps( TArray<FLifetimeProperty>& OutLifetimeProps) const { Super::GetLifetimeReplicatedProps(OutLifetimeProps); DOREPLIFETIME_CONDITION(ASampleActor, SampleProp, COND_SkipOwner); }
22.
© historia Inc.
#UE4DD Actor のプロパティを同期する条件を指定 Blueprint
23.
© historia Inc.
#UE4DD プロパティ同期条件一覧 COND_None 常時同期(条件なし) COND_InitialOnly 初回同期のみ COND_OwnerOnly Actor の所有者のみ COND_SkipOwner Actor の所有者以外 COND_SimulatedOnly Role=ROLE_SimulatedProxy のみ COND_AutonomousOnly Role=ROLE_AutonomousProxy のみ COND_SimulatedOrPhysics Simulated もしくは bRepPhysics のみ COND_InitialOrOwner 初回同期もしくは Actor の所有者 COND_Custom 条件をランタイムで変更できる ※詳しくは後述 COND_ReplayOrOwner リプレイ時もしくは Actor の所有者 COND_ReplayOnly リプレイ時のみ COND_SimulatedOnlyNoReplay Simulated のみ(リプレイ時は除く) COND_SimulatedOrPhysicsNoReplay Simulated もしくは bRepPhysics のみ(リプレイ時は除く) COND_SkipReplay リプレイ時以外
24.
© historia Inc.
#UE4DD COND_Custom C++ /** PreReplication で同期する条件を指定 */ void ASampleActor::PreReplication( IRepChangedPropertyTracker& ChangedPropertyTracker) { Super::PreReplication(ChangedPropertyTracker); DOREPLIFETIME_ACTIVE_OVERRIDE( ASampleActor, SampleProp, bReplicateSampleProp); }
25.
© historia Inc.
#UE4DD 同期処理 2. RPC (Remote Procedure Call)
26.
© historia Inc.
#UE4DD Multicast (Server / 全 Client で実行) C++ /** Multicast */ UFUNCTION(NetMulticast, unreliable) void Multicast_SampleEvent(); void ASampleActor::Multicast_SampleEvent_Implementation() { }
27.
© historia Inc.
#UE4DD Multicast (Server / 全 Client で実行) Blueprint
28.
© historia Inc.
#UE4DD Run on Owning Client (Actor を所有する Client で実行) C++ /** Run on Owning Client */ UFUNCTION(Client, unreliable) void Client_SampleEvent(); void ASampleActor::Client_SampleEvent_Implementation() { }
29.
© historia Inc.
#UE4DD Run on Owning Client (Actor を所有する Client で実行) Blueprint
30.
© historia Inc.
#UE4DD Run on Server (Server で実行) C++ /** Run on Server */ UFUNCTION(Server, unreliable, WithValidation) void Server_SampleEvent(); void ASampleActor::Server_SampleEvent_Implementation() { } bool ASampleActor::Server_SampleEvent_Validate() { return true; }
31.
© historia Inc.
#UE4DD Run on Server (Server で実行) Blueprint
32.
© historia Inc.
#UE4DD WithValidation RPC で呼び出される関数を実行する直前に検証用の関数を実行する 関数名は RPCFunctionName_Validate で戻り値は boolean 戻り値で false を返すと RPC で呼び出された関数は実行されない
33.
© historia Inc.
#UE4DD Reliable RPC は UDP で通信する都合上、パケットの欠損や順序が不定になるといった ことが起こるため、確実に受信されてほしい処理には向いていない Reliable フラグを利用することで RPC 実行時に疎通確認を行い、 通信の信頼性を向上させる ことができる
34.
© historia Inc.
#UE4DD Reliable C++ /** Run on Server */ UFUNCTION(Client, reliable, WithValidation) void Server_SampleEvent(); Blueprint
35.
© historia Inc.
#UE4DD Actor の所有権
36.
© historia Inc.
#UE4DD ここはUE4のマルチプレイを理解する上で重要な部分です (ハマりやすい部分です)
37.
© historia Inc.
#UE4DD Actor の所有権とは Server / Client は Actor に対して所有権を持つ AActor::Owner で所有権を持つかどうかを判断できる ただし Pawn の場合は APawn::IsLocallyControlled で判断する 所有権の有無によって、RPCの実行が制限されるケース が存在する
38.
© historia Inc.
#UE4DD RPCの実行が制限されるケース (Server で実行した場合) Actor 所有者 Multicast Run on Server Run on Owning Client Client Server / 全 Client で実行 Server で実行 所有する Client で実行 Server Server / 全 Client で実行 Server で実行 Server で実行
39.
© historia Inc.
#UE4DD RPCの実行が制限されるケース (Client で実行した場合) Actor 所有者 Multicast Run on Server Run on Owning Client 自 Client 自 Client で実行 Server で実行 自 Client で実行 他 Client 自 Client で実行 実行されない 自 Client で実行 Server 自 Client で実行 実行されない 自 Client で実行
40.
© historia Inc.
#UE4DD RPC が実行されないケース – (1) Server Client 1 Client 2 Server が所有する Actor RPC 呼び出し
41.
© historia Inc.
#UE4DD RPC が実行されないケース – (2) Server Client 1 Client 2 他 Client が所有する Actor RPC 呼び出し
42.
© historia Inc.
#UE4DD なぜ所有権は必要? 所有者以外が悪意を持って 不正に Actor を操作する事への対処
43.
© historia Inc.
#UE4DD 所有権によるカテゴライズ Actor は全ての Server / Client にレプリケートされるわけではい Actor がどこにレプリケートされるかというカテゴライズは、 Actor のプロパティ設定を元に行われる
44.
© historia Inc.
#UE4DD Client 1 Client 2 Server Only Server サーバーのみに生成されるアクター GameMode など
45.
© historia Inc.
#UE4DD Server Only AServerOnlyActor::AServerOnlyActor() { // プレイヤーが持つコントロール権 Role = ROLE_Authority; // 他プレイヤーが持つコントロール権 RemoteRole = ROLE_None; // 同期対象フラグ bReplicates = false; // 所有権を持つクライアントのみに同期するフラグ bOnlyRelevantToOwner = false; }
46.
© historia Inc.
#UE4DD Server サーバーと全てのクライアントに 生成されるアクター GameState, PlayerState など ほとんどのアクターはこの設定で サーバーが生成し、レプリケートされる Server & Client Client 1 Client 2
47.
© historia Inc.
#UE4DD AServerClientActor::AServerClientActor() { // プレイヤーが持つコントロール権 Role = ROLE_Authority; // 他プレイヤーが持つコントロール権 RemoteRole = ROLE_SimulatedProxy; // 同期対象フラグ bReplicates = true; // 所有権を持つクライアントのみに同期するフラグ bOnlyRelevantToOwner = false; } Server & Client
48.
© historia Inc.
#UE4DD Server サーバーと所有するクライアントのみに 生成されるアクター PlayerController, Possess している Pawn など Client 1 Client 2 Server & Client (所有者)
49.
© historia Inc.
#UE4DD AServerOwningClientActor::AServerOwningClientActor() { // プレイヤーが持つコントロール権 Role = ROLE_Authority; // 他プレイヤーが持つコントロール権 RemoteRole = ROLE_SimulatedProxy; // 同期対象フラグ bReplicates = true; // 所有権を持つクライアントのみに同期するフラグ bOnlyRelevantToOwner = true; } Server & Client (所有者)
50.
© historia Inc.
#UE4DD OnlineSubsystem
51.
© historia Inc.
#UE4DD ゲーム OnlineSubsystem • ログイン • セッション管理 • マッチング • 実績 • ランキング • チャット • ストア(課金) etc... Steam PS4 Oculus Google Amazon Facebook プラットフォームの APIを抽象化 各種SDK
52.
© historia Inc.
#UE4DD OnlineSubsystem の設計 各プラットフォームは機能別に定義されたインターフェースを継承したクラスを実装する インターフェースは IOnline[機能名] で用意されている – ex. IOnlineAchievements 各プラットフォームは FOnline[機能名][プラットフォーム名] で実装する – ex. FOnlineAchievementSteam
53.
© historia Inc.
#UE4DD OnlineSubsystem で機能が足りていなかった場合は? 必要なインターフェースを継承しつつ、足りていない機能のクラスを新規作成する IOnlineSubsystem を継承しながら、プラットフォーム別に FOnlineSubsystem[プラットフォーム] が実装されているので、 各機能の実装を取得する Get[機能名]Interface で追加した機能の リファレンスを返すようにする
54.
© historia Inc.
#UE4DD
55.
© historia Inc.
#UE4DD ここからは開発フローについて
56.
© historia Inc.
#UE4DD Release QADevelopment ネットワーク対応ゲームの基本的なデプロイフロー 作業PC 開発サーバー ステージング サーバー 公開サーバー
57.
© historia Inc.
#UE4DD Release QADevelopment 作業PC 開発サーバー ステージング サーバー 公開サーバー 作業PC(ローカル)
58.
© historia Inc.
#UE4DD ローカルでのマルチプレイプレビュー 1. PIE 起動
59.
© historia Inc.
#UE4DD
60.
© historia Inc.
#UE4DD
61.
© historia Inc.
#UE4DD PIE 起動時に自動でマッチングされた状態にする Editor Preferences -> Level Editor -> Play -> Multiplayer Options -> Auto Connect To Server 単体のレベルでマルチプレイのデバッグを行うときに有効
62.
© historia Inc.
#UE4DD Auto Connect To Server の注意点 簡易的に Server / Client の設定だけ行ってプレビューを行っている つまり C/S 間で正式な手続き(Control Channel でのメッセージング) を行っていないため、レベル移動を行ってしまうと正常な結果にならない
63.
© historia Inc.
#UE4DD ローカルでのマルチプレイプレビュー 2. –game オプションで起動
64.
© historia Inc.
#UE4DD UE4Editor.exe に uproject を指定して -game オプションを付けて起動すると、 Cook 無しスタンドアロン実行 が可能
65.
© historia Inc.
#UE4DD @echo off set EDITOR_PATH=..EngineBinariesWin64UE4Editor.exe set UPROJECT_NAME=MultiplayerOnlineDD.uproject set SERVER_MAP_NAME=/Game/DeepDive/Maps/OpenUrl/OpenUrlServer set CLIENT_MAP_NAME=/Game/DeepDive/Maps/OpenUrl/OpenUrlClient set LAUNCH_PARAM=-game -ResX=640 -ResY=360 -WINDOWED start %EDITOR_PATH% %UPROJECT_NAME% %SERVER_MAP_NAME% %LAUNCH_PARAM% ^ -WinX=100 -WinY=100 -log -ConsoleX=100 -ConsoleY=500 start %EDITOR_PATH% %UPROJECT_NAME% %CLIENT_MAP_NAME% %LAUNCH_PARAM% ^ -WinX=800 -WinY=100 exit 起動バッチを作ると便利
66.
© historia Inc.
#UE4DD
67.
© historia Inc.
#UE4DD PIE 起動でのプレビューはあくまで単一プロセスでの実行で ダミー的に処理されている部分があるため、 デプロイ前には一度デバッグしておいた方が良い
68.
© historia Inc.
#UE4DD パケットシミュレーション
69.
© historia Inc.
#UE4DD ローカルプレビューではパケットの遅延等が全く発生せず、 実際にマシン間で通信する際に 意図した挙動にならないといった事が起こりえます
70.
© historia Inc.
#UE4DD ローカルプレビュー時にこのような状態を再現するため、 エミュレート用の各種デバッグコマンドが用意されています
71.
© historia Inc.
#UE4DD Net PktLoss=[Int] 確率でパケットを送信しない(消失シミュレーション) 単位は 0 – 100 %
72.
© historia Inc.
#UE4DD Net PktOrder=[Boolean] パケットをバッファリングして送信順序をランダムにする 単位は 0 – 1
73.
© historia Inc.
#UE4DD Net PktLag=[Int] パケット送信時に遅延を発生させる(固定値) 単位はミリ秒
74.
© historia Inc.
#UE4DD Net PktLagVariance=[Int] パケット送信時に遅延を発生させる(範囲ランダム値) 単位は ± ミリ秒
75.
© historia Inc.
#UE4DD B.SendTime = FPlatformTime::Seconds() + (double(PacketSimulationSettings.PktLag) + 2.0f * (FMath::FRand() - 0.5f) * double(PacketSimulationSettings.PktLagVariance))/ 1000.f;
76.
© historia Inc.
#UE4DD Net PktDup=[Int] パケット送信時に確率で2回送信する(重複させる) 単位は 0 – 100 %
77.
© historia Inc.
#UE4DD この辺の実装は UNetConnection::FlushNet
78.
© historia Inc.
#UE4DD RPC のデバッグ
79.
© historia Inc.
#UE4DD net.RPC.Debug [Boolean] RPC 実行時のログを Warning で出力する 有効にした状態で LogNet でフィルターを設定すると Traveling や Replicate の流れがよく見える
80.
© historia Inc.
#UE4DD ネットワークプロファイラ
81.
© historia Inc.
#UE4DD ネットワークプロファイラ Replication, RPC に関するプロファイラ 帯域のボトルネックを調査する時に有用 Actor / Property / RPC でフィルタリングすることも可能
82.
© historia Inc.
#UE4DD ネットワークプロファイラ netprofile enable/disable でプロファイリング状態を切り替える プロファイリング結果を確認するためには下記パスからツールを起動する – /Engine/Binaries/DotNET/NetworkProfiler.exe プロファイリング結果は下記ディレクトリに保存されている – /ProjectRoot/Saved/Profiling
83.
© historia Inc.
#UE4DD
84.
© historia Inc.
#UE4DD https://docs.unrealengine.com/latest/JPN/Gameplay/Tools/NetworkProfiler/index.html
85.
© historia Inc.
#UE4DD Release QADevelopment 作業PC 開発サーバー ステージング サーバー 公開サーバー 開発サーバー
86.
© historia Inc.
#UE4DD パッケージ生成
87.
© historia Inc.
#UE4DD UE4 Solution UE4 Project Game Project UE4 では同一プロジェクトから各種パッケージを生成 • Windows Client • Windows Server • PS4 Client • Linux Server etc ...
88.
© historia Inc.
#UE4DD Build Configuration ビルド名 ビルド概要 ビルドルールを指定するファイル [empty] スタンドアロンゲーム実行用のビルド ProjectName.Target.cs Editor エディタ実行用のビルド ProjectNameEditor.Target.cs Client マルチプレイゲームにおけるクライアント用のビルド ProjectNameClient.Target.cs Server マルチプレイゲームにおけるサーバー用のビルド ProjectNameServer.Target.cs
89.
© historia Inc.
#UE4DD
90.
© historia Inc.
#UE4DD
91.
© historia Inc.
#UE4DD ビルドジョブセットからまとめて各種ビルドを実行する Batch Builder (UnrealVS 拡張) が便利
92.
© historia Inc.
#UE4DD Batch Builder はこのボタンから起動する
93.
© historia Inc.
#UE4DD https://docs.unrealengine.com/latest/JPN/Programming/Development/VisualStudioSetup/UnrealVS/index.html
94.
© historia Inc.
#UE4DD Client / Server ビルドで謎のコンパイルエラーが…? Client / Server ビルドは、ランチャーからインストールしたエンジンだとビルドできない仕様 (ProjectName.sln ではなく、UE4.sln からのみビルド可能)
95.
© historia Inc.
#UE4DD Cook は ProjectLauncher から行うと 複数パッケージを同時に生成できる
96.
© historia Inc.
#UE4DD Linux クロスコンパイル
97.
© historia Inc.
#UE4DD • Linux Server ビルド • サーバー上でテスト • エディタで開発 • Windows Client ビルド • Windows Server ビルド • ローカルテスト Linux クロスコンパイル未使用時 Windows 開発マシン Linux 開発サーバー デプロイ
98.
© historia Inc.
#UE4DD • Linux Server ビルド • サーバー上でテスト • エディタで開発 • Windows Client ビルド • Windows Server ビルド • ローカルテスト Linux クロスコンパイル未使用時 Windows 開発マシン Linux 開発サーバー デプロイ ビルドエラーで手戻りの可能性!
99.
© historia Inc.
#UE4DD • サーバー上でテスト• エディタで開発 • Windows Client ビルド • Windows Server ビルド • ローカルテスト • Linux Server ビルド Linux クロスコンパイル使用時 Windows 開発マシン Linux 開発サーバー デプロイ デプロイ先でのエラーを防ぐ
100.
© historia Inc.
#UE4DD https://docs.unrealengine.com/latest/JPN/Platforms/Linux/GettingStarted/index.html
101.
© historia Inc.
#UE4DD Linux クロスコンパイル時の注意点 基本的には使用するUE4のバージョンに合わせたツールチェーンのダウンロードと、 環境変数の設定のみ 複数のUE4プロジェクトが混在していて環境変数を汚染したくない場合、 LINUX_MULTIARCH_ROOT を検索して置き換えることで対応は可能 (DedicatedServer を選択する以上、自ずとエンジンはソースコードビルドになるので・・・)
102.
© historia Inc.
#UE4DD まとめ MO ゲーム制作のための機能は一通り揃っている印象 ただしブラックボックスな部分が多く、実はできるのに知られていない機能や ini 設定、コンソールコマンドが用意されていたりする 実際の運用時には NetworkProfiler で細かく使用帯域を見ていく必要がある