【Unity】BOLTでオンラインゲームを作る①準備編【PUN2】【VisualScripting】

Boltオンラインゲーム開発

こんにちは〜

りきです。

今回は、PUN2とBoltを使って人とオンラインマッチングするっていうことやっていきます。

まずは、今回準備編ということで、セットアップからやっていきましょうね。

PUN2をインポート

Pun2をプロジェクトにインポートしていきます

ウィンドウからアセットストアを開き、

Search Onlineからアセットストアをブラウザで開くよ

アセットストアでPun2を検索して

Pun2Freeを見つけて、

Add to My Assetsでインポート。

もし既にダウンロードしたことあるぜって人は、ウィンドウ⇨パッケージマネジャーにいって

Pun2を選択。インポート。

インポートを選択。

そしたら、こんな感じでAppIDを要求するウィンドウが開くよ。

こっからPUN2の新規登録を終わらせて、新しくIDを作っていくよ

PUNに新規登録

ブラウザで「Pun2」って調べると、「機能の概要」とか書いてあるページがあるからそこに飛ぶよ

Punのページを開いたら、右上のサインインを押して新規登録していくよ

ここでメルアドを入力して、Registerを押して、

入力したメール宛にパスワード登録URLがきてるから、そこに行ってパスワードを登録。すると、、

新規登録。無事完了。

Pun2サーバーを用意

ここまで行けたら、Create A New App を押して

新しくサーバーを作っていく。

「Photon Type」には「PUN」 ⚠️BOLTじゃないよ

「Name」には他のサーバーと区別しやすい様に名前つける。ローマ字で適当でいいよ。

他は未入力でもOK。

Createを押すと、

BlogTestサーバーができたぜ!!!名前はつけたやつになってるはず。

そんじゃ、できたサーバーの「AppID」をコピーして、

Unityに戻ってここに貼り付け。

SetUpProjectを押せば、PUN2のセットアップが完了や!!!

BOLTをインポート

いつものように、Boltをアセットストアで検索して、インポートしていく。

これこれ。これをインポートしてね

既にダウンロードしてある方は、ウィンドウ⇨パッケージマネジャー⇨マイアセットにいって、Boltを探してインポートしてね

インポート!!!

BOLTのセットアップ始めよう。Nextをおして

Assembly Optionsの欄は下にスクロールしていって、+を押して、「PhotonRealtime」を追加。

また+を押して「PhotonUnityNetworking」を追加。

Nextを押して次へ。

TypeOptionsを設定していくよーん

+を押して、「Photon Network」を追加。

同じ要領で、「Room」「Room Options」「Room Info」を追加。

こんな感じで追加できたらGenerate。

Boltのセットアップ終わりじゃい!

最後の下準備

いつものようにスクリプトを貼り付ける用の空のオブジェクトを作成。

名前は「Manager」に設定。

プロジェクトビューでMacroフォルダーを作り、その中でBoltのフローマクロを新規作成。

名前はManagerで。(なんでもいいけど)

次に、C♯スクリプト「PhotonToBolt」を用意。

内容は以下の通り。コピペね。100%コピペだからノーコード。

名前は「PhotonToBolt」です。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Photon.Pun;
using Photon.Realtime;
using Bolt;
using System.Linq;

public class PhotonToBolt : MonoBehaviourPunCallbacks
{
    public override void OnConnectedToMaster()
    {
        CustomEvent.Trigger(gameObject, "OnConnectedToMaster");
    }
    public override void OnJoinedRoom()
    {
        CustomEvent.Trigger(gameObject, "OnJoinedRoom");
    }
    public override void OnJoinRandomFailed(short returnCode, string message)
    {
        CustomEvent.Trigger(gameObject, "OnJoinRandomFailed");
    }
    public override void OnPlayerLeftRoom(Player otherPlayer)
    {
        CustomEvent.Trigger(gameObject, "OnPlayerLeftRoom");
    }

    [PunRPC]
    void RPCCall(string eventName)
    {
        CustomEvent.Trigger(gameObject, eventName);
    }

    [PunRPC]
    void RPCCall(params object[] args)
    {
        CustomEvent.Trigger(gameObject, (string) args[0], args.Skip(1).ToArray());
    }
}

このスクリプトをManagerにアタッチ。

コンポーネントを追加⇨Bolt⇨フローマシンを追加。

プロジェクト内のManagerフローマクロを、フローマシンのMacroにドラッグ&ドロップ。

Edit Graph押して、ついにオンライン対戦のマッチング機能を実装していくぜ!!!!!

続きは次回!!!!

コメント