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
EN
Uploaded by
YutoNishine
PPTX, PDF
1,847 views
Unity + PlayFab + Azure Functions
Unity + PlayFab + Azure Functions C# で統一されたゲーム開発を行う TIPS 2020/4/25 PlayFab Meetup #3 登壇資料
Technology
◦
Read more
2
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 51
2
/ 51
3
/ 51
4
/ 51
5
/ 51
6
/ 51
7
/ 51
8
/ 51
9
/ 51
10
/ 51
11
/ 51
12
/ 51
13
/ 51
14
/ 51
15
/ 51
16
/ 51
17
/ 51
18
/ 51
19
/ 51
20
/ 51
21
/ 51
22
/ 51
23
/ 51
24
/ 51
25
/ 51
26
/ 51
27
/ 51
28
/ 51
29
/ 51
30
/ 51
31
/ 51
32
/ 51
33
/ 51
34
/ 51
35
/ 51
36
/ 51
37
/ 51
38
/ 51
39
/ 51
40
/ 51
41
/ 51
42
/ 51
43
/ 51
44
/ 51
45
/ 51
46
/ 51
47
/ 51
48
/ 51
49
/ 51
50
/ 51
51
/ 51
More Related Content
PPTX
Azure PlayFab トレーニング資料
by
Daisuke Masubuchi
PPTX
PlayFabとAppCenterのユーザ情報を連携してAppCenterの機能を活用しよう
by
Shinya Nakajima
PPTX
FINAL FANTASY Record Keeperのマスターデータを支える技術
by
dena_study
PDF
Riderはいいぞ!
by
UnityTechnologiesJapan002
PDF
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
by
Yoshifumi Kawai
PDF
Unity開発で使える設計の話+Zenjectの紹介
by
torisoup
PDF
Unityでオニオンアーキテクチャ
by
torisoup
PPTX
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
by
sairoutine
Azure PlayFab トレーニング資料
by
Daisuke Masubuchi
PlayFabとAppCenterのユーザ情報を連携してAppCenterの機能を活用しよう
by
Shinya Nakajima
FINAL FANTASY Record Keeperのマスターデータを支える技術
by
dena_study
Riderはいいぞ!
by
UnityTechnologiesJapan002
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
by
Yoshifumi Kawai
Unity開発で使える設計の話+Zenjectの紹介
by
torisoup
Unityでオニオンアーキテクチャ
by
torisoup
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
by
sairoutine
What's hot
PDF
Unityでオンラインゲーム作った話
by
torisoup
PPTX
IoT と時系列データと Elasticsearch | Data Pipeline Casual Talk Vol.4
by
SORACOM,INC
PDF
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
by
Yoshifumi Kawai
PPTX
Photon Fusionのはじめの一歩
by
聡 大久保
PDF
C#でわかる こわくないMonad
by
Kouji Matsui
PPTX
Jenkins と groovy
by
Kohsuke Kawaguchi
PDF
例外設計における大罪
by
Takuto Wada
PDF
【Unity道場】VectorGraphicsで作る エモい表現
by
Unity Technologies Japan K.K.
PDF
ネットワーク ゲームにおけるTCPとUDPの使い分け
by
モノビット エンジン
PDF
UE4でマルチプレイヤーゲームを作ろう
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
LLVM最適化のこつ
by
MITSUNARI Shigeo
PDF
MagicOnion~C#でゲームサーバを開発しよう~
by
torisoup
PDF
リアルタイムコマンドバトルのゲームで PlayFab を使ってみた
by
YutoNishine
PDF
NTT研究所におけるYammerの取り組みと、社内Twitterの統計解析
by
Tokoroten Nakayama
PDF
ゲーム開発者のための C++11/C++14
by
Ryo Suzuki
PDF
iPhoneでリアルタイムマルチプレイを実現!Photon Network Engine
by
GMO GlobalSign Holdings K.K.
PPTX
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
by
SEGADevTech
PDF
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】
by
Unity Technologies Japan K.K.
PDF
猫でも分かるUE4.22から入ったSubsystem
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
中級グラフィックス入門~シャドウマッピング総まとめ~
by
ProjectAsura
Unityでオンラインゲーム作った話
by
torisoup
IoT と時系列データと Elasticsearch | Data Pipeline Casual Talk Vol.4
by
SORACOM,INC
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
by
Yoshifumi Kawai
Photon Fusionのはじめの一歩
by
聡 大久保
C#でわかる こわくないMonad
by
Kouji Matsui
Jenkins と groovy
by
Kohsuke Kawaguchi
例外設計における大罪
by
Takuto Wada
【Unity道場】VectorGraphicsで作る エモい表現
by
Unity Technologies Japan K.K.
ネットワーク ゲームにおけるTCPとUDPの使い分け
by
モノビット エンジン
UE4でマルチプレイヤーゲームを作ろう
by
エピック・ゲームズ・ジャパン Epic Games Japan
LLVM最適化のこつ
by
MITSUNARI Shigeo
MagicOnion~C#でゲームサーバを開発しよう~
by
torisoup
リアルタイムコマンドバトルのゲームで PlayFab を使ってみた
by
YutoNishine
NTT研究所におけるYammerの取り組みと、社内Twitterの統計解析
by
Tokoroten Nakayama
ゲーム開発者のための C++11/C++14
by
Ryo Suzuki
iPhoneでリアルタイムマルチプレイを実現!Photon Network Engine
by
GMO GlobalSign Holdings K.K.
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
by
SEGADevTech
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】
by
Unity Technologies Japan K.K.
猫でも分かるUE4.22から入ったSubsystem
by
エピック・ゲームズ・ジャパン Epic Games Japan
中級グラフィックス入門~シャドウマッピング総まとめ~
by
ProjectAsura
Similar to Unity + PlayFab + Azure Functions
PPTX
Azure PlayFab Unity SDK vs C# SDK
by
YutoNishine
PPTX
C# CloudScript Azure Functions との連携
by
YutoNishine
PDF
【Unite Tokyo 2019】Unity + PlayFab ではじめる新しいゲーム運用 ~LiveOpsの始め方~
by
UnityTechnologiesJapan002
PPTX
ゲーム特化の BaaS! Unity + PlayFab 入門!
by
YutoNishine
PDF
誰でも今日から実践できるUnity x PlayFab(Demoパート)
by
YutoNishine
PDF
ゲーム開発初心者の僕がUnity + WebSocketで何か作ってみた
by
Kohei Kadowaki
PDF
Unityティーチャートレーニングデイ -認定アソシエイト編-
by
Unity Technologies Japan K.K.
PDF
UnityLecture @Kyushu University
by
Kosuke Kaneko
PPTX
ゲーム特化の BaaS! Unity + PlayFab 入門!
by
YutoNishine
PDF
5分で入門するAzure PlayFab
by
YutoNishine
PPTX
Unity ゲーム開発
by
Katsutoshi Makino
PDF
Unityで横スクロールアクションゲームを作ってみる(第2回unity初心者勉強会)
by
Makoto Yamahira
PDF
HoloLensハンズオン:AirTap & SpatialMapping編
by
Takashi Yoshinaga
PDF
Unityティーチャートレーニングデイ -認定プログラマー編-
by
Unity Technologies Japan K.K.
PPTX
Unity * スマートフォン開発で学んだこと
by
Katsutoshi Makino
PDF
Unity に於ける iOS ビルド自動化のおはなし - 20141030 第26回 Unity 勉強会
by
Mori Tetsuya
PDF
【Unite Tokyo 2019】開発から運用まで、デベロッパーをサポートするUnity Services
by
UnityTechnologiesJapan002
PDF
CEDEC 2013 Unity on Windows 8
by
Akira Onishi
PDF
20190525 event slide
by
Hiroko Umetsu
PPT
マイクロソフトのクラウドテクノロジーでゲーム開発(2019年7月)
by
Daisuke Masubuchi
Azure PlayFab Unity SDK vs C# SDK
by
YutoNishine
C# CloudScript Azure Functions との連携
by
YutoNishine
【Unite Tokyo 2019】Unity + PlayFab ではじめる新しいゲーム運用 ~LiveOpsの始め方~
by
UnityTechnologiesJapan002
ゲーム特化の BaaS! Unity + PlayFab 入門!
by
YutoNishine
誰でも今日から実践できるUnity x PlayFab(Demoパート)
by
YutoNishine
ゲーム開発初心者の僕がUnity + WebSocketで何か作ってみた
by
Kohei Kadowaki
Unityティーチャートレーニングデイ -認定アソシエイト編-
by
Unity Technologies Japan K.K.
UnityLecture @Kyushu University
by
Kosuke Kaneko
ゲーム特化の BaaS! Unity + PlayFab 入門!
by
YutoNishine
5分で入門するAzure PlayFab
by
YutoNishine
Unity ゲーム開発
by
Katsutoshi Makino
Unityで横スクロールアクションゲームを作ってみる(第2回unity初心者勉強会)
by
Makoto Yamahira
HoloLensハンズオン:AirTap & SpatialMapping編
by
Takashi Yoshinaga
Unityティーチャートレーニングデイ -認定プログラマー編-
by
Unity Technologies Japan K.K.
Unity * スマートフォン開発で学んだこと
by
Katsutoshi Makino
Unity に於ける iOS ビルド自動化のおはなし - 20141030 第26回 Unity 勉強会
by
Mori Tetsuya
【Unite Tokyo 2019】開発から運用まで、デベロッパーをサポートするUnity Services
by
UnityTechnologiesJapan002
CEDEC 2013 Unity on Windows 8
by
Akira Onishi
20190525 event slide
by
Hiroko Umetsu
マイクロソフトのクラウドテクノロジーでゲーム開発(2019年7月)
by
Daisuke Masubuchi
Unity + PlayFab + Azure Functions
1.
Unity + PlayFab
+ Azure Functions C# で統一されたゲーム開発を行う TIPS 南 @_y_minami 2020.04.25 PlayFab Meetup #3
2.
自己紹介 • 名前 南(みなみ) • 所属 miraibox
Inc. • Twitter @_y_minami • 好き/興味 C# .NET Unity Azure PlayFab MagicOnion 紅茶
3.
本日の内容
4.
本日の内容 PlayFab の Cloud
Script と Azure Functions の統合回りのお話。 • Cloud Script とは • Azure Functions とは • PlayFab の Azure Functions 統合の導入方法 • Unity + PlayFab + Azure Functions を便利に使うための TIPS 1. Unity と Azure Functions でコードを共有して楽をしよう 2. Azure Functions でモデルバインディングを使って楽をしよう 3. Azure Functions のコールドスタートを回避しよう • まとめ
5.
本日の内容 PlayFab の Cloud
Script と Azure Functions の統合回りのお話。 • Cloud Script とは • Azure Functions とは • PlayFab の Azure Functions 統合の導入方法 • Unity + PlayFab + Azure Functions を便利に使うための TIPS 1. Unity と Azure Functions でコードを共有して楽をしよう 2. Azure Functions でモデルバインディングを使って楽をしよう 3. Azure Functions のコールドスタートを回避しよう • まとめ Cloud Script を投げ捨てて便利な Azure Functions を使おう。 Azure Functions をもっと便利に使うための TIPS を紹介。
6.
Cloud Script とは
7.
Cloud Script とは •
PlayFab の主要な機能の一つ • PlayFab は基本的にはクライアントから API を呼ぶだけで 本来はサーバーが必要なゲームを作れる • しかし PlayFab の機能でまかなうことができない場合もある • その場合は PlayFab 内に自分で書いた Script を登録して それを呼び出して処理することができる • FaaS(Function as a Service) のような感覚で使える • 利用料金は PlayFab の料金に含まれる(つまり無料) • 言語は JavaScript のみに対応 • JavaScript のみに対応…😭
8.
Azure Functions とは
9.
Azure Functions とは(Cloud
Script との違い) • Azure の主要な機能の一つ • FaaS • いくつかの料金プランがあるが無料から利用可能 • 従量課金プラン(Consumption Plan)は月100万回は無料で実行可能 • 多くの言語に対応 • C# JavaScript F# Java PowerShell Python TypeScript • Visual Studio などでローカルデバッグも可能 • リアルタイムでオンラインのログのモニタリングも可能
10.
Azure Functions とは(Cloud
Script との違い) • Azure の主要な機能の一つ • FaaS • いくつかの料金プランがあるが無料から利用可能 • 従量課金プラン(Consumption Plan)は月100万回は無料で実行可能 • 多くの言語に対応 • C# JavaScript F# Java PowerShell Python TypeScript • Visual Studio などでローカルデバッグも可能 • リアルタイムでオンラインのログのモニタリングも可能 Azure Functions は良いところがたくさん。 特にクライアント/サーバーを C# で統一できることが最高。 Cloud Script は投げ捨てて Azure Functions を使っていこう。 (まだプレビューだけど)
11.
PlayFab + Azure
Functions の導入方法
12.
PlayFab + Azure
Functions の導入方法 時間がないのでスキップ! 公式ドキュメントか、以下のブログがわかりやすくておすすめ。 PlayFab アカウントだけでなく Azure アカウントが必要なので そちらの取得も忘れずに。 • ねこじょーかーさん 【PlayFab】Azure関数でCloudScriptを実行する方法 https://playfab-master.com/playfab-azure-cloudscript • Simplestarさん Unity オンラインゲームに Microsoft Azure Functions C# と PlayFab はいかが? https://qiita.com/simplestar/items/ea909e37b82731a91ffe
13.
Unity + PlayFab
+ Azure Functions を 便利に使うための TIPS
14.
Unity と Azure
Functions で コードを共有して楽をしよう
15.
Unity と Azure
Functions で コードを共有して楽をしよう Unity と Azure Functions はどちらも C# で書ける。 それならコードを共有しない手はない。 やり方はいくつかあるが自分が好きな方法を紹介。 最初の環境構築手順がやや複雑だがとても便利。
16.
完成系のプロジェクト構成 - Assembly-Csharp - PlayFab -
PlayFabEditorExtensions - PlayFabSDKEditor この4つは Unity 側のプロジェクト。 - YourTitle.AF これは Azure Functions のプロジェクト。 - YourTitle.Shared これは Unity と AF 両方で使うクラスライ ブラリ。実態は Unity 側にある。
17.
コードを共有するプロジェクト構成を 作ってみる
18.
Unity のプロジェクトを作る
19.
Unity のプロジェクトを作る Azure Functions
のプロジェクトと区別しやすくするために プロジェクト名に .Unity とかつけるのが好き。 Unity が起動したら PlayFab Editor Extension で PlayFab SDK も入れる。
20.
Azure Functions のプロジェクトを追加 ソリューションを右クリックして追加。 Visual
Studio は必須ではない。 VS Code でも大丈夫。 他の IDE でも多分大丈夫。
21.
Azure Functions のプロジェクトを追加 Azure
Functions を選択。 見つからないときは検索。
22.
Azure Functions のプロジェクトを追加 プロジェクト名に
.AF とかつけるのが好き。 お好みで。
23.
Azure Functions のプロジェクトを追加 Http
trigger を選択。 Authorization level は Functions か Anonymous に。
24.
現在の状態 ここまでは Unity +
PlayFab + Azure Functions を使う場合の基本的な作業。 ここからコード共有の作業。
25.
コード共有するフォルダとスクリプトを Unity 側で用意 /Assets/Scripts に
Shared フォルダを作る。 共有したいコードはここに保存する。 今回はサンプルとして Character クラスのスクリプトを保存した。
26.
クラスライブラリを作成 ソリューションを右クリックして 新しいプロジェクトを追加。
27.
クラスライブラリを作成 クラスライブラリ(.NET Standard)を 選択する。 他のクラスライブラリを間違って 選択しやすいので注意。 見つからないときは検索する。
28.
クラスライブラリを作成 プロジェクト名に .Shared とかつけるのが好き。 お好みで。
29.
クラスライブラリを作成 クラスライブラリが作成された。 勝手に作成される Class1.cs は 不要なので削除する。
30.
クラスライブラリを作成 YourTitle.Shared をダブルクリックして .csproj
を編集。 Compile Include に Unity で用意した Shared フォルダのパスを指定。
31.
クラスライブラリを作成 編集した .csproj を保存すると
Character.cs が見えるようになる。
32.
Azure Functions のプロジェクトから クラスライブラリを参照する YourTitle.AF
を右クリックして 参照を追加。
33.
Azure Functions のプロジェクトから クラスライブラリを参照する YourTitle.Shared
を選択して OK。 これでコード共有の設定は完了。 Unity の /Assets/Scripts/Shared に保存した コードは AF のプロジェクトから使える。 めでたし!
34.
Azure Functions で モデルバインディングを使って楽をしよう
35.
Docs の Azure
Functions のサンプルコード
36.
Docs の Azure
Functions のサンプルコード パラメータを HttpRequest で受け取って 中身の string(json)を FunctionExecutionContext<dynamic> にデシリアライズして FunctionArgument を dynamic のままごにょごにょしてdynamic で返している つらそうなコード…(´・ω・`)
37.
モデルバインディングを使ったコード
38.
モデルバインディングを使ったコード FunctionExecutionContext<T> で受け取って素直に使う。 HttpRequest や
Json や dynamic がなくなってシンプル。 dynamic を使わないから型の恩恵を受けられる。 型はいいぞ!
39.
Before / After
40.
Unity 側のサンプルコード(After)
41.
Unity 側のサンプルコード(After) Docs のサンプルコードでは
Dictionary だけど任意の型で OK。
42.
Azure Functions の コールドスタートを回避しよう
43.
コールドスタート is 何? •
Azure Functions の従量課金プランで発生する事象。 • ある程度の期間(20分?) Azure Functions を実行しなかった場合、 その次の呼び出しの応答は通常より時間がかかる。(10秒程度)
44.
コールドスタート is 何? •
Azure Functions の従量課金プランで発生する事象。 • ある程度の期間(20分?) Azure Functions を実行しなかった場合、 その次の呼び出しの応答は通常より時間がかかる。(10秒程度) PlayFab から Azure Functions を呼んだときのタイムアウトは10秒。 開発中タイトルやユーザーが極端に少ないタイトルでは タイムアウトエラーによるが発生してしまう。
45.
コールドスタートへの向き合い方 • Azure Function
を Premium か App Service Plan で使う → コールドスタートさせないオプションが使える。正攻法。 → そこそこのお金がかかる。 • タイムアウトのリトライ処理を書いて我慢する → エラーは抑制できても10秒以上待たせるユーザー体験は NG。 • Function を定期的に実行してコールドさせない → 実は Azure Functions の Timer Trigger を使えば簡単。
46.
コールドスタートへの向き合い方 • Azure Function
を Premium か App Service Plan で使う → コールドスタートさせないオプションが使える。正攻法。 → そこそこのお金がかかる。 • タイムアウトのリトライ処理を書いて我慢する → エラーは抑制できても10秒以上待たせるユーザー体験は NG。 • Function を定期的に実行してコールドさせない → 実は Azure Functions の Timer Trigger を使えば簡単。 ↑ 採用
47.
Timer Trigger の
Azure Function を追加 Azure Functions のプロジェクトを右 クリックして追加。
48.
Timer Trigger の
Azure Function を追加 名前を Timer.cs にして追加。 名前はお好みで OK。
49.
Timer Trigger の
Azure Function を追加 Timer trigger を選択して OK。 Schedule はデフォルトで5分毎 なのでそのままで大丈夫。
50.
Timer Trigger の
Azure Function を追加 Timer Trigger の Function が追加された。 これをデプロイすると Azure Functions はコールドスタートしなくなる。 お手軽!
51.
以上です、ご清聴ありがとうございました!
Download