unityで...
TRANSCRIPT
![Page 1: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55934fe31a28ab383c8b47c9/html5/thumbnails/1.jpg)
Unity で PhotonCloud を使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう 【応用編・前編】
PhotonCloud 日本運営事務局
![Page 2: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55934fe31a28ab383c8b47c9/html5/thumbnails/2.jpg)
本日のお題目• Unity の準備• Asset のインポート• PhotonCloud との接続設定• 床とライトの設定• 弾丸の実装• 壁の設定• 衝突判定の実装• まとめ
2
![Page 3: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55934fe31a28ab383c8b47c9/html5/thumbnails/3.jpg)
本日やること• ゲームへのネットワーク機能実装• PhotonCloud への接続• ロビーへの入室• Room が無ければ Room を作成して入室• Room に入室後に自分のキャラクターを
Instantiate する• リアルタイムでマルチプレイヤーを同期する• リアルタイム・マルチプレイヤーでチャット
する3
![Page 4: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55934fe31a28ab383c8b47c9/html5/thumbnails/4.jpg)
Unity の準備
![Page 5: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55934fe31a28ab383c8b47c9/html5/thumbnails/5.jpg)
Unity の準備 〜 1• スライド中の
Unity のキャプチャーは、レイアウトを “ Tall” にしています
• お好みのレイアウトで結構です
5
![Page 6: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55934fe31a28ab383c8b47c9/html5/thumbnails/6.jpg)
Unity の準備 〜 2• 新しいプロジェク
トを作成します File > New Project
• “Create new Project” が選択されている状態で [Set….] ボタンをクリックします
6
![Page 7: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55934fe31a28ab383c8b47c9/html5/thumbnails/7.jpg)
Unity の準備 〜 3• 保存先を選び
“ Save As: ” には PhotonWorkShop と入力します
• 準備が整ったら [Save] をクリックします
• 戻った画面で [Create Project] をクリックします 7
![Page 8: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55934fe31a28ab383c8b47c9/html5/thumbnails/8.jpg)
Asset のインポート
![Page 9: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55934fe31a28ab383c8b47c9/html5/thumbnails/9.jpg)
Asset のインポート 〜 0• Unity を起動して
Asset Store を開きます
Window > Asset Store
• Asset Store ウィンドウの画面右上にある検索窓で “ photon” と入力して検索を実行します
9
![Page 10: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55934fe31a28ab383c8b47c9/html5/thumbnails/10.jpg)
Asset のインポート 〜 1• 検索結果から
“ Photon Unity Networking…” をクリックします
10
![Page 11: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55934fe31a28ab383c8b47c9/html5/thumbnails/11.jpg)
Asset のインポート 〜 2• 画面左側にある
[ Download ] ボタンの右にある ▽ をクリックします
• 現れたメニューの一番上の [ Download and Import ] をクリックします
11
![Page 12: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55934fe31a28ab383c8b47c9/html5/thumbnails/12.jpg)
Asset のインポート 〜 3• Importing package
画面で、全てのアイテムにチェックが付いている事を確認して、、、
• 画面右下の [ Import ] をクリックします
12
![Page 13: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55934fe31a28ab383c8b47c9/html5/thumbnails/13.jpg)
UnitySDK(Asset) の同梱物
![Page 14: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55934fe31a28ab383c8b47c9/html5/thumbnails/14.jpg)
Unity SDK の同梱物 〜 1• リファレンス(英
文)を同梱しています
Assets > Photon Unity Networking > PhotonNetwork- Documentation.pdf
• 日本語訳文はユーザー助け合い所で公開します 14
![Page 15: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55934fe31a28ab383c8b47c9/html5/thumbnails/15.jpg)
Unity SDK の同梱物 〜 2• サンプルを同梱し
ています
Assets > Photon Unity Networking > Demos
※ 全 6 種類
15
![Page 16: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55934fe31a28ab383c8b47c9/html5/thumbnails/16.jpg)
PhotonCloud との接続設定
![Page 17: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55934fe31a28ab383c8b47c9/html5/thumbnails/17.jpg)
PhotonCloud との接続 〜 1
17
PhotonCloudMasterServerClient
PhotonCloudGameServer
・ ロビー入室・ ルーム作成・ マッチメイキング・ 収容 GameServer 決定
PhotonCloudGameServer
PhotonCloudGameServer
![Page 18: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55934fe31a28ab383c8b47c9/html5/thumbnails/18.jpg)
PhotonCloud との接続 〜 2
18
PhotonCloudMasterServerClient
PhotonCloudGameServer
・ ルーム入室・ オブジェクト同期・ イベント同期・ メッセージ送受信
PhotonCloudGameServer
PhotonCloudGameServer
![Page 19: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55934fe31a28ab383c8b47c9/html5/thumbnails/19.jpg)
PhotonCloud との接続 〜 3
19
クラス名
ネットワーク機能実装
PhotonCloud への接続 ConnectToMaster
ロビーへの入室 PhotonNetwork.ConnectUsingSettings
ルームがなければルームを作成して入室
RandomMatchmaker.cs
PhotonNetwork.JoinRandomRoom, PhotonNetwork.CreateRoom, PhotonNetwork.JoinRoom
ルームに入室後にキャラクターを生成する
monsterprefab PhotonNetwork.Instantiate
プレイヤー同士をマッチメイキングする
RandomMatchmaker.cs
マルチプレイヤー間の動きを同期する
PhotonView myThirdPersonController, CharacterController, NetworkCharacter
![Page 20: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55934fe31a28ab383c8b47c9/html5/thumbnails/20.jpg)
PhotonCloud との接続設定• [alt]+[p] で“ PUN Wizard” を
開きます• 上から 2 段目の [ Setup ] を
クリック• 次の画面の 1 段目に、ワー
クショップ用の AppID を入力します
• 598db964-27b9-4cf0-b1ac-69e32e95fac8
• “Cloud Region” は [Japan] をクリックします
• 最後に 3 段目の右側の [ Save ] をクリックして完了です 20
![Page 21: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55934fe31a28ab383c8b47c9/html5/thumbnails/21.jpg)
床とライトの設定
![Page 22: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55934fe31a28ab383c8b47c9/html5/thumbnails/22.jpg)
前準備設定• おまじないで新し
いシーンを作成します
File > New Scene
• すると“ Hierarchy” の中身が“ Main Camera” だけになります
22
![Page 23: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55934fe31a28ab383c8b47c9/html5/thumbnails/23.jpg)
カメラの設定• “Hierarchy” にある
“ Main Camera” を選択します
• “Main Camera” の “ Inspector” にある “ Transform” の値を左図のように変更します
23
![Page 24: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55934fe31a28ab383c8b47c9/html5/thumbnails/24.jpg)
ネットワーク機能実装 〜 1• 空のゲームオブ
ジェクトを作成します
GameObject > Create Empty
• “Hierarchy” に追加された “ GameObject” の名前を“ Scripts” に変更します
24
フォーカスされた状態で [return] キーを押す
![Page 25: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55934fe31a28ab383c8b47c9/html5/thumbnails/25.jpg)
ネットワーク機能実装 〜 2• “Scripts” の
“ Inspector” にある “ Transform” の値を左図のように変更します
25
![Page 26: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55934fe31a28ab383c8b47c9/html5/thumbnails/26.jpg)
ネットワーク機能実装 〜 3• ランダムマッチメイキング
用のスクリプトを組み込みます
• “Inspector” の下部の [Add Component] ボタンをクリックし、検索用の入力窓に “ RandomMatchmaker” と入力し、検索候補から “ RandomMatchmaker” を選択して先ほど作った “ Script” にアタッチします
• これで “ Script” の “ Inspector” に “ Random Matchmaker” が加わります26
![Page 27: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55934fe31a28ab383c8b47c9/html5/thumbnails/27.jpg)
床の設定 〜 1• “Plane” を使って床
を作ります GameObject >
Create Other > Plane
• すると“ Hierarchy” の中に “ Plane” が追加されます
27
![Page 28: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55934fe31a28ab383c8b47c9/html5/thumbnails/28.jpg)
床の設定 〜 2• “Plane” の
“ Inspector” にある “ Transform” の値を左図のように変更します
28
![Page 29: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55934fe31a28ab383c8b47c9/html5/thumbnails/29.jpg)
床の設定 〜 3• “Plane” にテクスチャ
を貼り込みます
• “Project” の検索窓に “ Pavement_01” と入力し、検索結果に現れた二つの “ Pavement_01” の上側のパーツを、先ほど作った “ Plane” にドラッグアンドドロップしてアタッチします 29
![Page 30: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55934fe31a28ab383c8b47c9/html5/thumbnails/30.jpg)
ライトの設定 〜 1• Directional Light を
使用します GameObject >
Create Other > Directional Light
• すると “ Hierarchy” の中に “ Directional light” が追加されます
30
![Page 31: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55934fe31a28ab383c8b47c9/html5/thumbnails/31.jpg)
ライトの設定 〜 2• “Directional Light” の
“ Inspector” にある “ Transform” の値を左図のように変更します
31
![Page 32: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55934fe31a28ab383c8b47c9/html5/thumbnails/32.jpg)
シーンの保存 〜 1• ここまで出来たら記
念にシーンを保存しておきます
• シーン保存用のフォルダを “ Assets” 直下に “ PhotonWorkShop” の名前で作ります
32
![Page 33: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55934fe31a28ab383c8b47c9/html5/thumbnails/33.jpg)
シーンの保存 〜 2• シーンに名前をつ
けて保存します File > Save Scene as
• さきほどの “ PhotonWorkShop”の中に “ GameMain” の名前で保存にします
33
![Page 34: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】](https://reader036.vdocuments.pub/reader036/viewer/2022062419/55934fe31a28ab383c8b47c9/html5/thumbnails/34.jpg)
後編に続きます