본문 바로가기

Photon

(11)
Photon 마지막 날 (Photon Voice, Photon 소유권 넘기기, Map Editor(맵 툴 제작)) 목차 Photon Voice 세팅 마이크 체크 해보기 포톤 소유권 넘기기 좀 재밌는거 해보기(서버에서 자체적으로 움직임 계산 및 전달 하는법) 맵 툴 제작 Photon Voice 세팅 플레이어 안에 스피커 역할 하는 애를 하나 만들거임 우리가 필요한 정보들 = Game Scene-----> voice 오브젝트 여기에 Recorder 컴포넌트 넣기 (참고) 더보기 더보기 눌러서 말하기 하려면 Transmit Enablked 를 코딩으로 제어해주삼~ 이거 체크되어있어야 시작하자마자 말하기 가능함! Voice 오브젝트에 Photon Voice Network 컴포넌트도 추가해주자! Primary Recorder 에 Recorder 를 넣어야 하는데, 지금 Voice 오브젝트에 붙어있으니까, Voice 를 집어넣..
Photon 열 번째 날 (채팅길면 개행시키기, Scroll Bar 맨 밑으로 최신화, Photon Voice 맛보기) 목차 채팅 글 길면 개행 할 수 있게 하는 법 코드로 텍스트 개행해주기 Text 박스 Height 문제 해결법 스크롤 바 맨 밑에 있을 때 채팅치면 계속 맨 밑에 있게 하는 법 스크롤 바 계속 내리기 코드로 구현 Photon Voice 맛보기 ChatManager.cs , ChatItem.cs 완성본 채팅 글 길면 개행 할 수 있게 하는 법 채팅을 개행 할 수 있게 해보자. Text 프리팹 여기서, Vertical 을 OverFlow 하면 개행이 알아서 된다. 근데 이렇게 하게 되면, 텍스트가 개행이 되긴 하는데, 다음 채팅을 쳤을 때, 개행 된곳에 나오게 된다. Text 프리팹 자체의 Heigt 높이가 변하진 않았기 때문 그래서 이 Text 프리팹 에 Content Size Fitter 을 넣으면 알아..
Photon 아홉째 날 (포톤채팅구현, 채팅 동기화 후 나오는 문제 해결, 닉네임 색 바꿔주기) 목차 포톤 채팅 구현하기!! RPC 로 채팅동기화 하기 채팅 동기화 성공한 후, 생기는 2가지 문제 채팅 쓸 때 플레이어 움직임 막기 닉네임 색 바꿔주기 닉네임 컬러 랜덤으로 변경해주기! 채팅 동기화 성공한 후, 생기는 2가지 문제 미션 포톤 채팅 구현하기!! 구현 가이드!! 위에꺼 구현 해보기 해결 UI를 먼저 구성해보자 GameScene => Scroll View 를 생성 Legacy -> InputField 도 생성해서 아래와같이 만들자 위치는 왼쪽 하단으로 가게 만들자! 여기서 ErrorPause 안풀면, 오류떴을 때 컴퓨터가 멈춤! ChatManager.cs 를 만들자 빈 오브젝트도 만들어서 넣자! ㅎ 변수 세개 생성 ㅎㅎ onSubmit 에 넣을 함수를 만들자 inputField 에 AddLi..
Photon 여덟째 날(Password 생성, SpawnPoint 생성, 턴 형식 만들기) 목차 비밀번호 생성하기 소환하는 위치 다양하게 만들기 턴 제 만들기 비밀번호 생성하기 알고리즘 포톤에는 비밀번호 기능이 따로 없어서 하나의 아이디어를 쓴다고 함! => 방장이 방 생성하는 과정에서, 방 이름을 (방 이름+비밀번호)로 해서 만든다. => 하지만 생성된 목록에는 (방 이름)만 뜨게 한다. => 방에 입장하고 싶은 사람은 그 버튼을 눌러본다 => 하지만 입장 되지 않는다. 보이는건 방 이름 뿐이지만, (방 이름+비밀번호) 로 만들었기 때문에 => 진짜 방이름은 (방 이름+비밀번호) 이다. 즉, 사실은 방 이름(방 이름 + 비밀번호 )으로만 입장하는거지만 방 이름과 비밀번호 까지 둘 다 쳐서 들어가야하는것 같이 느껴지는 원리 이다. LobbyManager.cs ----> inputPassword..
Photon 일곱째 날 (void CreateRoomListUI(), 방정보 Custom 하기, Map Thumbnail 만들기, 상황별 정리) 목차 void CreateRoomListUI() [갱신된 정보로 방목록 UI 구성하기] void CreateRoomListUI() [Action 으로 구현 할 수 있는 다른방법!] Custom정보로 방 정보 관리하기 방 목록 버튼에 설명(Description) 붙이기 지금까지 정보를 계속 갱신 된 정보를 딕셔너리에 가지고 있음 이 정보들로 UI 를 구성해보자 (방목록 버튼) RoomInfo 의 데이터가 담긴 딕셔너리인 roomCache 의 Value 값을 하나씩 조사한다! 이제 방 버튼을 roomCache 의 데이터 개수만큼 만들거니까 프리펩으로 만들었던 버튼을 변수로 등록하자 나중에 Assign 도 해줘야 하는거 잊으면 안됨 ㅎㅎ 여기서 Instantiate( 만들고싶은 Object, 누가 부모가 될 ..
Photon 여섯 째날 (LobbyScene 꾸미기, RemoveRoomListUI(),UpdateRoomCache()) 목차 LobbyManager Scene 꾸미기 InputField 와 버튼 상호작용해주기 버튼에 기능이 들어가는 함수 넣기 방 생성시, 생기는 방 목록 관리하기 Button 으로 Scroll View 안에 목록 만들기 방 버튼의 기능 만들기 void RemoveRoomListUI() 기능 구현 void UpdateRoomCache() 기능 구현하기 LobbyManager Scene 꾸미기 LobbyScene 에서 Text 있었던거 지우고 InputField ㄱㄱ 이렇게 만든다 (방 이름, 총 인원) 이 글씨는 InputField 에서 자식으로 또 만든 Text 에서 꾸며 준거임 OutLine 을 넣어줘서 좀 더 잘 보이게 만듦! 그다음 이 인풋 필드의 앵커를 우측 하단으로 적용 시켜준것임 (방 참가, 방..
Photon 다섯 째날 (RPC로 OnDamage, RPC.애니메이션(상태머신), RPC.총,Connection Scene UI 꾸미기) 목차 RPC 를 이용해서 맞은 Player 데미지 깎이게 하기 RPC 를 이용해서 애니메이션 구현하기 애니메이션 상태머신 스크립트 만들기 RPC 로 총 쏘게 하기 PC로 Die 상태로 바꾸기 Connection Scene 간단하게 꾸미기 RPC 를 이용해서 맞은 Player 데미지 깎이게 하기 Photon View 를 이용해 서버에 위치를 전송해줌 RPC 를 이용해서 RPC 는 모든 PC 에 붙어있긴 한데, photonView 의 ID 는 다 다르다. 맞은 Player의 데미지를 달게 하기위해, PlayerFire 로 간다 ---> 총알 생성한 부분을 RPC 로 빼서 넣는다. OnDamaged 에 들어가서 그 안에있는것도 뺴서 Rpc 형태로 바꾸자 이렇게 OnDamaged 자체를 RPC 로 바꾸면 됨 이..
Photon 넷째 날 (Photon View, OnPhotonSerializeView, RPC) 목차 소켓통신 구조 PhotonNetwork.LoadLevel 로 씬전환 하게 하기 PhotonView 넣어서 동기화 시키기 PhotonView 의 IsMine 을 이용하여 내꺼만 움직이기 IsMine == True 일 때 CamPos 활성화 하게 하기 쉽게 동기화 시켜줄 수 있는 Photon Transform View 닉네임 설정 해주기 Photon OnPhotonSerializeView 동기화 Lerp 로 끊기는 현상 보간 Photon 총알 발사 PhotonNetwork.Instantiate Photon Ray 총알발사 PunRPC 정리 소켓통신 구조 GameServer 에 신호를 보내면 다른 컴퓨터도 그 신호를 다 받을 수 있게 함 PhotonNetwork.LoadLevel 로 씬전환 하게 하기 우..