イラスト、モデリング、Unity、VR関連

unityとかblenderとかvr関連の作業メモ

UNET サンプル:プレイヤー生成処理とサーバー起動、クライアント接続のコード

TcpTest.unitypackage - Google ドライブ

-------

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Networking;

public class MyNetworkManager : NetworkManager{
  [SerializeField] Text CText;
  [SerializeField] GameObject MyPlayerPrefab;
  //network managerのAutoCreatePlayerをオンにするとこのメソッドがコールされる
  public override void OnServerAddPlayer(NetworkConnection conn, short playerControllerId){
    GameObject player;
    player = (GameObject)Instantiate(MyPlayerPrefab, Vector3.zero, Quaternion.identity);
    NetworkServer.AddPlayerForConnection(conn, player, playerControllerId);
  }

}

--------

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Networking;

public class TcpHost : MonoBehaviour{
  [SerializeField] NetworkManager NManager;

  void Start(){
    NetworkClient nc = NManager.StartHost();
  }

}

-----------------------

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Networking;

public class TcpClient : MonoBehaviour{
    [SerializeField] NetworkManager NManager;

    void Start(){
      NManager.networkAddress = "192.168.0.193";
      NManager.networkPort = 7777;
      NetworkClient nc = NManager.StartClient();
    }
}

-----------

MyNetworkManagerの設定

AutoCreatePlayerはオンに、プレイヤーとして生成するオブジェクトをRegisteredSpawnablePrebfabsに登録しておく

f:id:arumogina:20190418215348p:plain

 

++参考

http://motoyama.hateblo.jp/entry/unet-networkmanager-custom