본문 바로가기

멀티플레이어게임4

#4 UNET으로 간단한 멀티플레이어 예제 만들어보기 - Networking Player Health까지 UNET을 이용하여 멀티플레이어 게임 만들기 현재 총을 만들고 총알이 날아가고 그 총알이 각 클라이언트에 동기화되는 부분까지 진행하였다. 이번에는 플레이어의 체력 수치를 보여주고 그 체력 수치가 총알을 맞을 때 깎이는 부분, 그리고 동기화까지 진행해보도록 할 것이다. 예제는 Simple MultiPlayer Example 에서 확인할 수 있다. 범위는 12~13 이다. Create Bullet Collisions ① Bullet 프리펩에 새로운 스크립트를 생성하고 이름을 Bullet으로 지정한다. ② Bullet 스크립트를 열고 기존에 있는 샘플코드를 지운다. bullet이 또다른 물체와 충돌했을 때 bullet 프리펩이 없어지고 충돌에 대한 핸들링 로직을 추가할 것이다. /*Bullet.cs*/ usi.. 2017. 10. 23.
#3 UNET으로 간단한 멀티플레이어 예제 만들어보기 - Multiplayer Shooting까지 UNET을 이용하여 멀티플레이어 게임 만들기 이제 실행 모드에서 Player 프리펩이 생성되고 호스트와 클라이언트 각각에서 로컬 Player의 색깔과 위치가 동기화되는 것을 확인했다. 이번에는 총을 만들어주고 총알이 날아가는 부분과 이를 동기화하는 작업까지 진행해보려고 한다. 예제는 Simple MultiPlayer Example 에서 확인할 수 있다. 범위는 10~11 이다. Shooting(Single Player) ① Sphere 게임 오브젝트를 생성하고 이름을 Bullet라고 지정한다. 이를 선택한채로 Bullet의 scale을 (0.2, 0.2, 0.2)로 설정한다. Physics > Rigidbody 컴포넌트를 추가한다. Rigidbody에서 Use Gravity 체크박스를 false로 바꾼다.. 2017. 9. 28.
#2 UNET으로 간단한 멀티플레이어 예제 만들어보기 - Local Player 식별까지 UNET을 이용하여 멀티플레이어 게임 만들기 지난 글에서는 호스트와 클라이언트가 각각의 플레이어 프리팹을 동기화하는 것 까지 했다. 오늘은 위치를 동기화시키고 로컬 플레이어를 식별할 수 있도록 색깔을 지정해주는 부분까지 할 것이다. 예제는 Simple MultiPlayer Example 에서 확인할 수 있다. 범위는 7~9까지이다. Networking Player Movement ① PlayerController 스크립트를 열어서 수정한다. UnityEngine.Networking 네임스페이스를 추가하고, MonoBehaviour을 NetworkBehaviour로 변경한다. 이 네임스페이스는 network-aware 스크립트를 작성할 수 있도록 해준다. NetworkBehaviour은 MonoBehavi.. 2017. 9. 28.
#1 UNET으로 간단한 멀티플레이어 예제 만들어보기 - Single Player 테스트까지 UNET을 이용하여 멀티플레이어 게임 만들기 네트워크 엔진 Ranknet이라는게 있다. 게임 개발자라면 한번쯤 들어봤을 법한 이 라이브러리는 P2P방식의 네트워크엔진인데 유니티에 내장된 네트워크 기능이 바로 이것이라고 한다. 유니티5에서 기능이 수정되면서 하이레벨로 제작되어진 API 스크립트를 HLAPI 라고 한다. Ranknet에 기반했으므로 UDP기반이며 UNET은 데디케이트 서버를 가지는 세션 방식의 게임서버에 특화되어 있다. 사용에 앞서 유니티에서 제공하는 예제를 먼저 따라해보기로 한다. 예제는 Simple MultiPlayer Example 에서 확인할 수 있다. 해당 글에서는 총 범위 1에서 18까지 중에서 1~6까지 다룰 예정이다. Introduction to a Simple Multipla.. 2017. 9. 27.