조준선 근처에 있는 플레이어를 어떻게 구별하나요?
조준선에 가장 아까운 플레이어 한명은 player close to reticle이고, 범위 내에 들어온 플레이어들을 구하고 싶으면 players in view angle을 사용하면 됩니다
조언해주신건 감사하지만 players in view angle은 부채꼴 모양으로 퍼져나가지 않나요? 저는 융화처럼 직선으로 가면서 조준선 근처에만 있어도 다수에게 데미지를 입게 하는 방법을 알고 싶습니다.
그런거라면 filtered array로 눈 위치에 바라보는 방향에 점검중인 플레이어와의 거리를 곱한 만큼 더한 위치와 점검중인 플레이어 위치와의 거리가 융화의 두께보다 가까운 플레이어를 필터링하면 됩니다
빔이펙트 굵기가 1m라 쳤을때 상대방이 나한테서 오른쪽으로 0.9m 에 있으면 데미지가 들어가야돼요 근데 이렇게 하면 거리가 √2*0.9가 되겠죠? 이건 1보다 커요. 데미지가 안들어가죠…
멀리있으면 비슷합니다… 사용해도되긴하는데 틀린건 틀린거니까… 불편하네요… 편법 정도로 알아두면 좋을것 같아요.
정확하게 하려면 빔이랑 상대방과의 최단 거리를 구해야해요
빔 쐈을때 판정은
|vector toward(내눈,상대방눈)×보는방향| < 빔두께
입니다.
워크샵으로하면
magnitude of(cross product(vector toward(내눈, 상대방눈),보는방향))
이게 수학적으로만 맞는 방법인거라 조금더 정확하게하고싶으면 상대방눈도 검사하고 상대방 발위치도 검사하면 돼요. 더더더하고싶으면 따로 world vector of 로 머리끝 팔끝 위치 구해서 넣어도 되고… 근데 터지니까 비추 눈이랑 발정도만 하면 될듯
여기다 벽같은거에 막히니까 시야안에 있는지 판별하는 is in line of sight 랑 같이 써주면 돼요
코드는 BWA6X예요
감사합니다