분류 전체보기

NCMB를 이용한 네트워크 구현2
저번 포스팅에 이어서 네트워크를 좀 더 연습하려고 한다. 이번에는 실제로 게임에 적용해 보기 위해 샘플 게임을 가져왔다. 먼저 저번과 마찬가지로 NCMBManager와 NCMBSettings 스크립트를 각각 빈 게임 오브젝트에 붙여주고 Application Key와 Client Key를 넣어줬다. 그런 뒤 적당히 메인 화면을 만들어준다. 대충 이런 느낌이다. 사용한 오브젝트는 다음과 같다. 간단하게나마 설명하자면 ControlSystem에 로그인과 계정 생성 등의 기능을 구현한 LoginSignUp 스크립트를 넣어 놓고 Button에서 OnClickEvent를 이용해 사용하는 방식이다. LoginSignUp의 코드는 다음과 같다. using System; using System.Collections; u..

NCMB를 이용한 유니티 네트워크 구현하기
NCMB란 일본 회사가 제공하는 mBaas로, 'nifcloud mobile backend'를 말한다. 오늘은 제목처럼 NCMB를 이용해 유니티 네트워크를 구현해 볼 거다. *mBaas(Mobile Backend as a Service) NCMB를 이용하려면 계정을 생성하고 플러그인을 다운로드 해야 한다. https://console.mbaas.nifcloud.com/login ニフクラ mobile backend console.mbaas.nifcloud.com 위 링크에서 계정을 만들어 준다. https://github.com/NIFCloud-mbaas/ncmb_unity/releases Releases · NIFCLOUD-mbaas/ncmb_unity ニフクラ mobile backend Unity SD..

방향탄
방향탄이란 특정한 목표를 향해 날아가는 조준탄과 다르게 임의의 방향으로 날아가는 탄환을 말한다. 탄막 슈팅 게임을 예로 들면 플레이어를 향해 직접적으로 날아오는 탄환이 조준탄이고 그 외에 다른 방향으로 뿌려지는 탄환이 방향탄이다. 방향탄의 속도 벡터를(Vx, Vy), 속도를 Speed, 발사각도를 theta (θ)라고 했을 때, 탄환을 발사하는 방법은 다음과 같다. 먼저 탄환을 발사하는 오브젝트(Cannon)와 탄환(Projectile) 오브젝트를 만들어준다. Cannon에는 스크립트가 들어있다. 스페이스 바를 누를 때마다 탄환이 자식으로 생성되며 발사 각도가 누적해서 더해진다. projectile 변수에는 탄환 오브젝트를 프리팹으로 넣어주었다. 탄환에는 탄환의 움직임을 구현한 스크립트가 들어있다. 탄환..
탄환의 속도
플레이어의 좌표 P(px, py)와 적의 좌표 E(ex, ey)이 주어졌을 때 E을 향해 날아가는 탄환이 있다고 하자. 출발 후 n번 후에 E에 도착한다고 했을 때 탄환의 벡터 B(bx, by)는 다음과 같이 표현할 수 있다. bx = (ex - px)/n by = (ey - py)/n 그러나 이 방법을 사용할 시 플레이어와 적의 위치가 변함에 따라 탄환의 속도도 함께 변하는 문제가 있다. 이를 해결하려면 플레이어와 적의 거리를 구해주어야 한다. 적과 플레이어의 거리 d 를 구하는 공식은 d = math.sqrt((ex - px)^2 + (ey - py)^2)이며 피타고라스 정리에서 도출된 식이다. 여기서 math.sprt는 제곱근을 반환하는 C#의 메서드이다. 이제 이렇게 구한 d를 n 대신 넣어주고 ..