Soumettre la recherche
Mettre en ligne
ゆるゆるUE4ネットワーク入門
•
Télécharger en tant que PPTX, PDF
•
6 j'aime
•
3,521 vues
S
ssuser221848
Suivre
第7回UE4勉強会の資料です
Lire moins
Lire la suite
Ingénierie
Signaler
Partager
Signaler
Partager
1 sur 51
Télécharger maintenant
Recommandé
UE4 アセットロード周り-アセット参照調査-
UE4 アセットロード周り-アセット参照調査-
com044
UE4のシーケンサーをもっともっと使いこなそう!最新情報・Tipsをご紹介!
UE4のシーケンサーをもっともっと使いこなそう!最新情報・Tipsをご紹介!
エピック・ゲームズ・ジャパン Epic Games Japan
C++コードはいらない!UE4で作るお手軽マルチプレイネットワークゲームについて
C++コードはいらない!UE4で作るお手軽マルチプレイネットワークゲームについて
Masahiko Nakamura
目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -
目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -
historia_Inc
UE4とUnrealC++について
UE4とUnrealC++について
Masahiko Nakamura
メカアクションゲーム『DAEMON X MACHINA』 信念と血と鋼鉄の開発事例
メカアクションゲーム『DAEMON X MACHINA』 信念と血と鋼鉄の開発事例
エピック・ゲームズ・ジャパン Epic Games Japan
UE4 MultiPlayer Online Deep Dive: 実践編1 (Byking様ご講演) #UE4DD
UE4 MultiPlayer Online Deep Dive: 実践編1 (Byking様ご講演) #UE4DD
エピック・ゲームズ・ジャパン Epic Games Japan
徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!
徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!
エピック・ゲームズ・ジャパン Epic Games Japan
Recommandé
UE4 アセットロード周り-アセット参照調査-
UE4 アセットロード周り-アセット参照調査-
com044
UE4のシーケンサーをもっともっと使いこなそう!最新情報・Tipsをご紹介!
UE4のシーケンサーをもっともっと使いこなそう!最新情報・Tipsをご紹介!
エピック・ゲームズ・ジャパン Epic Games Japan
C++コードはいらない!UE4で作るお手軽マルチプレイネットワークゲームについて
C++コードはいらない!UE4で作るお手軽マルチプレイネットワークゲームについて
Masahiko Nakamura
目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -
目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -
historia_Inc
UE4とUnrealC++について
UE4とUnrealC++について
Masahiko Nakamura
メカアクションゲーム『DAEMON X MACHINA』 信念と血と鋼鉄の開発事例
メカアクションゲーム『DAEMON X MACHINA』 信念と血と鋼鉄の開発事例
エピック・ゲームズ・ジャパン Epic Games Japan
UE4 MultiPlayer Online Deep Dive: 実践編1 (Byking様ご講演) #UE4DD
UE4 MultiPlayer Online Deep Dive: 実践編1 (Byking様ご講演) #UE4DD
エピック・ゲームズ・ジャパン Epic Games Japan
徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!
徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!
エピック・ゲームズ・ジャパン Epic Games Japan
UE4を用いたTPS制作事例 EDF:IR 地球を衛る兵士の歩き方
UE4を用いたTPS制作事例 EDF:IR 地球を衛る兵士の歩き方
エピック・ゲームズ・ジャパン Epic Games Japan
UE4 MultiPlayer Online Deep Dive 基礎編1 -Getting Started- (historia様ご講演) #UE4DD
UE4 MultiPlayer Online Deep Dive 基礎編1 -Getting Started- (historia様ご講演) #UE4DD
エピック・ゲームズ・ジャパン Epic Games Japan
猫でも分かる UE4の新しいサンプル「Action RPG」について
猫でも分かる UE4の新しいサンプル「Action RPG」について
エピック・ゲームズ・ジャパン Epic Games Japan
UE4のモバイル開発におけるコンテンツアップデートの話 - Chunk IDとの激闘編 -
UE4のモバイル開発におけるコンテンツアップデートの話 - Chunk IDとの激闘編 -
エピック・ゲームズ・ジャパン Epic Games Japan
UE4におけるキャラクタークラス設計
UE4におけるキャラクタークラス設計
Masahiko Nakamura
UE4におけるレベル制作事例
UE4におけるレベル制作事例
エピック・ゲームズ・ジャパン Epic Games Japan
UE4でマルチプレイヤーゲームを作ろう
UE4でマルチプレイヤーゲームを作ろう
エピック・ゲームズ・ジャパン Epic Games Japan
UE4.25 Update - Unreal Insights -
UE4.25 Update - Unreal Insights -
エピック・ゲームズ・ジャパン Epic Games Japan
第1回UE4勉強会 in 大阪 - エンジン改造ってどうなの?
第1回UE4勉強会 in 大阪 - エンジン改造ってどうなの?
com044
初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方
初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方
エピック・ゲームズ・ジャパン Epic Games Japan
UE4のローカライズ機能紹介 (UE4 Localization Deep Dive)
UE4のローカライズ機能紹介 (UE4 Localization Deep Dive)
エピック・ゲームズ・ジャパン Epic Games Japan
[4.20版] UE4におけるLoadingとGCのProfilingと最適化手法
[4.20版] UE4におけるLoadingとGCのProfilingと最適化手法
エピック・ゲームズ・ジャパン Epic Games Japan
猫でも分かる UE4のAnimation Blueprintの運用について
猫でも分かる UE4のAnimation Blueprintの運用について
エピック・ゲームズ・ジャパン Epic Games Japan
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
エピック・ゲームズ・ジャパン Epic Games Japan
Online MultiPlay Game Design
Online MultiPlay Game Design
エピック・ゲームズ・ジャパン Epic Games Japan
UE4 MultiPlayer Online Deep Dive 基礎編2 -Traveling- (historia様ご講演) #ue4dd
UE4 MultiPlayer Online Deep Dive 基礎編2 -Traveling- (historia様ご講演) #ue4dd
エピック・ゲームズ・ジャパン Epic Games Japan
UE4モバイルブートキャンプ
UE4モバイルブートキャンプ
エピック・ゲームズ・ジャパン Epic Games Japan
なぜなにFProperty - 対応方法と改善点 -
なぜなにFProperty - 対応方法と改善点 -
エピック・ゲームズ・ジャパン Epic Games Japan
UE4で作成するUIと最適化手法
UE4で作成するUIと最適化手法
エピック・ゲームズ・ジャパン Epic Games Japan
猫でも分かるUMG
猫でも分かるUMG
エピック・ゲームズ・ジャパン Epic Games Japan
新大阪UE4勉強会#1「アクションゲーム開発をしてみて」プログラマ編
新大阪UE4勉強会#1「アクションゲーム開発をしてみて」プログラマ編
小屋 聖揮
第3回ue4勉強会 in 大阪
第3回ue4勉強会 in 大阪
祐稀 平良
Contenu connexe
Tendances
UE4を用いたTPS制作事例 EDF:IR 地球を衛る兵士の歩き方
UE4を用いたTPS制作事例 EDF:IR 地球を衛る兵士の歩き方
エピック・ゲームズ・ジャパン Epic Games Japan
UE4 MultiPlayer Online Deep Dive 基礎編1 -Getting Started- (historia様ご講演) #UE4DD
UE4 MultiPlayer Online Deep Dive 基礎編1 -Getting Started- (historia様ご講演) #UE4DD
エピック・ゲームズ・ジャパン Epic Games Japan
猫でも分かる UE4の新しいサンプル「Action RPG」について
猫でも分かる UE4の新しいサンプル「Action RPG」について
エピック・ゲームズ・ジャパン Epic Games Japan
UE4のモバイル開発におけるコンテンツアップデートの話 - Chunk IDとの激闘編 -
UE4のモバイル開発におけるコンテンツアップデートの話 - Chunk IDとの激闘編 -
エピック・ゲームズ・ジャパン Epic Games Japan
UE4におけるキャラクタークラス設計
UE4におけるキャラクタークラス設計
Masahiko Nakamura
UE4におけるレベル制作事例
UE4におけるレベル制作事例
エピック・ゲームズ・ジャパン Epic Games Japan
UE4でマルチプレイヤーゲームを作ろう
UE4でマルチプレイヤーゲームを作ろう
エピック・ゲームズ・ジャパン Epic Games Japan
UE4.25 Update - Unreal Insights -
UE4.25 Update - Unreal Insights -
エピック・ゲームズ・ジャパン Epic Games Japan
第1回UE4勉強会 in 大阪 - エンジン改造ってどうなの?
第1回UE4勉強会 in 大阪 - エンジン改造ってどうなの?
com044
初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方
初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方
エピック・ゲームズ・ジャパン Epic Games Japan
UE4のローカライズ機能紹介 (UE4 Localization Deep Dive)
UE4のローカライズ機能紹介 (UE4 Localization Deep Dive)
エピック・ゲームズ・ジャパン Epic Games Japan
[4.20版] UE4におけるLoadingとGCのProfilingと最適化手法
[4.20版] UE4におけるLoadingとGCのProfilingと最適化手法
エピック・ゲームズ・ジャパン Epic Games Japan
猫でも分かる UE4のAnimation Blueprintの運用について
猫でも分かる UE4のAnimation Blueprintの運用について
エピック・ゲームズ・ジャパン Epic Games Japan
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
エピック・ゲームズ・ジャパン Epic Games Japan
Online MultiPlay Game Design
Online MultiPlay Game Design
エピック・ゲームズ・ジャパン Epic Games Japan
UE4 MultiPlayer Online Deep Dive 基礎編2 -Traveling- (historia様ご講演) #ue4dd
UE4 MultiPlayer Online Deep Dive 基礎編2 -Traveling- (historia様ご講演) #ue4dd
エピック・ゲームズ・ジャパン Epic Games Japan
UE4モバイルブートキャンプ
UE4モバイルブートキャンプ
エピック・ゲームズ・ジャパン Epic Games Japan
なぜなにFProperty - 対応方法と改善点 -
なぜなにFProperty - 対応方法と改善点 -
エピック・ゲームズ・ジャパン Epic Games Japan
UE4で作成するUIと最適化手法
UE4で作成するUIと最適化手法
エピック・ゲームズ・ジャパン Epic Games Japan
猫でも分かるUMG
猫でも分かるUMG
エピック・ゲームズ・ジャパン Epic Games Japan
Tendances
(20)
UE4を用いたTPS制作事例 EDF:IR 地球を衛る兵士の歩き方
UE4を用いたTPS制作事例 EDF:IR 地球を衛る兵士の歩き方
UE4 MultiPlayer Online Deep Dive 基礎編1 -Getting Started- (historia様ご講演) #UE4DD
UE4 MultiPlayer Online Deep Dive 基礎編1 -Getting Started- (historia様ご講演) #UE4DD
猫でも分かる UE4の新しいサンプル「Action RPG」について
猫でも分かる UE4の新しいサンプル「Action RPG」について
UE4のモバイル開発におけるコンテンツアップデートの話 - Chunk IDとの激闘編 -
UE4のモバイル開発におけるコンテンツアップデートの話 - Chunk IDとの激闘編 -
UE4におけるキャラクタークラス設計
UE4におけるキャラクタークラス設計
UE4におけるレベル制作事例
UE4におけるレベル制作事例
UE4でマルチプレイヤーゲームを作ろう
UE4でマルチプレイヤーゲームを作ろう
UE4.25 Update - Unreal Insights -
UE4.25 Update - Unreal Insights -
第1回UE4勉強会 in 大阪 - エンジン改造ってどうなの?
第1回UE4勉強会 in 大阪 - エンジン改造ってどうなの?
初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方
初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方
UE4のローカライズ機能紹介 (UE4 Localization Deep Dive)
UE4のローカライズ機能紹介 (UE4 Localization Deep Dive)
[4.20版] UE4におけるLoadingとGCのProfilingと最適化手法
[4.20版] UE4におけるLoadingとGCのProfilingと最適化手法
猫でも分かる UE4のAnimation Blueprintの運用について
猫でも分かる UE4のAnimation Blueprintの運用について
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
Online MultiPlay Game Design
Online MultiPlay Game Design
UE4 MultiPlayer Online Deep Dive 基礎編2 -Traveling- (historia様ご講演) #ue4dd
UE4 MultiPlayer Online Deep Dive 基礎編2 -Traveling- (historia様ご講演) #ue4dd
UE4モバイルブートキャンプ
UE4モバイルブートキャンプ
なぜなにFProperty - 対応方法と改善点 -
なぜなにFProperty - 対応方法と改善点 -
UE4で作成するUIと最適化手法
UE4で作成するUIと最適化手法
猫でも分かるUMG
猫でも分かるUMG
Similaire à ゆるゆるUE4ネットワーク入門
新大阪UE4勉強会#1「アクションゲーム開発をしてみて」プログラマ編
新大阪UE4勉強会#1「アクションゲーム開発をしてみて」プログラマ編
小屋 聖揮
第3回ue4勉強会 in 大阪
第3回ue4勉強会 in 大阪
祐稀 平良
第6回UE4勉強会in大阪
第6回UE4勉強会in大阪
祐稀 平良
第1回UE4名古屋勉強会
第1回UE4名古屋勉強会
Masahiko Nakamura
絵心がなくてもわかるUE4絵作りのコツ
絵心がなくてもわかるUE4絵作りのコツ
Masahiko Nakamura
第9回UE4勉強会 in 大阪 いきあたりばったりのゲーム制作
第9回UE4勉強会 in 大阪 いきあたりばったりのゲーム制作
lyuro
UE4ディープラーニングってやつでなんとかして!環境構築編(Python3+TensorFlow)
UE4ディープラーニングってやつでなんとかして!環境構築編(Python3+TensorFlow)
エピック・ゲームズ・ジャパン Epic Games Japan
初心者ががんばる建築ビジュアライゼーション:ライティング編 - UE4勉強会in大阪#4
初心者ががんばる建築ビジュアライゼーション:ライティング編 - UE4勉強会in大阪#4
Tatsuya Sumisaki
ブループリントマニアックス
ブループリントマニアックス
Masahiko Nakamura
Kobe.py 勉強会 minecraft piスライド
Kobe.py 勉強会 minecraft piスライド
Masafumi Terazono
トランスメディアストーリーテリングから学ぶ「ゲームで物語る」手法
トランスメディアストーリーテリングから学ぶ「ゲームで物語る」手法
Jun-ichi Ishikawa
UnityでのLINQ活用例
UnityでのLINQ活用例
Ryota Murohoshi
UE4をレンダラとした趣味的スピード背景ルックデブ(UE4 Environment Art Dive)
UE4をレンダラとした趣味的スピード背景ルックデブ(UE4 Environment Art Dive)
エピック・ゲームズ・ジャパン Epic Games Japan
UE4で”MetaHumanを使わずに”耳なし芳一になる10の方法 | UE4 Character Art Dive Online
UE4で”MetaHumanを使わずに”耳なし芳一になる10の方法 | UE4 Character Art Dive Online
エピック・ゲームズ・ジャパン Epic Games Japan
高大連携授業20180803
高大連携授業20180803
義広 河野
Similaire à ゆるゆるUE4ネットワーク入門
(15)
新大阪UE4勉強会#1「アクションゲーム開発をしてみて」プログラマ編
新大阪UE4勉強会#1「アクションゲーム開発をしてみて」プログラマ編
第3回ue4勉強会 in 大阪
第3回ue4勉強会 in 大阪
第6回UE4勉強会in大阪
第6回UE4勉強会in大阪
第1回UE4名古屋勉強会
第1回UE4名古屋勉強会
絵心がなくてもわかるUE4絵作りのコツ
絵心がなくてもわかるUE4絵作りのコツ
第9回UE4勉強会 in 大阪 いきあたりばったりのゲーム制作
第9回UE4勉強会 in 大阪 いきあたりばったりのゲーム制作
UE4ディープラーニングってやつでなんとかして!環境構築編(Python3+TensorFlow)
UE4ディープラーニングってやつでなんとかして!環境構築編(Python3+TensorFlow)
初心者ががんばる建築ビジュアライゼーション:ライティング編 - UE4勉強会in大阪#4
初心者ががんばる建築ビジュアライゼーション:ライティング編 - UE4勉強会in大阪#4
ブループリントマニアックス
ブループリントマニアックス
Kobe.py 勉強会 minecraft piスライド
Kobe.py 勉強会 minecraft piスライド
トランスメディアストーリーテリングから学ぶ「ゲームで物語る」手法
トランスメディアストーリーテリングから学ぶ「ゲームで物語る」手法
UnityでのLINQ活用例
UnityでのLINQ活用例
UE4をレンダラとした趣味的スピード背景ルックデブ(UE4 Environment Art Dive)
UE4をレンダラとした趣味的スピード背景ルックデブ(UE4 Environment Art Dive)
UE4で”MetaHumanを使わずに”耳なし芳一になる10の方法 | UE4 Character Art Dive Online
UE4で”MetaHumanを使わずに”耳なし芳一になる10の方法 | UE4 Character Art Dive Online
高大連携授業20180803
高大連携授業20180803
ゆるゆるUE4ネットワーク入門
1.
ゆるゆるUE4ネットワーク入 門 第7回UE4勉強会 IN 大阪
2.
自己紹介 名前:Chief Twitter @LSDGO 職種:プログラマー 活動 IM4Uを4.16から4.18に移植したり(バグあり) 京都で学生やってます。 最近格ゲーにはまり始めました。
3.
こんな人へ マルチプレイヤーゲームを制作したいと思っている方 UE4初心者
4.
必要なもの • UE4が動くPC 1台 •
外へ繋がるネット • UnrealEngine4.20
5.
とりあえずテンプレートから, プロジェクトを作成します。 ここではThird Person Templateで作っています Let’s
実装
6.
かんたんマルチプレイヤー対応 次にキャラクターのブループリントを開き Class DefaultのReplicationの欄へ飛 び Replicatesのチェックが付いているか確 認します ※Third Person
Templateの場合は最初から付いています
7.
赤枠で囲ってあるところを2にして プレイを押すだけ!
8.
• 動画
9.
ね、簡単でしょう?
10.
ちなみにさっきのReplicatesのチェックが最初からついているのは CharacterとPawnのみ(おそらく)なのでActor等の場合はついている かチェックしましょう
11.
~球を作る~ Actorを継承したSphereを作ります。 Replicates のチェックは忘れず あとこの場合はSimulatePhysicsも!
12.
作ったACTORを配置して実行してみましょう • 動画
13.
あれ?球の動きが同期していないんじゃ… Q:はい されていません。
14.
Actorの場合はReplicate Movementの項目にチェックが入っていませ ん このReplicate Movementのチェックをつけないと Actorの位置と動きが共有されないので気を付けてくださ い Replicated
Movementはデータの圧縮設定です。 サーバー側とクライアント側で位置が違うということになれば ここを変更します。 ~なぜか~
15.
Replicate Movementにチェックを入れた場合 動画
16.
~ちなみに空のアクターから作る場合~ Rootが“DefaultSceneRoot”だったり当たり判定のない物だったりすると Replicate Movement にチェックが入ってない状態のようになります Rootは当たり判定のあるものにしたほうが無難だと思います
17.
なぜDefaultSceneRootや当たり判定のない物だと動かないか DefaultSceneRootにコリジョンがついていない状態で子側で判定していると そもそもちゃんとブロックコリジョンが働かない可能性があります。 あとはコンポネーネントのレプリケーションの設定によってはズレる可能性も。 Alweiさんに聞きました。
18.
とりあえず、これをするだけで動きます。(大体のものは) ただ、処理は別です。 マルチプレイに対応させるために様々な事をする必要があります。
19.
マルチプレイ化するために 基本的に処理はカスタムイベントを使って細分化する必要があります。 こんな感じ
20.
なぜ細分化しなきゃいけないのか カスタムイベントにもレプリケート機能があり、設定しなければサーバー で処理が実行されず、ActorのReplicate Movementにチェックを入れ てない時の如く、サーバー側とクライアント側の情報がずれるからです。 サーバー false クライアント false サーバー false クライアント true レプリケートされていない 処理を実行
21.
カスタムイベントのReplicateは以下の4つがあります • Not Replicated •
Multicast • Run on Server • Run on Owning Client
22.
NOT REPLICATED カスタムイベントのデフォルトモードです。 クライアント側で動かせばクライアント側だけで サーバー側で動かせばサーバー側だけで実行されます。 ノットレプリケイテッド サーバー false クライアント false サーバー false クライアント true ノットレプリケイテッドの場合
23.
MULTICA ST マルチキャストイベントがサーバー側で呼び出された場合のみ、接続して いるクライアントすべてで実行されます。 また、クライアント側で呼び出された場合は、サーバー側では実行されず、 呼び出し元のクライアント側のみで実行されます。 マルチキャスト サーバー false クライアント false サーバー true クライアント true マルチキャストの場合
24.
RUN ON SERVER このイベントがサーバーから呼び出された場合は、イベントはサーバーのみ で実行されます。クライアントが所有するターゲットと一緒にイベントがクライ アントから呼び出されると、イベントはサーバーで実行されます。 ラン オン
サーバー サーバー false クライアント false サーバー true クライアント false ランオンサーバーの場合
25.
RUN ON OWNING
CLIENT サーバーから呼び出されると、このイベントはターゲット アクタを所有するク ライアントで実行されます。サーバーはアクタそのものを所有するので、“Run on Owning Client” イベントは (名前の意に反して) 実際はサーバー上で 実行されます。クライアントから呼び出された場合、イベントは複製されてい ないかのように扱われて、呼び出し元のクライアントのみで実行されます。 ラン オン オウンニング クライアント サーバー false クライアント false サーバー false クライアント true ランオンオウニングクライアントの場合
26.
Hello は 呼び出したクライアントのみ で見ることが可能です HelloGuy
は サーバーのみで見ることが可能です HelloGuysは接続しているクライアントすべて (サーバー含む)で見ることが可能です Print Stringを使っ た例 普通に呼び出すとクライアント側のみで実行されます。 なので、後述
27.
Print Stringを使っ た例 MULTICASTは普通に呼び出すとクライアント側のみで実行されます。 なので、RUNONSERVERを経由して呼ぶ必要があります。
28.
RELIABILITY (信頼性) Unreliable イベントは名前が示す通りの機能を持ちます。イベントが目的地へ到達しな い可能性があります。しなかった場合そのイベントは実行されないはずです。 結果として、Unreliable
イベントはReliable イベントよりも少ない帯域幅を使用し、より 頻繁に安全に呼び出せます。 レライアビリティ レプリケートしたイベントは、Reliable または Unreliable のどちらかに設 定できます。 Replicatedの下にReliableのチェックボックスがあります。 Reliable イベントは目的地への到達が保証されているイベントですが、条件 を満たすために多くの帯域幅を使用、およびレイテンシーが大きくなる可能 性があります。内部でオーバーフローした場合切断されます。
29.
レプリケート設定の見やすい表 Not replicated Multicast
Run on Server Run on Owning Client クライアントが所有権 を持っている サーバーで実行 サーバーとすべてのク ライアントで実行 サーバーで実行 ターゲットが所有する クライアントで実行 サーバーが所有権を 持っている サーバーで実行 サーバーとすべてのク ライアントで実行 サーバーで実行 サーバーで実行 不明な何かが所有権 を持っている サーバーで実行 サーバーとすべてのク ライアントで実行 サーバーで実行 サーバーで実行
30.
所有権 基本的にアクターはサーバー上でスポーンします。 そのためサーバーがアクターの所有権を持っています 例外的にクライアント上でアクターがスポーンした場合、 クライアント側がアクターの所有権を持ちます この場合のアクターはレプリケートされないため 基本的にサーバー側でスポーンさせます。
31.
Switch Has Authorityというマクロで簡単に所有権で処理を分けれま す Authority
で サーバー側でスポーンしたアクター Remote で クライアント側でスポーンしたアクター といった感じで分けれます。
32.
イベントがレプリケートできるんだから変数はできないの? Q:できます。
33.
変数のレプリケーション レプリケーションには3つのオプションがあります。 • None • Replicated •
RepNotify
34.
NONE 説明するほどでもないですが何もしません。 尚変数の値を変えた場合、クライアント側は何も変わらず、サーバー側のみ変わります サーバー false クライアント false サーバー true クライアント false Noneの場合
35.
REPLICATED • サーバーがアクターをレプリケート(複製)すると変数がクライアントへ送信 されます。 • 受け取るクライアントの値は自動的に更新されます。 •
レプリケートされた値はサーバーからクライアントへの一方通行です。 レプリケーテッド サーバー false クライアント false サーバー true クライアント true Replicatedの場合
36.
REPNOTIFY • 変数は レプリケーテッドオプションと同様にレプリケートしますが、 OnRep_<variable
name> 関数はブループリントで作成します。 • この関数は、この変数の値が変更されるたびに、エンジンによってクライアント およびサーバー上に自動的に呼び出されます。 • この関数はゲームの必要に応じて、自由に実装することができます。 サーバー false クライアント false サーバー true クライアント true REPNOTIFYの場合 ついでに関数を実行!
37.
複数のPCでマルチテストする場合
38.
こんな感じのブループリントを作ります。 OpenLevelの▼を押してOptionsを出して そこに”listen”を入力してください。 これがないと他のPCなどから入れません
39.
Execute Console Commandのopen 127.0.0.1の 127.0.0.1は任意のIPにしてください。 このExecute
Console Commandを実行す ることでサーバーへ参加できます。
40.
UE4のサーバー機能には以下の 二つのモードがあります ・DEDICATED SERVER ・LISTEN SERVER
41.
サーバー ユーザー ユーザー ユーザー ユーザー Dedicated Server サーバーがゲーム本体と違うソフトになっています。 利点はサーバーPCとゲームをプレイするPCを分けれることです。 イメージとしてはスマホゲーでサーバーに接続する感じ。 デディケイテッド サーバー
42.
プレイヤー プレイヤー プレイヤープレイヤー Listen Server 超大雑把に言うと、Dedicated Serverとは違い、ゲーム本体をサー バーにして自らそれに参加できます 利点はゲーム本体以外のソフトを起動 しなくてもいいことです リッスン サーバー
43.
またサーバーのレベルが遷移する際は 例:Level1からLevel2へ ServerTravelがあります。 LevelNameの部分は任意のレベルの名前を入力してください
44.
GAMEINSTANCEなどなど … これに関しては結構ややこしいので MultiplayerShootoutやShooterGameを参考にすることをお勧め します。
45.
GAMEINSTAN CE GameInstance はエンジンのセッション中のみ存在します。つまり、エンジンが起動 すると作成され、エンジンの電源を落とすまで破壊もしくは差し替えは行われません。 サーバーと各クライアント上には別の GameInstance
が存在しています。 これらのインスタンスはお互いに通信しません。GameInstance はゲーム セッショ ンの間以外も存在し、レベルのロード中に存在し続ける唯一のゲームの仕組みです。 プレイヤーのライフタイム統計情報 (勝利者数)、アカウント情報 (特定アイテムの Locked/Unlocked のステータス)など、競争するゲームのマップをいろいろと回っ て歩く種類の永続データを格納するのに適した場所です。
46.
GAMEMOD E GameMode オブジェクトはサーバーのみに存在します。 通常、クライアントが明示的に知る必要のないゲーム関連情報を格納します。 例えば、ゲームに "rocket
launchers only (ロケットランチャーのみ)" とい う特別のルールがあったとしても、クライアントはこのルールを知る必要はあ りません。しかし、マップ周辺で武器を無作為にスポーンする時にサーバー は "rocket launcher" カテゴリからのみ選択することを知る必要があります。 MultiplayerShootoutではGamemodeにPlayerをスポーンさせる処理があ ります。
47.
GAMESTA TE GameState はサーバーとクライアントの両方に存在します。 そのためサーバーはGameState でレプリケートした変数を使用して、ゲー ム関連のデータ上で全てのクライアントを最新に保つことができます。すべて のプレイヤーおよび観戦者に関係しても、ある特定のプレイヤー対して関連 性がないタイプの情報は
GameState のレプリケーションに理想的です。 例えば、野球ゲームは各チームのスコアと現在のイニング(攻撃か守備)を GameState を使ってレプリケートします。 ShooterGameでは、チームの人数、残り時間、チームスコアが入っています。
48.
PLAYERSTATE PlayerState は、ゲームと接続しているすべてのプレイヤーに対してサー バーとクライアント両方に存在します。このクラスは、プレイヤーごとの現在 のスコアなど、所有しているクライアントだけでなく、すべてのクライアントに 関係するレプリケート プロパティに使用することができます。 PlayerController
と同様に、個々のポーンと関連づいていますが、ポーン が破壊またはリスポーンされても影響は受けません。 MultiplayerShootoutではここで個々のプレイヤーのスコアの管理とプレイヤーIDを管理してい ます
49.
PLAYERCONTROLLER そのマシン上の 1 プレイヤーにつき、各クライアントに
PlayerController が 1 つ存在しま す。これらはサーバーとサーバーに関連づいているクライアントの間でレプリケートされ、他 のクライアントに対してはレプリケートされません。その結果、サーバーは各プレイヤーに対 して PlayerControllers を持ちますが、ローカル クライアントはそれぞれのローカル プレイ ヤーの PlayerControllers しか所有しません。PlayerControllers はクライアントの接続 中は存在し、ポーンと関連づいています。ただし、ポーンが頻繁に破壊やリスポーンされても PlayerControllers は影響を受けません。そのプレイヤーだけが探知するゲーム イベント に反応してサーバーがクライアントにミニマップにピンするように伝えるなど、他のクライアン トにはこの情報の差し替えを行わずにクライアントとサーバー間でやりとりする場合にとても 適しています。 MultiplayerShootoutではPlayerControllerでUIを作成しています。
50.
参考にした資料 • C++コードはいらない!UE4で作るお手軽マルチプレイ ネットワークゲームについて • https://www.slideshare.net/masahikonakamura5 0/cue4 •
ネットワークの構築とマルチプレイヤー • https://api.unrealengine.com/JPN/Gameplay/Net working/ 配布されているプロジェクト • MultiplayerShootout(UE4.19 to UE4.20)
51.
ご清聴ありがとうございました!
Notes de l'éditeur
3割くらい同じ声優が演じてる格ゲー
といってもサーバー側にレプリケートしなくてもいい処理もある。 多分
ここで所有権の話を出す
表はないので次はマルチテスト
なぜListenにするか 単純にdedicatedがわからない
今回は基礎の基礎なのでMultiplayerShootoutにあるGameModeなどを参考にしてもらうように言う。
Télécharger maintenant