게임에서 샷건을 구현하는 방법은 무엇입니까?


14

권총과 기관총은 쉽습니다-총알이 특정 방향으로 날아갈 수 있으므로 이미 구현했습니다. 반면 샷건은 원뿔처럼 보이는 특정 영역의 모든 것에 손상을줍니다. 어떻게 구현해야합니까? 여기에 몇 가지 제안이 있지만 몇 가지 조언을 사용할 수 있습니다.

  • 총알을 여러 개의 작은 총알로 나눠서 자체적으로 적은 피해를 입히지 만 비슷한 방향으로 날아갑니다 (적은 사람이 가까이있을수록)
  • 총알을 사용하지 마십시오-샷건 샷의 입자 효과 만 있고 위치 / 방향 등을 기준으로 적에게 얼마나 많은 피해를 입히는 지 계산하십시오.
  • 사물을 손상시키는 큰 보이지 않는 총알 (예 : 큐브)과 실제로 샷건 샷처럼 보이게하는 입자 효과가 있습니다.

미리 감사드립니다!


이러한 옵션은 모두 유효하지만 (첫 번째 옵션은 여러 개의 글 머리 기호로 시작하지 않는 이유는 무엇입니까?) 결정은 게임 디자인을 기반으로합니다.
congusbongus

관련성 : 정확도 대 거리 공식 및 "불의 원뿔"은 이에 대한 좋은 검색어 일 수 있습니다.
MichaelHouse

답변:


21

대부분의 게임은 샷건을 한 번에 여러 발사체를 발사하는 무기로 구현하지만, 각 발사체는 액터를 떠나는 각도의 임의의 랜덤 화를 가지고 있습니다. 대부분의 현대 1 인칭 슈팅 게임에서는 거의 모든 무기가 장거리에서 정확도를 떨어 뜨리기 위해 발사 할 때마다 최소한 약간의 퍼짐이 있으므로 동일한 구현을 샷건에 사용할 수 있습니다.

간단한 구현 : 10 ° 퍼짐을 원하고 플레이어가 0 ° 세로 방향과 50 ° 가로 방향을 바라 보는 경우 발사체는 -5 ° ~ + 5 ° 세로, 45 ° ~ 55 ° 가로 각도로 둡니다.

더 나은 구현 : 발사체를 직사각형이 아니라 플레이어의 십자형 주위의 원형 영역에 펼치십시오.

장거리에서의 효율 감소는 발사체의 퍼짐에 의한 결과로, 먼 거리와 작은 목표물이 모두에게 맞지 않습니다. 샷건을 단거리 무기로 만들기 위해 이것을 강조하고 싶을 때, 이동하는 모든 게임 로직 프레임마다 발사체의 피해를 줄일 수 있습니다.

하향식 또는 측면 스크롤 슈팅 게임에서는 플레이 영역이 너무 작기 때문에 모든 무기에 퍼지는 것이 일반적이지 않지만 샷건과 같은 무기를 원할 때 이것은 다른 문제이며 동일합니다. 3 차원에 신경 쓸 필요가없는 기술을 사용할 수 있습니다. 또는 -6 °, -4 °, -2 °, 0 °, 2 °, 4 °, 6 °와 같이 고정 된 각도로 발사체를 발사 할 수 있습니다. 2D 컨텍스트에서는 3D 컨텍스트처럼 인위적으로 보이지 않으며 도전자는 게이머가 좋아할 것입니다. 기회가 줄어들 기 때문입니다.


더 나은 구현은 쉽습니다. 첫 번째 접근법은 두 번째 임의의 각도 (수평 및 수직)를 필요로하며, 두 번째 각도 (비축 [0, + 5 °] 및 축 [0, 360 °]를 따라 회전)
MSalters

@MSalters 원 안에 발사체를 균일하게 분포시키지 않습니다. 대신 축 주위에 집중시킵니다. 이것은 자신의 효과 일 수도 있고 아닐 수도 있습니다. 원 내에서 균일 한 무작위 분포를 얻으려면 이 답변을 참조하십시오 .
Daniel AA Pelsmaeker

@Virtlink : 그렇습니다. 원 안의 균일 한 확률 밀도는 내가 원하는 것이 아닙니다. 정규 분포는 이와 같은 물리학에 가장 적합한 경향이 있으며, 1D 정규 분포로 ϑ 값을 확산하고 normal로 스케일링 한 동일한 정규 분포를 갖는 φ 값을 퍼뜨리는 것만으로도 특히 간단합니다. 이중 극좌표로 갈 필요가 없습니다.
leftaroundabout

다음은 샷건 스프레드에 대해 설명하는 페이지입니다 . 살펴보고 그들이하는 일을 볼 수 있습니다.
AJMansfield
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.