본문 바로가기
[Unity] Photon RPC 에러 Exception: Write Failed. Custom type not found 문제 배열을 동기화하는 RPC 호출에서 에러가 났다. 에러를 잘 읽으면 감이 올 텐데 Custom type not found이다. 데이터 타입을 잘 못 읽었다는 뜻이렷다? 원인 RPC로는 List 데이터 타입은 동기화할 수 없다. 바보같이 데이터 타입 생각 안 하고 그냥 동기화해달라고 했네...^^ 해결 Photon View를 받아오고 싶으면 Photon View가 아니라 Photon Player라는 데이터 타입으로 동기화하면 된다. Photon Player를 담아놓으면 PhotonPlayer.playerId로 view id를 접근할 수 있다. 내 경우 PhotonView의 List를 가지고 PhotonView.OwnerActorNr을 받아오기 때문에 차라리 deadBodyPVList를 int[]로 만들.. 2022. 11. 20.
Azure PlayFab 회원가입, 로그인 PlayFab 설치 Azure PlayFab에서 회원 가입 후 Verify Email 해주고 시간대와 언어 변경. Password에 자동으로 비밀번호가 들어가 있을 텐데 비밀번호를 지워야 설정 저장이 된다. API로 가서 PlayFab SDK용 Unity 편집기 확장 다운로드 Unity3D(C#) SDK - PlayFab PlayFab Unity3D(C#) SDK의 방문 페이지입니다. learn.microsoft.com 다운로드 된 패키지 Unity 창 켜진 상태에서 실행 -> Import 회원가입하지 말고 로그인, Azure PlayFab에서 회원가입한 이메일, 비밀번호로 로그인 SDK 없으므로 Install PlayFab SDK 하고 커피 한잔 하면서 기다리기 SETTINGS - STUDIO를 My .. 2022. 11. 18.
Udemy STARTERS (유데미 스타터스) Unity 취업 부트캠프 21주차 - Among Us 기능 추가 임포스터의 Vent 이동 기능을 추가했다. Vent 이동 Player Prefab에 Animation 추가 Create New Clip으로 VentIn 애니메이션을 생성한다. AU_Player의 자식으로 있는 Player의 Position을 조절한다. 10 Frame : Position Y 1 30 Frame : Position Y -1 AU_Player의 자식으로 있는 Player의 Is Active 30 Frame : 체크 해제 AU_Player의 Sphere Collider-Enabled, Capsule Collider-Enabled 30 Frame : 체크 해제 만든 Animation의 Loop Time 해제 결과 Animation 연결 Vent In 복사해 Vent Out 만든다. Vent 나오.. 2022. 11. 13.
[Unity] 어몽어스 미니게임 (멀티) - 스위치 켜기 (Among Us - Light Switch task Multi ver) 스위치 켜기는 어몽어스 게임 중 임포스터가 크루를 방해하기 위해 암전시켰을 때 수행하는 임무이다. 개인 미션이 아닌 크루 중 누구라도 완수하면 모두가 오나수한 것처럼 인정되는 공용 임무이기 때문에 Photon을 이용해 다른 사람에게도 미션 상태가 공유되도록 해야만 했다. Light Switch On Off game 자료 직접 누끼따서 만들었다... 포토샵 없는 나같은 사람들은 Pixlr를 애용합시다. 멀티로 만들기 전 코드 처음부터 멀티로 생각하면 만들기도 어렵기 때문에 일단 멀티가 아닌 버전부터 생각해서 만들었다. 모든 불빛은 꺼져있다고 생각하고, 랜덤으로 일부 불빛만 켜고 스위치가 위로 가 있는지 아래로 가 있는지도 랜덤으로 설정했다. using System.Collections; using Syst.. 2022. 11. 13.
[Unity] Photon Serialization - RPC 동기화 가능한 데이터 타입 Photon에서 RPC를 통해 동기화할 때나 PhotonSerializeView를 통해 동기화할 때나 동기화할 수 있는 데이터 타입에 제한이 있다. 특히 Photon을 사용할 때 게임 오브젝트 자체를 동기화하려고 하면 안 되는 경험을 많이 해보았을 것이다. Photon에서 동기화할 수 있는 데이터 타입에 제한이 있어서 그렇다. 동기화하고자 하는 변수가 지원하는 데이터 타입에 포함되어 있지 않으면 동기화할 수 없고, 따로 사용자 정의를 통해 동기화해주어야 한다. 아래 사이트에 들어가면 친절하게 설명되어 있다. Photon에서 동기화할 수 있는 데이터 타입 Photon의 직렬화(Serialization) | Photon Engine doc.photonengine.com 정리하자면, 기본적인 C# 데이터 타입.. 2022. 11. 8.
[Unity] Photon, Photon View 이용한 멀티 게임 만들기 (간단 예제) 나도 공부 중이지만 일단 정리. 설치 Photon 종류 PUN 설정 후 이름 짓고 어플리케이션 작성. Unity Asset Store - Pun 2 Free 다운로드 프로젝트 Window - Package Manager - My Asssets에서 다운로드 후 Import Window - Setup Networking - Server cloud setting - Add ID 에 Photon 사이트의 어플리케이션 아이디 입력 캐릭터 생성 움직일 캐릭터에 Rigidbody, Capsule Collider, Photon View 추가 Resources 폴더에 캐릭터 넣어 Prefab화 주의) 반드시 이름이 Resources여야 함. 그렇지 않으면 Resources 폴더에 갖다두라는 에러 창이 뜸. 주의) 캐릭터.. 2022. 10. 23.