Unity(3)
-
[Unity] Photon Fusion (7) - Fusion Starter (Shared) 뜯어보기
Photon Fusion의 기술 문서에 들어가보면, Photon사에서 정성들여 만들어 놓은 기술 Demo들이 존재한다. 오늘은 그 중 하나인 Fusion Starter(Shared Mode Version)의 소스코드를 씹고 뜯고 맛보고자 한다. 일단 아래와 같이 MainMenu Scene의 UIMainMenu Script를 뜯어보자.using UnityEngine;using UnityEngine.SceneManagement;namespace Starter.MainMenu{ public class UIMainMenu : MonoBehaviour { public void LoadScene(int index) { SceneManager.LoadScene(index); } public void Qui..
2024.08.29 -
[Unity] Photon Fusion (5) - RPC
전편에 이어서 말하자면, 다른 플레이어의 네트워크 속성을 수정해야 하는 경우 StateAuthority를 어떻게 처리해야 하는가이다. 그리고 이러한 방법은 RPC(원격 프로시저 호출)을 통해서 처리할 수 있다. Fusion 튜토리얼에서 제공하는 아래 코드를 참고하자. 먼저 Health 라는 Component에 있는 DealDamageRpc Function에 RPC 프로퍼티를 붙였다. 그다음 RpcSources.All을 사용해 누구나 RPC를 호출할 수 있게 했고, RpcTargets.StateAuthority를 사용해 StateAuthority만 RPC를 수신하게 했다. (StateAuthority가 Network Property를 업데이트 하기 때문) 그리고 이런 식으로 RPC를 때려 버리면, 상대의 ..
2024.08.28 -
[Unity] Photon Fusion (4) - Network Property, State Authority
Network Property?- Network Obejct에 NetworkTransform Component를 추가 했을 경우 Object의 Tranform이 동기화 되듯이, 스크립트의 변수와 같은 다른 상태 또한 동기화 할 수 있는 방법이 있다. 위에 [Networked]라는 Property를 붙여주는 방식이다.- 이때 중요하게 다뤄지는 것이 StateAuthority인데 (Client가 StateAuthority가 없는 Object의 프로퍼티 변경시 나중에 묵살되버릴 수 있음), 이것이 무엇인고 하니... StateAuthority?- StateAuthority는 네트워크 객체의 상태를 제어하는 권한을 의미한다. 이 권한을 가진 Entity만이 특정 Object의 상태를 업데이트 하고 유지할 수 ..
2024.08.28