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