[Photon Fusion 1.1.8] Player Spawner And Create Player
Photon Network/Fusion 2023. 11. 5. 22:40PlayerSpawner 스크립트를 생성후 다음과 같이 작성하자
using System;
using System.Collections;
using System.Collections.Generic;
using Fusion;
using Fusion.Sockets;
using UnityEngine;
public class PlayerSpawner : MonoBehaviour, INetworkRunnerCallbacks
{
[SerializeField] private NetworkPrefabRef playerPrefab;
private void Start()
{
NetworkManager.Instance.SessionRunner.AddCallbacks(this);
}
public void OnPlayerJoined(NetworkRunner runner, PlayerRef player)
{
if (player == runner.LocalPlayer)
{
Vector3 spawnPosition = new Vector3(UnityEngine.Random.Range(1, 5), 0, UnityEngine.Random.Range(1, 5));
runner.Spawn(playerPrefab, spawnPosition, Quaternion.identity);
}
}
public void OnPlayerLeft(NetworkRunner runner, PlayerRef player)
{
}
public void OnInput(NetworkRunner runner, NetworkInput input)
{
}
public void OnInputMissing(NetworkRunner runner, PlayerRef player, NetworkInput input)
{
}
public void OnShutdown(NetworkRunner runner, ShutdownReason shutdownReason)
{
}
public void OnConnectedToServer(NetworkRunner runner)
{
}
public void OnDisconnectedFromServer(NetworkRunner runner)
{
}
public void OnConnectRequest(NetworkRunner runner, NetworkRunnerCallbackArgs.ConnectRequest request, byte[] token)
{
}
public void OnConnectFailed(NetworkRunner runner, NetAddress remoteAddress, NetConnectFailedReason reason)
{
}
public void OnUserSimulationMessage(NetworkRunner runner, SimulationMessagePtr message)
{
}
public void OnSessionListUpdated(NetworkRunner runner, List<SessionInfo> sessionList)
{
}
public void OnCustomAuthenticationResponse(NetworkRunner runner, Dictionary<string, object> data)
{
}
public void OnHostMigration(NetworkRunner runner, HostMigrationToken hostMigrationToken)
{
}
public void OnReliableDataReceived(NetworkRunner runner, PlayerRef player, ArraySegment<byte> data)
{
}
public void OnSceneLoadDone(NetworkRunner runner)
{
}
public void OnSceneLoadStart(NetworkRunner runner)
{
}
}
RunnerPrefab에 PlayerSpawner컴포넌트를 추가 한다
CreatePlayer
Prefabs폴더에 NetworkPlayer(빈 프리팹)을 생성한다
NetworkPlayer를 더블클릭해 프리팹 모드로 들어가 자식으로 Cube를 생성한다
NetworkPlayer를 선택해 NetworkObject 컴포넌트를 부착 한다
NetworkTransform컴포넌트도 부착 한다
NetworkTransform 컴포넌트의 Interpolation Target에 Cube를 할당 한다
RunnerPrefab을 선택후 Player Spawner에 PlayerPrefab에 NetworkPlayer프리팹을 할당 한다
실행한다
빌드후 2개를 실행해보자
'Photon Network > Fusion' 카테고리의 다른 글
[Photon Fusion] Tanknarok 1.1.7 분석 02 (0) | 2023.11.07 |
---|---|
[Photon Fusion 1.1.8] Setting/Getting Input (0) | 2023.11.05 |
[Photon Fusion 1.1.8] Network Runner Callbacks (0) | 2023.11.05 |
[Photon Fusion 1.1.8] Network Manageer (0) | 2023.11.05 |
[Photon Fusion 1.1.8] Setting Up Fusion (0) | 2023.11.05 |