unityで...

34
Unity で PhotonCloud でででで でででででで でででででででででででででで でででで でででで 【・ ででPhotonCloud ででででででで

Upload: gmo-cloud-kk

Post on 01-Jul-2015

2.532 views

Category:

Technology


5 download

TRANSCRIPT

Page 1: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】

Unity で PhotonCloud を使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう          【応用編・前編】

PhotonCloud 日本運営事務局

Page 2: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】

本日のお題目• Unity の準備• Asset のインポート• PhotonCloud との接続設定• 床とライトの設定• 弾丸の実装• 壁の設定• 衝突判定の実装• まとめ

2

Page 3: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】

本日やること• ゲームへのネットワーク機能実装• PhotonCloud への接続• ロビーへの入室• Room が無ければ Room を作成して入室• Room に入室後に自分のキャラクターを

Instantiate する• リアルタイムでマルチプレイヤーを同期する• リアルタイム・マルチプレイヤーでチャット

する3

Page 4: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】

Unity の準備

Page 5: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】

Unity の準備 〜 1• スライド中の

Unity のキャプチャーは、レイアウトを “ Tall” にしています

• お好みのレイアウトで結構です

5

Page 6: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】

Unity の準備 〜 2• 新しいプロジェク

トを作成します File > New Project

• “Create new Project” が選択されている状態で [Set….] ボタンをクリックします

6

Page 7: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】

Unity の準備 〜 3• 保存先を選び

“ Save As: ” には   PhotonWorkShop  と入力します

• 準備が整ったら [Save] をクリックします

• 戻った画面で [Create Project] をクリックします 7

Page 8: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】

Asset のインポート

Page 9: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】

Asset のインポート 〜 0• Unity を起動して

Asset Store を開きます

Window > Asset Store

• Asset Store ウィンドウの画面右上にある検索窓で “ photon” と入力して検索を実行します

9

Page 10: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】

Asset のインポート 〜 1• 検索結果から

“ Photon Unity Networking…” をクリックします

10

Page 11: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】

Asset のインポート 〜 2• 画面左側にある

[ Download ] ボタンの右にある ▽ をクリックします

• 現れたメニューの一番上の [ Download and Import ] をクリックします

11

Page 12: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】

Asset のインポート 〜 3• Importing package

画面で、全てのアイテムにチェックが付いている事を確認して、、、

• 画面右下の [ Import ] をクリックします

12

Page 13: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】

UnitySDK(Asset) の同梱物

Page 14: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】

Unity SDK の同梱物 〜 1• リファレンス(英

文)を同梱しています

Assets > Photon Unity Networking > PhotonNetwork- Documentation.pdf

• 日本語訳文はユーザー助け合い所で公開します 14

Page 15: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】

Unity SDK の同梱物 〜 2• サンプルを同梱し

ています

Assets > Photon Unity Networking > Demos

※ 全 6 種類

15

Page 16: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】

PhotonCloud との接続設定

Page 17: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】

PhotonCloud との接続 〜 1

17

PhotonCloudMasterServerClient

PhotonCloudGameServer

・ ロビー入室・ ルーム作成・ マッチメイキング・ 収容 GameServer 決定

PhotonCloudGameServer

PhotonCloudGameServer

Page 18: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】

PhotonCloud との接続 〜 2

18

PhotonCloudMasterServerClient

PhotonCloudGameServer

・ ルーム入室・ オブジェクト同期・ イベント同期・ メッセージ送受信

PhotonCloudGameServer

PhotonCloudGameServer

Page 19: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】

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を使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】

PhotonCloud との接続設定• [alt]+[p] で“ PUN Wizard” を

開きます• 上から 2 段目の [ Setup ] を

クリック• 次の画面の 1 段目に、ワー

クショップ用の AppID を入力します

• 598db964-27b9-4cf0-b1ac-69e32e95fac8

• “Cloud Region” は [Japan] をクリックします

• 最後に 3 段目の右側の [ Save ] をクリックして完了です 20

Page 21: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】

床とライトの設定

Page 22: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】

前準備設定• おまじないで新し

いシーンを作成します

File > New Scene

• すると“ Hierarchy” の中身が“ Main Camera” だけになります

22

Page 23: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】

カメラの設定• “Hierarchy” にある

“ Main Camera” を選択します

• “Main Camera” の “ Inspector” にある “ Transform” の値を左図のように変更します

23

Page 24: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】

ネットワーク機能実装 〜 1• 空のゲームオブ

ジェクトを作成します

GameObject > Create Empty

• “Hierarchy” に追加された “ GameObject” の名前を“ Scripts” に変更します

24

フォーカスされた状態で [return] キーを押す

Page 25: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】

ネットワーク機能実装 〜 2• “Scripts” の

“ Inspector” にある “ Transform” の値を左図のように変更します

25

Page 26: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】

ネットワーク機能実装 〜 3• ランダムマッチメイキング

用のスクリプトを組み込みます

• “Inspector” の下部の [Add Component] ボタンをクリックし、検索用の入力窓に “ RandomMatchmaker” と入力し、検索候補から “ RandomMatchmaker” を選択して先ほど作った “ Script” にアタッチします

• これで “ Script” の “ Inspector” に “ Random Matchmaker” が加わります26

Page 27: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】

床の設定 〜 1• “Plane” を使って床

を作ります GameObject >

Create Other > Plane

• すると“ Hierarchy” の中に “ Plane” が追加されます

27

Page 28: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】

床の設定 〜 2• “Plane” の

“ Inspector” にある “ Transform” の値を左図のように変更します

28

Page 29: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】

床の設定 〜 3• “Plane” にテクスチャ

を貼り込みます

• “Project” の検索窓に “ Pavement_01” と入力し、検索結果に現れた二つの “ Pavement_01” の上側のパーツを、先ほど作った “ Plane” にドラッグアンドドロップしてアタッチします 29

Page 30: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】

ライトの設定 〜 1• Directional Light を

使用します GameObject >

Create Other > Directional Light

• すると “ Hierarchy” の中に “ Directional light” が追加されます

30

Page 31: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】

ライトの設定 〜 2• “Directional Light” の

“ Inspector” にある “ Transform” の値を左図のように変更します

31

Page 32: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】

シーンの保存 〜 1• ここまで出来たら記

念にシーンを保存しておきます

• シーン保存用のフォルダを “ Assets” 直下に “ PhotonWorkShop” の名前で作ります

32

Page 33: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】

シーンの保存 〜 2• シーンに名前をつ

けて保存します File > Save Scene as

• さきほどの “ PhotonWorkShop”の中に “ GameMain” の名前で保存にします

33

Page 34: Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】

後編に続きます