728x90
방향탄이란 특정한 목표를 향해 날아가는 조준탄과 다르게 임의의 방향으로 날아가는 탄환을 말한다. 탄막 슈팅 게임을 예로 들면 플레이어를 향해 직접적으로 날아오는 탄환이 조준탄이고 그 외에 다른 방향으로 뿌려지는 탄환이 방향탄이다.
방향탄의 속도 벡터를(Vx, Vy), 속도를 Speed, 발사각도를 theta (θ)라고 했을 때, 탄환을 발사하는 방법은 다음과 같다. 먼저 탄환을 발사하는 오브젝트(Cannon)와 탄환(Projectile) 오브젝트를 만들어준다.
Cannon에는 <CannonControl> 스크립트가 들어있다. 스페이스 바를 누를 때마다 탄환이 자식으로 생성되며 발사 각도가 누적해서 더해진다. projectile 변수에는 탄환 오브젝트를 프리팹으로 넣어주었다.
탄환에는 탄환의 움직임을 구현한 <projectileMove> 스크립트가 들어있다.
탄환의 벡터 Vx, Vz를 선언한 후 삼각함수를 이용해 속도와 방향을 구해주었다. theta는 <CannonControl> 스크립트에서 가져왔으며, 이렇게 구한 Vx와 Vz를 탄환의 좌표에 매 프레임마다 더하면 방향탄의 구현이 끝난다.
728x90
'Unity' 카테고리의 다른 글
[Unity]이벤트(Event)로 키 입력 관리하기 (0) | 2022.06.16 |
---|---|
NCMB를 이용한 네트워크 구현2 (0) | 2022.02.25 |
NCMB를 이용한 유니티 네트워크 구현하기 (0) | 2022.02.23 |
탄환의 속도 (0) | 2022.02.04 |