今回、UnityでUNETを使用したネットワーク上で鬼ごっこをするゲームを作ることとなりました。
つきましては非対称ネットワーク対戦ゲームの形式となるので、鬼と逃げる側とでプレイヤープレハブを使い分けたいのですが、デフォルトのNetworkManagerでは単一のプレハブしか登録できません。
NetworkManagerには空のプレハブを登録
↓
ゲーム開始時生成しないよう設定
↓
空のプレハブを鬼決めのあとで本命のキャラクタープレハブに上書き
↓
ゲーム開始
としたいのですが。
実際には生成しないとNetworkManagerのnumPlayersを使用している関係で鬼の割り振りのScriptに影響が出ています。
なので、空のプレハブを生成した後にキャラクタープレハブを代入して再生成する方法を取ろうと思うのですが、プレイヤー再生成の段階で行き詰っていおります。
単純にただ再生成させると事前に設定したSpawnPosition(ランダムな場所に生成したいために作ったNetwork Start Positionのみの空オブジェクト)に生成できないのでは?と考えているので、どうしたら良いのか分からなくなっています。
可能であればアドバイスお願いします。
以下鬼の割り振りコード
C#
1 private NetworkManager net = new NetworkManager(); 2 private GameObject[] Players;//プレイヤー情報格納場所 3 public GameObject ItObj;//鬼側のプレハブ 4 public GameObject Escaper;//逃げる側のプレハブ 5 6 Players = GameObject.FindGameObjectsWithTag ("Player");//ゲーム内のプレイヤーを全て取得 7 int It=Random.Range(0, Players.GetLength(0));//ランダムに鬼を選ぶため0~プレイヤー数の間で乱数を取得 8 Players [It].GetComponent<WhetherIt> ().SetIt ();//別スクリプトWhereItで鬼(It)情報を追加 9 for (int i = 0; i < Players.GetLength (0); i++) { 10 if (Players [i].GetComponent<WhetherIt> ().GetIt ()) { 11 Players [i] = ItObj; 12 } else { 13 Players [i] = Escaper; 14 }//鬼情報の有無(Itはbool型)を取得(GetIt)してプレハブを代入 15 } 16 17 //この後再生成させたい
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。