[Unity]02.포톤을 활용한 간단한 fps게임 시작하기 #2 - 포톤 설치하기

안녕하세요 유랑입니다.



오늘은 PUN을 설치하여 네트워크를 적용해 보겠습니다.

드디어 네트워크라닛 두근거리네요.



1. 포톤 네트워크



1-1) PUN 설치하기



유니티에서는 PUN이라는 유니티 전용 포톤이 존재합니다.

에셋스토어에서 다운받아 임포트 해보겠습니다.



 



설치하게 되면 다음 문구가 뜹니다.

지난 시간에 받은 ID 넘버를 적용시켜 주세요.

그리고 Setup Project를 눌러 주세요.





PhotonServerSettins에 해당 아이디가 적용되어 있네요.

직역은 Asia로 바꿔줄게요.

가까워야 속도가 빠르겠죠?

Auto-Join Lobby를 통해서 자동으로 방에 들어가도록 만들겠습니다.





PUN Wizard에서 PUN에 관련된 설정들을 할 수 있습니다.





1-2) 방 만들기



빈 오브젝트를 만든 후 이름을 PhotonMgr로 설정 그리고 스크립트를 넣어 줄게요.

스크립트 내용은 포톤네트워크를 활성화하고 룸을 생성할 때

여러가지 콜백 함수가 일어나는걸 확인할 수 있어요.










게임을 실행하면 Joined Lobby부터 Joined room까지 차례차례로 실행되는걸 확인할 수 있습니다.

방이 없다면 방을 생성하는 것이죠.






1-3) Photon View



방을 만들었으면 플레이어가 들어가야겠죠?

플레이어 오브젝트에 Photon View 스크립트를 추가해 주세요.

해당 스크립트는 네트워크 안에 있는 유저끼리 정보를 공유 가능하도록 도와줍니다.

플레이어 프리팹을 넣어주어 상대방도 내가 보이도록 해볼게요.








프리팹이기에  Apply를 눌러주겠습니다. 





다시 PhotonInit 스크립트에 들어가서 플레이어를 생성하는 코드를 추가할게요.

룸에 입장하면 정해진 위치에 캐릭터가 만들어 집니다.





Build를 하여서 윈도우창과 유니티 창에서 네트워크 연동이 되는지 확인하겠습니다.







같이 보이는데 smooth Follow가 되질 않습니다.






1-4) 메인카메라 설정



게임을 실행하면 Target에 오브젝트가 없습니다.

왜그럴까요?

SmoothFollow 스크립트에 가보니 target이 private네요.

SerializeField를 통해서 인스펙터 창에서 보여지고 있던거네요.

public으로 바꿔주겠습니다.








플레이어 스크립트에 들어가서 네트워크에 들어온 다른 사람이 아닌

오직 나만이 카메라 제어권을 가지도록 설정하였습니다.





게임을 실행하면 Target에 Player 오브젝트가 넣어져있네요.

이 부분은 이제 해결했어요^^






1-5) 플레이어 캐릭터 구분



아 어떤게 나고 상대방일까요?

색깔이 똑같아서 모르겠네요.

머티리얼 속성을 바꿔주어 구분해 보도록 하겠습니다.






플레이어 스크립트에 머티리얼 배열을 만들어 준다음 isMine을 통해서 머티리얼 구분을 하였습니다.





마음에 드는 머티리얼을 각각 넣어주세요.





짜잔 이제 구분되니 보기 좋네요.






1-6) 플레이어 컨트롤 적용



구분이 되었으니 움직임 또한 적용을 해야겠습니다.

해당 스크립트는 나와 타인을 구분하여 트랜스값을 주고받고 하는 코드입니다.












게임을 실행하면 내 캐릭터만 움직일 수 있습니다.






2. 마무리



오늘은 포톤을 적용해서 캐릭터 움직임을 해보았습니다.

다음 시간에는 총알을 만들어서 FPS같은 느낌을 줄게요.

오늘도 고생하셨습니다.

감사합니다.




수업자료: https://github.com/YouRang12/-Tistory-Unity---Extra-Photon-


댓글

Designed by JB FACTORY