월드 바운드-(0, 크기) 또는 (-HalfSize, HalfSize)?


9

개체를 이동, 그리기 및 충돌 할 게임 공간을 만들 때 (0,0) 지점 또는 (0,0,0) 지점을 공간의 가장 중앙에 두는 것이 좋습니다. 세계의 경계가 (-halfSize, halfSize)입니까, 아니면 공간의 가장 먼 모서리에있는 것이 더 낫기 때문에 경계가 (0, 크기)입니까?

각각의 장단점은 무엇이며, 어떤 종류의 문제가 있습니까? 아니면 정말 문제가되지 않습니까?

사소한 세부 사항처럼 보이지만 간과 할 수있는 주요 문제가 있는지 확인하고 싶었습니다.

답변:


15

공간의 중심을 (0, 0, 0)으로하는 것이 더 좋습니다. 공간의 위치를 ​​나타 내기 위해 부호있는 형식을 사용한다고 가정하면 (0, 0, 0)의 중심은 형식의 음수 부분과 양수 부분을 모두 사용할 수 있으므로 부동 소수점의 정밀도 와 부호있는 정수의 범위 가 궁금합니다. . 작은 규모의 경우에는 문제가되지 않지만 큰 규모의 경우 새로운 시스템을 완전히 갖추기 전에 모든 차이를 만들 수 있습니다.

명확히하기 : 렌더링 할 것이라고 생각하는 게임 세계를 만들고 있다고 가정하면 변환 할 궁극적 인 형식은 부동 형식입니다. 서명 한 것처럼 서명 된 형식입니다. 이 경우 (0, Size)를 표현할 수없는 반면 (-HalfSize, HalfSize)를 표현할 수없는 상황에 처할 수 있습니다. 렌더링을 계획하지 않고 임의의 형식을 선택할 수 있다면 개인적으로 앞서 언급 한 스타일을 선호하지만 두 스타일 중 하나를 사용하십시오.


+1, 많은 물리 시뮬레이션에서도이 범위를 사용합니다.
MichaelHouse

1
유용한 참고 자료 : altdevblogaday.com/2012/02/22/…
leander

1
또한 잘 알려져 있지만 시작하기에는 다소 어려울 수 있습니다. docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html- "모든 컴퓨터 과학자가 부동 소수점 산술에 대해 알아야 할 사항"
leander

5

특별히 중요하지 않습니다. 게임 내내 일관된 한.

더 일반적인 접근 방식은 세계 경계를 중심으로 (0,0)하는 것입니다. 즉, 경계가 시작됩니다 -halfSize, halfSize. 위치 (Vector2 또는 Vector3)를 나타내는 대부분의 데이터 구조는 기본적으로 0으로 설정되므로 객체의 기본 배치는 아래쪽 모서리가 아닌 세계 중심에 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.