고민 상담 판

즐겨찾기
최근 방문 게시판

총게임 만들고있는데 수학 잘 아는사람?

12261694 2020.11.20 275

난 휴학중인 학부생이고 지금 개인프로젝트로 총쏘는 게임 개발중인데

 

샷건을 대충 구현을 했거든

 

근데 뭔가 만족스럽지가 않아

 

샷건탄이 지정된 범위 안에서 어느정도 균일한 모양으로 나갔으면 좋겠는데

 

일단은 단순히 랜덤범위만 지정해줘서 그런지 가끔씩 한점에 모여 나갈 때도 있음

 

구글링 좀 해보니까 샷건 탄 퍼지는 범위 수식을 써야한다는것 같은데

 

이에 대해 알고있거나 비슷하게 구현할 구현 아이디어가 뭐 없을까?

23개의 댓글

6df04965
2020.11.20

원 하나 안에서 랜덤 말고.

그 원안에서 또 구역 쪼개놓고 랜덤으로 잡아봐.

0
12261694
2020.11.20
@6df04965

정규분포 구해줘서 뿌려줬엉 이제 잘나와~~~

0
12f9a716
2020.11.20

한 점에 모아져 나가는 상황 자체가 생기면 안되지.

원으로 나가는게 아니라 샷건은 애당초 원뿔모양으로 나가야 하는 거잖아

 

즉, 발사지점에서 사정거리 최대치까지 발사 범위를 정하고 나면

해당 발사 범위까지의 방향 벡터의 방향을 랜덤으로 해도 어떤 범위 내로 나올거 아니냐

 

각도가 아니라 발사 방향인 벡터가 랜덤이어야 함

0
12261694
2020.11.20
@12f9a716

마지막 발사 방향 벡터가 랜덤으로 구현되어있어

지금 다른 게이들 말대로 정규분포로 뿌리거나 sin cos해서 범위 지정 해보려고

0
12f9a716
2020.11.20
@12261694

그럼 시작점에 따라 방향을 고정하는 방법으로 바꿔.

지금 문제는 시작점에 따라서 방향이 고정되는 형태가 아닐거 같다.

 

생각해보면 현실적으로 범위 1인 총구가 있을 때 그 총구에서 총알이 튀어나가는 시점 가장 최초에 보면

총알의 시작점들이 미묘하게 다르고, 그 시작점으로 사정거리까지의 직선벡터가 방향벡터일 거잖아.

시작점만 랜덤이면 애당초 방향은 고정되어야 하는거임

(단, 바람이나 습도, 기온 영향은 없다고 가정)

 

쓰면서 나도 머리 굴리고 있는거라 말이 조금 바뀐 건 미안~

 

여튼 요약하면 특정 시작점을 랜덤으로 뿌리고 그 시작점에서 발사되는 방향은 그 시작점 * 사정거리.


그래서 시작점에 배치할때 총알들마다 충돌 콜라이더달아서 감지시켜서 충돌 콜라이더 내에 겹치는 건 다시 랜덤 돌려 ㅇㅇ 그게 물리적으로는 맞지

0
12261694
2020.11.20
@12f9a716

겹치는걸 다시 랜덤을 돌려야겠어

일단 히트스캔이라 시작점은 에임을 보고있는 방향이 고정이고 결국 도착할 때 흩뿌려줘야하는데

 

중복검사가 안되는것같어

0
12f9a716
2020.11.20
@12261694

그니까 출발값 정할때에 총알들마다 영역감지 시켜서 중첩되면 재배치해야지 ㅇㅇ

0
12261694
2020.11.20
@12f9a716

정규분포 구해서 뿌려줬엉 이제 잘나온당~

0
12f9a716
2020.11.20
@12261694
0
3ffb979f
2020.11.20

정규분포로 뿌려

0
12261694
2020.11.20
@3ffb979f

정규분포 구해줘서 뿌렸당 잘 나온다 이제

0
ef531ff4
2020.11.20

r(cosT,sinT)

 

r 0~반지름

T 0~2pi

 

이럼 대강 균등분포하지 않을까?

