많은 게임에서 Y는 왜?


19

나는 학교에서 z 축이 있다는 것을 배웠다. Blender와 같은 모델링 소프트웨어에서도 동일합니다. 그러나 많은 게임에서 y 축이 올라갑니다.

이유가 무엇입니까?


실제로, 여기 대학에서 많은 사람들이 2D 이미지를 그릴 때 y를 위쪽 방향으로 그립니다. (2D y도 올라가고 종종 예제를 보여줄 때 2D의 일반화로 3D를 사용하기 때문에). 학교에서 규칙을 실제로 배운 것을 기억할 수 없습니다.
Aufziehvogel 2016

4
간단한 대답 : 수백만 년 동안 수학자들은 X가 왼쪽으로 가고 Y는 아래로 내려가는 종이에 XY 그래프를 그리고 깊이가 추가되면 Z가 종이 밖으로 나갔습니다. 그렇게 간단한 대답은 아닙니다. 아무도 동의하지 않습니다. 왜 그들은 임의의 축에 동의합니까? =)
Patrick Hughes


Y가 다운되는 XNA로 시작했기 때문에 2D에서도이 카운터를 직관적으로 찾을 수 있습니다. 그러나 화면 공간에서 뒤쪽에있는 것들을 먼저 그려야하며, 더 높은 화면 공간을 차지해야합니다. 타일 ​​맵을 그릴 때 일부 y가 뒤집히고 논리가 어색해집니다.
Madmenyo

처음에 Z가있는 ZY 그래프로 작업했다면이 문제는 발생하지 않았을 것입니다. 우리는 X 축을 도입하고 그 작업을 완료했을 것입니다. (또는 마찬가지로, YX 그래프에 W 축을 추가하면이 혼동도 없을 것입니다.)
Little Endian

답변:


46

좌표축의 방향은 결정 평면이 다른 여러 영역에서 이월 된 것으로 생각하고 X / Y는 그 결정 평면과 정렬되었습니다. 일부 응용 분야에서는 접지면이 가장 중요하므로 X / Y는 접지 였고 Z는 그에 수직이되었습니다. 그러나 게임의 경우 결정적인 평면은 일반적으로 화면입니다 (특히 물론 2D 였을 때 3D로 전환하기 시작했을 때). 따라서 X / Y는 화면이었습니다.

가장 큰 두 가지 3D 아트 도구 인 3ds Max와 Maya의 차이점을 확인할 수 있습니다. Z 축은 건축 도구에서 자랐기 때문에 3ds Max로, Y 축은 영화 제작 도구에서 자랐기 때문에 Maya에서 올랐습니다.

특정 도구를 학교에서 배운 것과 비교할 때 알아야 할 중요한 것은 도구가 모두 임의적이라는 것입니다. 모든 좌표가 일관되게 유지되고 다른 좌표계간에 올바르게 변환되는 한 축이 가리키는 방법은 중요하지 않습니다.


3

3D로 만들 수 있었던 모든 것이 화면 공간 회전 큐브 또는 시차 스크롤 또는 이와 유사한 것이었던 시절부터 대부분 레거시입니다. 이러한 응용에서 X와 Y는 스크린 평면의 축이므로 Z는 "깊이"였습니다. 데모가 더욱 발전함에 따라 원래의 규칙은 그대로 유지되었습니다.

정확히 오늘날의 게임에 Y가 세로 축으로 표시되는 이유에 대해서는 차이를 설명하지 않는 저조한 자습서가 많이 있습니다. 일반적으로 X 및 Y 축에 기본 이동 평면을 두는 것이 가장 유용합니다 (대부분의 2D 계산에는 코드에서 축 교체가 필요하지 않음). 대부분의 사이드 스크롤러의 경우 스크린면 (X / Y)과 자연스럽게 일치합니다. 어드벤처 게임 등의 경우 X / Y는 게임 내 맵, 게임 패드 컨트롤, 지형 높이 맵 및 기타 여러 가지 사항에 완벽하게 매핑되므로 수평면 (중력 방향에 수직)으로 훌륭하게 작동합니다.


2

제가 Y = 위 / 아래로 수집 한 한 Z = 깊이는 중력이 항상 (-Y) 방향 인 물리를 기반 으로하며, 3D를 추가하면 기본 을 바꾸고 싶지 않다는 것을 의미합니다 . 깊이가되었습니다.

Z = 위 / 아래 방법에서는 수학자에게 되돌아갑니다. Z 축이 확장되었을 때 테이블에 평평한 용지에 X / Y가 그려 졌기 때문에 X / Y가 용지에서 나오기 때문에 올라갔습니다. 많은 엔지니어도이 규칙을 사용합니다.

주어진 도구가 사용하는 규칙과 관련하여 Maya 및 Unity에는 Y-up이 있습니다 (물리적 배경을 가진 사람이 설계했을 것입니다). 3DsMax와 Unreal에는 Z-up (수학자 / 엔지니어가 설계 한 것)이 있습니다. 그러나 일관성있는 시스템을 사용해야했기 때문에 이것들은 언젠가는 분할 된 결정일 수 있다고 말할 수 있습니다.

이 질문은 모델링 도구에 초점을 맞추고 게임 개발 Q & A 사이트에 있습니다. 내보낼 좌표계를 조사하고 그 좌표계를 준수하는지 확인하십시오.

또한 일부 시스템은 축 시스템이 하드 세트이고 영구적이며 다른 시스템은 수정할 수 있음을 알고 있습니다 (블렌더 및 언리얼에서 변경 될 수 있지만 오해 할 수 있음).


1

게임에 사용되는 좌표계는 모니터의 치수를 기반으로하기 때문입니다. 컴퓨터가 무언가를 렌더링하면 왼쪽 상단에서 시작하여 [0, 0]의 x 및 y 좌표를 제공합니다. 렌더링이 화면의 오른쪽으로 진행됨에 따라 렌더링이 아래로 이동하면 x 값이 증가하고 y 값이 증가합니다. 좌표계는 기본적으로 2D 공간의 좌표계입니다. 단 원점은 화면 중앙이 아니라 왼쪽 위 모서리에 있습니다.

3DsMax 및 Maya와 같은 3D 패키지에서는 중요한 것에 따라 x 및 y 좌표에 대한 자체 정의가 있습니다. 3DsMax는 건축 설계를 기반으로합니다. 2D 평면에 회로도를 그리면 y가 올라갑니다. 애니메이션에 주로 사용되는 Maya에서는지면이 x, y이고 높이가 z입니다.


Maya에서 화면은 X / Y이고 Z는 화면에 수직입니다.
jhocking

문제는 "어떻게"가 아니라 "왜"라는 질문이기 때문에, 왜 그런지에 대한 이유가없고, 그것이 어떻게 되풀이 되는지에 대한 이유가 없다.
Maik Semder

공정성에서 첫 번째 단어는 "왜냐하면"입니다. 이 답변은 이유에 대한 설명으로 시작합니다. 어쩌면 좋은 설명은 아니지만 설명입니다.
jhocking
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.