현재 게임을하고 있는데 클라이언트에서 특정 입자 효과를 내기 위해 서버에서 클라이언트로 패킷을 보내야하지만 클라이언트는이 파티클을 렌더링 할 수 있습니다. 게임에서 반경 64 큐빅 단위.더 빠른 거리 측정
모든 클라이언트에게 패킷을 보내는 것을 피하기 위해 클라이언트와 입자가 시작된 지점 간의 거리를 측정하지만 거리는 각 클라이언트에 대해 계산되며 게임 틱 (50 ms).
입자는 플레이어의 움직임으로 재생되며 멀리있는 모든 클라이언트에게 전송되므로 성능이 약간 중요합니다 (여러 플레이어를 고려할 때).
square(x1 - x2) + square(y1 - y2) + square(z1 - z2);
내 생각은 입자 등을 사용하여 각 축 (128) 길이의 '상자'를 만드는 것이 었습니다 :
게임 API는 두 위치 사이의 거리에 대한 공식 (NO 제곱근)를 제공합니다 중심점,이 단점은 코너에있는 클라이언트가 입자를 렌더링하지 않지만 패킷을 가져와 약간의 대역폭을 낭비한다는 것입니다.
질문 : 유클리드 거리를 사용하여 거리를 측정하는 것은 입자 주변에 '상자'를 만들고 클라이언트가 내부에 있는지 비교하는 것보다 빠릅니다. 더 빠른 거리 측정을위한 다른 방법이 있습니까?
0.x? x/10을 의미하지 않니? – Charlie
@Charlie 다른 객체 위치 에서처럼 '0'이 아니며 'o'입니다. – clcto
그 자체가 게시물 자체에 더하기 코드를 더 했어야했는데 – Charlie