삽질 잔뜩 하다가 알아낸 정보들 (공식 문서에도 적혀 있긴 할텐데 스스로 하기 전까진 이해가 잘 안 갔음)

Simulation Behaviour

  • static RPC만 존재 가능
  • 일반 RPC를 작성하면 Weaving Error 발생

Network Behaviour

  • 일반 RPC, static RPC 존재 가능
  • 해당 스크립트가 부착된 오브젝트에 Network Object 컴포넌트 필요
    이때, Network Object는 런타임 전에 씬에 이미 존재하고 있거나, 런타임 중 Spawn()해야만 valid함.
  • 따라서, 일반 RPC는 Spawn한 오브젝트Network Behaviour 스크립트에서만 작성 가능함.
  • 특히, RPC를 호출하는 스크립트가 런타임에서 어떤 오브젝트에 붙어있지 않으면 호출이 되지 않음

    (예시 : Test.cs 스크립트의 RPC_ABC()를 호출하려는데, Test.cs 스크립트가 씬 내 어떤 게임 오브젝트의 컴포넌트로 존재해야 RPC_ABC()를 호출할 수 있음)

  • 따라서, RPC를 모아놓는 Network Behaviour를 하나 만들고, 스폰할 오브젝트에 붙여놓기
  • RPC가 활용할 변수들은 다른 Simulation/Network Behaviour 에 있어도 OK 인 듯

요약 :

Photon Fusion 에서 RPC를 사용하려면?
-> Network Behaviour 스크립트에서 작성하기.
-> Spawn할 오브젝트에 스크립트 부착되었을 경우에만 호출 가능

0개의 댓글