"2.5D"라는 용어의 의미를 이해하지 못합니다. 두 가지에 대한 다른 정의와 기사를 읽었지만 2.5D와 3D 환경의 차이점에 대해 특히 혼란스러워합니다. 2.5D가 3D와 같은 부분을 이해하지만 2.5D가 다른 부분은 얻지 못합니다.
그렇다면 게임이 2.5D라는 것은 무엇을 의미합니까? 예를 들어 게임이 2.5D로 표시됩니까?
"2.5D"라는 용어의 의미를 이해하지 못합니다. 두 가지에 대한 다른 정의와 기사를 읽었지만 2.5D와 3D 환경의 차이점에 대해 특히 혼란스러워합니다. 2.5D가 3D와 같은 부분을 이해하지만 2.5D가 다른 부분은 얻지 못합니다.
그렇다면 게임이 2.5D라는 것은 무엇을 의미합니까? 예를 들어 게임이 2.5D로 표시됩니까?
답변:
이미 알고 있듯이 2D 및 3D 라는 용어 는 유클리드 세계 공간의 공간 차원 수를 나타냅니다. 이 차원은 서수 여야합니다. 반 차원 과 같은 것은 없으므로 2.5D 라는 용어 는 실제로 의미가없는 용어이며 본질적인 의미는 없습니다. 즉, 2.5는 2와 3 사이의 "어딘가에"이므로 2.5D는 일반적으로 "2D와 3D 사이의"어딘가에있는 것을 의미합니다.
개인적으로 저는 게임의 그래픽 공간 공간과 논리 공간 공간의 차원이 다른 경우를 말합니다. 특히 여기에는 두 가지 변형이 있습니다.
이 용어의 또 다른 일반적인 사용 (내가 사용하는 것은 아니지만)은 3D와 광고판 2D 그래픽 의 조합을 이용하는 게임을 말합니다 . 이 경우이 용어는 게임의 논리적 차원을 전혀 설명하지 않습니다. 사실상 모든 3D 게임은 파티클 시스템, 먼 오브젝트 프록시 및 월드 내 UI 오버레이를 포함하여 어떤 방식 으로든 빌보드를 사용합니다. 따라서이 용어는 일반적으로 배경이 아닌 객체의 상당 부분이 2D 그래픽을 사용하고 2.5D와 3D의 경계가 다소 흐릿한 경우에만 사용됩니다.
내가 아는 첫 번째 게임은 "2.5D"라는 용어가 Doom이었습니다 (Wolfenstein 3D도 어떤 의미에서 자격을 갖추 었음에도 불구하고).
Wolfenstein 3D는 기본적으로 3D 프리젠 테이션이있는 2D 게임이었습니다. 2D 미로를 탐색하고 모든 바닥이 평평하고 모든 천장이 같은 높이에 있었으며 창문이 없었으며 문이 바닥에서 천장까지오고 옆으로 열렸으며 다른 물체의 위나 아래에있을 수 없었습니다. 이 게임은 레이 캐스팅을 사용하여 화면의 각 열에 대해 벽이 그 방향으로 얼마나 멀리 떨어져 있는지, 벽의 질감은 무엇인지 알아 냈습니다. 벽 질감의 기둥은 거리에 반비례하는 높이로 그려졌으며 위와 아래의 공간은 바닥 채우기와 천장 채우기로 페인트되었습니다. 적과 물체는 제한된 수의 측면을 가진 스프라이트였으며 크기는 다시 거리에 비례합니다.
Doom은 Wolfenstein 3D와 매우 유사한 기술을 사용했지만 더 많은 3D 경험을 얻기 위해 남용했습니다. 지도는 여전히2D는 2D 이진 공간 분할을 사용하여 표시됩니다 (따라서 .BSP 맵 파일 이름). 탭을 눌렀을 때 오토 맵에서 본 것은 맵의 직접적인 2D 렌더링이었습니다. 그러나 각 부문은 독립적 인 "바닥 높이"와 "천장 높이"를 가졌으며 가장자리는 상단 및 하단 측면 텍스처를 가졌습니다 (그들은 주변의 일부보다 천장 높이가 낮거나 바닥 높이가 높을 때 사용). 이로 인해 계단, 창문, 플랫폼, 수영장 및 기타 효과가 가능해졌습니다. 엔진은 결국 벽에 부딪 치기 전에 통과 된 여러 섹터의 목록과 해당 텍스처를 유지할 수 있어야했습니다. 그러나 여전히 실제 3D 아키텍처를 가질 수 없었습니다. 바닥 부분을 사용하여 점액을 가로 질러 "브릿지"를 만들 수는 있지만 어떤 것도 아래에 놓을 수는 없습니다.다리. 게임에서의 위치는 여전히 X와 Y입니다. 플레이어가 자신의 키를 넘어서는 유일한 컨트롤은 물건에서 떨어지고 엘리베이터는 바닥 높이를 변경하도록 스크립트 된 섹터입니다. 적들은 여전히 스프라이트 (더 많은 측면을 가지고 있다고 생각하지만) 충돌 탐지는 2 차원에 불과하기 때문에 높이가 "자동 조준"되고 게임에 3D 모델이 없었습니다.
Heretic과 Hexen은 때때로 "2.75D"라고 불릴 정도로 한 단계 더 발전된 Doom 파생 엔진을 사용했습니다. 그들은 건축상의 한계와 스프라이트에 기반한 적이 거의 같았지만 플레이어가 위아래로 볼 수있는 기능을 추가했습니다 (보기까지 기울이지 만 엔진은 고장날 수 있습니다). (높이를 독립적으로 변경).
주로 비디오 게임 산업에서 2.5D ( "2 차원 및 2 차원"), 3/4 투시 및 의사 -3D ar 용어는 일련의 이미지를 유발하는 데 사용되는 2D 그래픽 프로젝션 및 유사한 기술을 설명하는 데 사용됩니다. (또는 장면) 실제로 3D (3D) 인 것처럼 보이지 않거나 2D 평면으로 제한된 다른 3D 비디오 게임에서 게임을하는 모습을 시뮬레이션합니다.
내 경험에서 정의가 강조되는 것은 대화하는 사람의 나이에 달려 있습니다.
나이가 많은 게이머는 1 차 정의를 사용하는 경향이 있습니다. " 2D 그래픽 프로젝션 및 유사한 기술을 사용하여 일련의 이미지 (또는 장면)가 실제로 "
더 어린 게이머는 2 차원 평면에 제한된 다른 차원의 비디오 게임에서 2 차 정의 " 게임 플레이 "를 사용합니다 .
개인적으로 나는 두 번째 정의를 사용합니다. Trine, Donkey Kong 및 Super Mario Bros Wii U는 모두 2.5D라고 생각합니다. 또한 2.5D Steam 태그 는 두 번째 정의를 사용합니다. 나는 이것이 전형적인 게이머가 개념을 어떻게 정의하는지에 대한 좋은 리트머스 테스트 라고 생각합니다.) 따라서 나는 두 번째 정의가 더 정확하다고 생각합니다 .
3 차원으로 계산 된 3D 게임 그래픽이있는 모든 비디오 게임. 이것은 두 번째 2.5D 정의의 상위 집합입니다.
2.5D는 3D로 보이는 2D를 말하는 편리한 방법입니다.
나는 예를 들어, 당신은 단지 2 차원 평면에 게임을 3 차원 엔진을 사용하지만, 제한, 경우에 당신이 정말로 정의의 라인을 흐리게 할 수 supose하지만 개인적으로 나는 그것이 뭔가 2.5D를 생각 하는데요 보이는 3D를하지만 역할 2D합니다.
게시 한 게임 스크린 샷은 3D 게임입니다.
3D 게임에서 정점을 사용하여 객체를 그려 실제 3D 객체를 그립니다.
2D 게임에서 오브젝트는 스프라이트 / 스프라이트 시트 등에서 가져옵니다.
둘의 차이점은 어떻게 볼 수 있는지입니다. 스프라이트는 평평한 종이와 같습니다. 다른 피치 나 각도로 볼 수 없거나 스프라이트가 기울어집니다. 3D 객체에서는 카메라가 움직일 때 객체가 3D이기 때문에 객체의 다른 부분을 볼 수 있습니다.
2.5D 게임에서는이 두 세계를 결합합니다. 다른 각도를보기 위해 카메라를 움직일 수없고 3D가 아닌 게임을 만들지 않기 때문에 명심하십시오. 이것을 결정하는 것은 그 안에있는 객체입니다.
2.5D 게임의 좋은 예는 Ragnarok Online입니다. 2.5D를 만드는 이유는 세계가 대부분 3D 객체로 훼손된 것입니다. 건물, 조경 등은 질감이있는 3D 객체입니다. 오버 헤드 카메라를 회전시키면서 동시에이 물체의 다른면을 볼 수 있습니다. 건물 앞면과 왼쪽 / 오른쪽 / 지붕 영역을 볼 수 있습니다. 그러나 플레이어는 위쪽에 서있는 것처럼 보이는 2D 스프라이트입니다. 카메라를 너무 많이 돌리면 게임에서 해당 캐릭터가 서있는 것처럼 보이는 스프라이트 시트의 다른 셀을로드해야합니다. 캐릭터가 3D가 아니기 때문에 캐릭터의 다른 각도를 볼 수 없습니다. 카메라의 시야에 따라 각도가 동적으로로드됩니다.
http://sprites.technoized.com/images/sprite/ro/gm_m.png
게임의 스프라이트 시트입니다. 방금 살펴 본다면 2D 게임에서 나온 것으로 가정합니다. 혼자, 당신은 맞을 것입니다. 그러나 일단 3D 세계에 배치되면 2.5D 게임이됩니다.
2.5D
단지 인간의 해석 등이 이것에 대해 기술적 인 것이 아니기 때문에 오도하는 것이라고 생각 합니다. 예를 들어 3D 환경에서 모든 것 (텍스처 쿼드 등)에 Billboard 기법을 사용 하고 있다면 항상 앞쪽에서 회전한다면 게임은 무엇입니까? 어떤 사람들은 2.5D라고 말할 수 있지만 Z- 깊이가 있기 때문에 대부분의 팩은 3D라고 말할 것입니다. 기술적으로 3D 정점 (따라서 z 차원)을 사용하면 3D이고 X / Y 만 사용하면 (예 : Super Mario bros ) 2D입니다. 그러나 3D 환경 (캐릭터 포함)에서 2D (x / y) 만 사용하는 경우 여전히 해석상 3D이지만 2.5D 입니다.
2.5D는 종종 "아이소 메트릭"이라고하는 또 다른 방법입니다. 2D 그래픽은 3D 모양을 나타내지 만 실제로는 3D 좌표를 시뮬레이션하지는 않습니다. 아이소 메트릭 그래픽에 관한 Wikipedia 기사를 참조하십시오 : http://en.wikipedia.org/wiki/Isometric_graphics_in_video_games_and_pixel_art
요점은 2.5D / 아이소 메트릭에서 그래픽을 계산하기 위해 x와 y 축만있는 2D 좌표계를 사용하고 있다는 것입니다. 그래픽은 단순히 2D 스프라이트 일 수 있으며 일반적으로 세 개의면을 볼 수 있도록 그려지고 (x, y) 좌표를 사용하여 화면에 배치됩니다. 때때로 스프라이트는 3D로 모델링 한 다음 여러 각도에서 3D 모델의 2D 스프라이트를 만들어서 생성되기도합니다.
움직이는 물체는 특징적으로 볼 수있는 각도가 거의 없습니다. 등각 투영 뷰에서 문자를 회전 시키면 부드럽게 회전하지 않지만 정면, 3/4, 측면 등과 같은 여러 가지 각도가 나타납니다. 각 고유 한 화각에는 완전히 새로운 스프라이트 세트가 필요하기 때문입니다.
아이소 메트릭 게임은 일반적으로이 유형의 시스템의 한계 때문에 하나의 카메라 각도 만 지원합니다. 아이소 메트릭 게임의 또 다른 특징은 일반적으로 소실점이 없다는 것입니다. 실물로 물체를 볼 때 물체가 더 가까이 있으면 물체가 시야에서 더 크게 나타납니다. 물체가 멀어지면 작게 나타납니다. 등각 투영 게임에서 모든 객체는 공간의 어디에 있든지 동일한 크기로 나타납니다.
3D 게임을 비교하면 x, y 및 z의 3 축을 모두 시뮬레이션 할 수 있습니다. 매우 낮은 수준에서 컴퓨터는 x, y 및 z를 x에서 y로 변환하여 모니터에 표시하지만, 더 높은 수준에서는 아티스트가 실제로 3 축에서 점을 조작하여 개체를 나타냅니다. 컴퓨터에는 물체의 모양에 대한 모든 정보가 있기 때문에 물체가 어떤 각도에서 보이는지 동적으로 계산할 수 있으며 물체가 가까워지면서 작아 지거나 커질 수 있습니다.
일부 게임은 2.5D와 실제 3D가 혼합되어 있습니다. 내가 생각할 수있는 예는 3D 배경과 2D 스프라이트를 특징으로하는 Disgaea 시리즈입니다.
더 잘 정의 된 정의가 무엇인지 잘 모르겠지만 이전 회사의 직원은 "아이소 메트릭 3D처럼 보이지만 2D 스프라이트를 통해 렌더링되는 모든 게임"을 2.5D로 간주했습니다.
이제 왜 그렇게했는지 설명하겠습니다. 일반적으로 오브젝트가 많은 3D 세계를 렌더링하면 처리에 너무 많은 압력이 가해져 FPS 수가 줄어 듭니다. 이를 극복하기 위해 일반적으로 Maya와 같은 3D 렌더링 소프트웨어에서 오브젝트를 생성하고 스프라이트로 렌더링했습니다. 게임에서 사용할 수 있습니다. 렌더링하는 동안 각도가 고려되었다는 것은 말할 것도 없습니다. 이 기술에 대해 게시자와 이야기하기 위해 일반적으로이 용어를 사용했습니다. 2D 세계처럼 보이는 3D 세계는 여전히 기술적으로 3D입니다. 따라서 일반적으로이 방법에는이 용어를 사용하지 않았습니다. 나는 여기에 내 비트를 공유해야한다고 생각했다.
일반적으로 "2.5-D"라는 용어는 서로 다른 두 가지 게임 스타일 중 하나를 나타냅니다.
다음 중 하나를 의미 할 수 있습니다.
1) 2D 렌더링 기술을 사용하지만 3 개의 공간 크기를 제어하는 게임. 일반적으로 그래픽 트릭을 사용하여 마치 실제로 3D로 렌더링 된 것처럼 보입니다. 이것은 90 년대에 매우 흔했지만 오늘날에는 그리 많지 않았습니다. (예 : "DOOM", "Duke Nukem 3D", "Wolfenstein 3D")
2) 완전히 3D로 렌더링되었지만 하나 이상의 2D 평면을 따라 독점적으로 제어되는 게임. 이 스타일은 오늘날에도 여전히 인기가 있습니다. (예 : "Little Big Planet", "New Super Mario Bros.", "Trials HD")
한 가지 주목할 점은 모델 뷰 컨트롤러 아키텍처 패턴을 사용할 때 첫 번째 게임 스타일에는 3 차원 데이터를 나타내는 "모델"과 2 차원 사용자에게만 표시하는 "뷰"가 있다는 것입니다. 두 번째 스타일의 게임은 다른 방법입니다.
2.5D에서는 2D 자산 / 렌더링 기술을 사용하여 3D 환경의 느낌을줍니다.
이제 이러한 정의를 통해 다음과 같은 모호한 시나리오에서 약간의 정교함이 필요합니다.
게임 A
3D 그래픽을 사용하면 고정 카메라 각도로 GPU 가속 및 모든 (게임 오브젝트는 이미지가 아니라 메시 임) 가속됩니다. 더 나쁘게 만들면 투영은 직교, 고전적인 63.43 도입니다. 그래픽이 2D가 아니라는 것을 한 눈에 알아볼 수있는 유일한 방법은 3DGC는 매우 조심스럽게 렌더링한다는 점을 제외하고는 렌더링에 사용 된 투영과 상관없이 손으로 그리는 스프라이트와 쉽게 구분되기 때문입니다. 다른 렌더 기법, 매개 변수, 쉐이더 등을 실험 해 볼 수 있으며 3D 메시라는 사실을 숨기려 고생 할 것입니다.
게임 B
게임 A의 포트이지만 3D 그래픽을 잘 처리하지 않거나 전혀 처리하지 않는 하드웨어가있는 플랫폼을 대상으로합니다. 그런 다음 포트는 메시를 스프라이트로 교체합니다. 예를 들어 충돌에는 여전히 3D 경계 상자를 사용하고 게임 논리는 대부분 터치하지 않았거나 전혀 터치하지 않았으므로 렌더링 코드 만 변경되었으므로 오브젝트에는 x, y 및 z 값이있는 위치 속성이 있습니다.
게임 B의 스프라이트는 게임 A의 3D 에셋의 렌더링이며, 더 모호하게하기 위해 게임 A는 복잡한 쉐이더가 필요한 작업을 수행하지 않으므로 모든 GPU의 99 %에서 프레임을 게임과 구별 할 수 없습니다 게임 A의 프레임 B
2.5D에서 게임 개체 간의 상호 작용은 3D의 환상을 손상시킬 수없는 상황으로 제한됩니다. 예를 들어, 포옹하는 두 문자를 나타내려면 두 문자가 상호 작용하는 단일 이미지 파일을 만들어야합니다. 문자 당 하나의 이미지 만 사용하여 포옹 동작을 나타내는 것은 너무 어렵거나 불가능하기 때문입니다. 어쩌면 캐릭터 본체를 여러 부분으로 나눠서 올바른 순서로 그릴 수 있습니다. 3D에서는이 문제가 존재하지 않습니다 (다른 문자가 있습니다. 두 문자가 올바르게 포즈되어 다른 문자의 메시에 침투하지 않습니다).
이제 이것을 시각화하기 위해 게임 A와 B에 상황에 따라 플레이어 캐릭터가 다른 게임 객체를 통과 할 수있는 버그가 있다고 생각하면 2.5D와 3D를 쉽게 구분할 수 있습니다.
게임 B, 2.5D 렌더, 스프라이트는 위치 벡터의 z 값으로 정렬됩니다. 이 예에서 양수 z는 작동 중지되고 음수 z는 작동됩니다. z 축과 y 축은 평행하지만 z의 배율은 y의 0.5 배입니다. 보이는 영역이 10y에서 -10y이면 같은 영역에 20z에서 -20z가 있습니다. z가 더 큰 객체는 후자가 그려 지므로 z가 더 낮은 객체 앞에있는 것으로 보입니다. 그림자가 바닥보다 우수한 레이어에 있지만 다른 모든 객체보다 열등한 레이어에 있기 때문에 플레이어 캐릭터의 그림자는 이상하게 보입니다. 따라서 플레이어 캐릭터 그림자는 절대 큐브 위에 있지 않습니다.
게임 A, 3D 렌더링. 심도 버퍼 (z 버퍼라고도 함)는 픽셀 정밀 심도 테스트에 사용됩니다. 따라서 물체가 다른 물체를 완전히 막을 필요는 없으며, 삼각형조차 다른 물체를 완전히 막을 필요가 없으며 픽셀 정밀도 심도 테스트가 있습니다. 우리는 어떤 방식 으로든 게임 오브젝트를 회전시킬 수 있으며, 상호 작용할 때 실제 결과를 얻을 수 있습니다.
이력서 : 2.5D에서 스프라이트는 다른 스프라이트의 앞 또는 뒤에 있습니다. 3D에서 메쉬는 삼각형으로 만들어 지지만 깊이를 테스트 할 때 삼각형이 최소 단위가 아니므로 픽셀 정밀도를 가질 수 있습니다. 물론 고정 된 카메라 각도에 대한 자산이 생성 되었기 때문에 2.5D에서의 카메라 회전은 불가능합니다. 반면 3D 게임에서는 카메라의 각도가 3D 게임에서 디자인에 의해 제한되는 경우 또 다른 주제입니다.
2D 그래픽 만 렌더링 할 수있을 때 3D 세계에있는 느낌을주는 여러 가지 트릭이 있습니다. 저는 버려진 프로젝트의 일부 자산을 사용하여 신속하게 제작 된 예제 만 제시했습니다.
왜 항상 3D를 사용하고 2.5D를 잊어 버리지 않습니까?
글쎄, 개발자가 왜 2.5D 접근 방식을 선호 할 수 있는지에 대한 몇 가지 예를 생각해 볼 수 있습니다.
2.5D를 사용하여 3D 그래픽의 결과를 대략적으로 계산할 수 있습니까?
성능 및 프로그래밍 복잡성 지평이 있습니다. 그 지평에 가까워지면 프로젝트가 2.5D로 가능한지 또는 풀 3D로 가야하는지 의심하기 시작합니다. 예를 들어, 2.5D (이론상)에서 z- 버퍼링을 사용할 수 있지만 비디오 메모리 비용을 지불 할 수 있습니까 (강력한 모바일 장치가 아닌 온보드 그래픽이있는 오래된 데스크탑 컴퓨터)? 모든 스프라이트의 z 마스크를 저장하기 위해 추가 이미지를 저장하는 데 드는 스토리지 비용을 지불 하시겠습니까?
2.5D의 좋은 후보는 RPG 게임이고 Baldur의 Gate 시리즈 또는 RTS는 Age of Empires 1과 2를 생각합니다 (AoE 3은 완전히 3D이며 쉽게 구별 할 수 있음).
유용한 참고 자료 :
Z- 버퍼링 : http://en.wikipedia.org/wiki/Z-buffering
직교 투영법 : http://glasnost.itcarlow.ie/~powerk/GeneralGraphicsNotes/projection/orthographicprojection.html