0
ef531ff4
2020.11.20
@ef531ff4

near plane에 저래 하고 총알 출발지점에서 ray 뿌려주거나

 

아니면 총알 시작 지점에서 상하좌우 각도 두 개 램덤으로 정해서 ray 만들거나

0
12261694
2020.11.20
@ef531ff4

정규분포 구한다음 뿌렸당 이제 잘나왕

0
ef531ff4
2020.11.20
@12261694

굳굳 밑에 자료 봐야지

0
12261694
2020.11.20
@ef531ff4

첨엔 수식을 구했는데 나중에 찾아보니까 c++ 11부턴 편하게 짤 수 있더라

 

// #include <random>

float NormalDistribution(float min, float max)

{

std::random_device rd{};

std::mt19937 generate{ rd() };

std::normal_distribution number{ min, max };

return number(generate);

}

 

이렇게 짜줬음

0
12261694
2020.11.20

댓글 달아준 여러분들 고마워용 대충 감 잡아서 구현하고 올게용

0
b03ad6f9
2020.11.20

https://en.wikipedia.org/wiki/Box%E2%80%93Muller_transform

정규분포로 뿌리려면 참고영

0
12261694
2020.11.20
@b03ad6f9

앙 고마워~

0
91c31651
2020.11.20

와 숫닉 개붕이 능력자네..

0
12261694
2020.11.20
@91c31651

ㅎㅎ 고마워 근데 내 수준은 누구나 좀만 배우면 할 수 있엉

0
d66f1edb
2020.11.20

ea에 입사해서 에이펙스 레전드 모잠비크 샷건 탄착군 조절좀해라 도저히 못써먹을 수준임

0
12261694
2020.11.20
@d66f1edb

에이펙스 짱좋아하는 겜인데 리스폰이 모잠비크는 즐겜용 총으로 남겨놔서 평생 안바뀔거같어 ㅋㅋㅋㅋㅋ

0
무분별한 사용은 차단될 수 있습니다.
번호 제목 글쓴이 날짜 조회 수
402962 종종 한국 나이로 남자 30살~32살쯤 취업 하시는분들 요즘 자... 4 573a79d5 1 시간 전 174
402961 존경하지만 말이 바뀌는 상사에게 서운.. 12 e5d40ef0 2 시간 전 128
402960 사회초년생 재태크 궁금 6 0274bdd8 3 시간 전 187
402959 테라스에서 고기구워먹어도 되려나 5 8fd0ef12 4 시간 전 150
402958 여사친 궁금 9 63c217f7 4 시간 전 290
402957 애인이랑 디코 관련해서 서운한게 맞는지 24 9838b9f3 4 시간 전 304
402956 토익 생각보다 점수 안오르는데 학원가야되나? 5 c409c557 5 시간 전 97
402955 1억 투자한거 마이너스 80에서 60 됐는데 6 9fa35ed1 5 시간 전 251
402954 30 후반되니까 살찌는거 개같다. 6 8169cd60 5 시간 전 182
402953 내인생에는 언제 봄이 오냐 2 4ac2ea02 5 시간 전 87
402952 카페에서 헌팅하러 갈 예정인데 17 baf8ea03 5 시간 전 180
402951 비아그라 효능이 줄은것같음 5 b6e47ebd 5 시간 전 126
402950 학자금 대출 의무상환 잘아는분? 7 9d996807 5 시간 전 69
402949 근데 주식으로 돈번새끼들이 그렇게 많냐 9 42374792 5 시간 전 206
402948 포토샵 잘 아는사람 3 2a47e261 5 시간 전 71
402947 취업 6개월 차인데 동기들 보니깐 확실히 스타트가 다르구나... 42 5a055e02 5 시간 전 332
402946 속도위반 과태료 사전통지서가 왔는데 21 dd1f6cd8 5 시간 전 169
402945 전 여친들과의 사진들 다 지우냐 ? 19 97b9bc4e 5 시간 전 276
402944 27살에 사춘기온거냐? 2 f84fcec4 5 시간 전 94
402943 여자친구에 대한 애정이 식어가는느낌이네 28 715ba921 5 시간 전 282