게임에서 2D와 3D를 결정할 때 고려해야 할 사항은 무엇입니까? [닫은]


68

다음과 관련하여 2D보다 3D가 "더 딱딱한"정도 :

  • 코드의 양 / 복잡성
  • 필요한 수학 능력 수준
  • 미술 자산 제작에 소요되는 시간

원제 : 3D 게임 개발과 2D는 얼마나 어려운가요?


27
한 차원 더 어렵다 :)
Ólafur Waage

5
Waay 주관적인 ...
Cyclops

흠 ... 나는 실제로 @munificent의 대답을 정말로 좋아 한다고 말했습니다 . 이제이 질문을 어떻게 분류하고 있는지 잘 모르겠습니다. : 그것은에 대한 매우 옳지 않아 메타 , 중 ... 젠장이 가장자리의 경우 . :)
Cyclops

2
코드 복잡성, 수학 수준 및 시간은 나에게 비교적 객관적인 객관적인 척도처럼 보입니다.
Brian Ortiz

@ 브라이언은, 그래, 나는 우리가 취소 할 수 있으면 좋겠다 가까운 표를. :) 다시 평가하면 문제의 일부는 제목 - "X 대 Y가 얼마나 어려운가?" 라는 제목 이라고 생각 합니다. 더 나은 제목은 "3D 개발과 2D의 차이점은 무엇입니까?"입니다. (변경 될 수 있습니까?). 제목을 다루는 한 줄짜리 있지만 실제로 @munificent 가 대답 한 질문입니다 . :)
Cyclops

답변:


127

3D는 2D보다 훨씬 어려운 순서입니다.

프로그램 작성:

  • 수학은 렌더링, 물리, 충돌 등에 대해 훨씬 더 복잡 합니다. 행렬과 벡터를 좋아하길 바랍니다!
  • 이전 시점으로 인해 좋은 성능을 달성하기가 훨씬 더 어렵습니다 . 오늘날의 하드웨어를 사용하면 적극적으로 어리석지 않고 성능에 대해 생각할 필요없이 멋진 2D 게임을 만들 수 있습니다. 3D를 사용하면 최적화가 필요합니다.
  • 데이터 구조는 훨씬 더 복잡합니다. 이전의 점 때문에, 컬링, 공간 파티셔닝 등에 대해 생각해야 할 것입니다.이 모든 것이 단순한 "레벨에있는 모든 것의 목록"입니다.
  • 애니메이션은 훨씬 더 복잡합니다. 2D 애니메이션은 각 프레임마다 위치가 다른 프레임의 필름 스트립 일뿐입니다. 3D를 사용하면 별도의 애니메이션 자산, 뼈, 스키닝 등을 처리해야합니다.
  • 데이터의 양이 훨씬 더 큽니다. 지능적인 리소스 관리를 수행해야합니다. 게임에는 수많은 콘텐츠가 포함되어 있지만 콘솔에는 메모리가 거의 없습니다.
  • 파이프 라인은 개발 및 유지 관리가 더 복잡합니다. 애셋을 엔진이 선호하는 형식으로 가져 오려면 코드가 필요합니다. 그 코드는 스스로 작성하지 않습니다.

미술:

  • 물론 자산은 훨씬 더 복잡합니다. 텍스처, 모델, 리그 / 스켈레톤, 애니메이션 등이 필요합니다. 도구는 훨씬 더 복잡하고 비싸며, 찾기가 더 어렵습니다.
  • 필요한 기술 세트가 더 넓습니다. 좋은 애니메이터는 종종 좋은 텍스처 아티스트가 아닙니다. 좋은 라이터는 좋은 트리거가 아닐 수 있습니다.
  • 자산 간의 종속성이 더 복잡합니다. 2D를 사용하면 여러 아티스트에 걸쳐 자산을 깔끔하게 분할 할 수 있습니다.이 녀석은 레벨 1,이 녀석은 적 등입니다. 3D를 사용하면 애니메이션이 골격에 영향을 미치는 리그에 영향을 미치며 모델에 영향을 미치는 라이팅에 영향을 미쳐 조명에 영향을 미치는 텍스처에 영향을 미칩니다 ... 당신의 예술 팀은 신중하고 지속적으로 조정해야합니다.
  • 기술적 한계는 다루기가 더 복잡합니다. 2D에서는 기본적으로 "여기에는 팔레트와 최대 스프라이트 크기가 있습니다". 3D를 사용하면 아티스트가 텍스처 크기 (정사각형, 색상, 법선 등의 여러 텍스처의 경우), 다각형 수, 키 프레임 수, 뼈 수 등의 균형을 맞춰야합니다. "뼈가 23 개 이상이면 엔진 X가 폭발합니다!").
  • 자산 처리에 시간이 더 걸립니다. 3D 에셋을 게임용 형식으로 변환하는 파이프 라인은 복잡하고 느리고 종종 버그가 있습니다. 따라서 아티스트가 게임에서 변경 사항을 보는 데 시간이 오래 걸리므로 속도가 느려집니다.

디자인:

  • 사용자 입력이 나쁜 것입니다. 카메라 추적, 사용자 입력을 캐릭터의 공간으로 직관적으로 변환, 2D 선택을 월드 공간으로 투영 등을 처리해야합니다.
  • 레벨은 작성하기가 어렵습니다. 레벨 디자이너는 기본적으로 게임 디자이너와 건축가의 기술이 필요합니다. 그들은 레벨을 구축 할 때 플레이어가 길을 잃거나 가시성 등을 고려해야합니다.
  • 레벨 물리학은 지루합니다. 레벨 물리에서 플레이어가 세계에 갇히거나 떨어질 수있는 갭과 버그가 없는지 확인하고 다시 확인하고 다시 확인해야합니다.
  • 도구가 훨씬 어렵습니다. 대부분의 게임에는 레벨과 같은 것을 제작하기위한 자체 도구가 필요합니다. 내용이 훨씬 복잡하기 때문에 도구를 만드는 데 더 많은 작업이 필요합니다. 일반적으로 버그가 많고 불완전하며 사용하기 어려운 도구가 생성됩니다.

2
훌륭한 답변입니다. 나는 이것이 더 주관적이라고 생각했지만, 당신은 그것을 매우 명확하게 배치했습니다. 실제 숫자 가 아닐 수도 있지만 (3.5 배 더 어려워), 순서가 더 어려워지는 경우가 있습니다.
Cyclops

5
+1 못 박았다. 이 질문은 주관적이지 않습니다. 우리는 완전히 다른 두 세계에 대해 이야기하고 있습니다. 어려움이 본질적으로 증가합니다. 천재 수준에서 당신의 생각을 시작하지 마십시오 ...
David McGraw

훌륭한 답변!
zebrabox

1
나는 (저자의 단어를 사용하기 위해) 몇 가지 크기로 내 대답이 구타되는 것을 본다. 내가 생각한 적이없는 많은 것들을 배웠기 때문에 정말 훌륭합니다. 잘 했어!
Toby

좋은 대답입니다. 제가 3D에 유리하게 생각한 또 하나의 생각은, 시작할 때 2D보다 3D 개발과 관련된 리소스를 찾는 것이 훨씬 더 쉽다 는 것 입니다. 그러나 5 년 전에는 그 상황이 바뀌었고 그 이후로 풍경은 상당히 바뀌 었습니다.
앤드류 러셀

11

더 열심히. 2D 게임을 만드는 것이 편하지 않다면 3D 게임을 만드는 데 마음에 들지 않을 것입니다.

좋은 소식 : 99 %의 시간이 필요하지 않습니다. 할 수있는 3D 게임을 생각해보십시오. 카메라를 가져다가 천장을 아래로 향하게하여 2D 평면을 봅니다. 운명은 건틀렛이됩니다. Civ IV는 Civ I가됩니다. 메탈 기어 솔리드는 원래 메탈 기어가됩니다. 이 게임들 중 어느 것도 2D이기 때문에 "나쁜"것은 아닙니다. 그들은 완벽하게 재생할 수 있으며 일반적으로 동일한 게임 플레이를 많이 가지고 있습니다.


5

대체로 3D는 단순화보다 더 많은 어려움을 초래할 것입니다. 그러나 3D 게임에서 실제로 더 쉬운 몇 가지 사항을 추가하고 싶습니다.

  • 플레이어 사용자 정의. Team Fortress 2가 각 클래스마다 20 개의 애니메이션이있는 2D 플랫 포머라고 상상해보십시오. 이제 마케팅 책임자가 게임에 모자를 추가하도록 제안했다고 상상해보십시오. 이것은 모든 클래스에 대해 20 개의 새로운 스프라이트 시트를 의미합니다. 다른 기타 항목을 추가하기로 결정한 경우에만 확장됩니다. 내가 일한 한 회사가이 좌절에 부딪쳤다.
  • 캐릭터의 움직임. 리깅과 애니메이션 작업은 확실히 간단한 작업은 아니지만 캐릭터가 복잡하면 결국 2D보다 작업이 쉬워 지므로 각 포즈에 대해 캐릭터를 완전히 다시 그립니다. 실제로 2D 게임에서 우수성의 첫 번째 표시는 제작자가 추가 애니메이션을 위해 캐릭터를 다시 그리려는 횟수입니다.
  • 엔진을 찾는 중입니다. 코딩없이 3D에서 1 시간 이내에 간단한 플랫 포머를 만들 수 있지만 2D에서는 약간 더 오래 걸릴 수 있습니다. 당신은 분명히 몇 가지 좋은 2D 엔진을 찾을 수 있지만 솔직히 아무것도 나를 위해 떠오르지 않습니다. Ogre3D 나 다른 3D 엔진과 같은 인기를 얻었습니다. 3D에는 UDK, Unity 및 훨씬 더 많은 프레임 워크가 있습니다. 이 중 일부는 2D의 복잡성이 줄어든다는 것은 아마추어가 XNA를 기반으로 자신의 글을 작성하는 것이 그리 어렵지 않다는 것을 의미 할 수 있습니다. (또한 언급 된 3D 엔진 중 일부는 2D 게임을 만들 수 있습니다.)

3

답변은 개인 취향 / 경험 / 지식 / 지능에 달려 있기 때문에 매우 주관적인 질문입니다.

나는 중립적으로 대답하려고 노력할 것이지만, 나는 프로그래머이자 예술가가 아니기 때문에 마지막 포인트에 대해서만 가설을 세울 수 있습니다.

수학 및 렌더링 / 물리학을 제외하고 코드 복잡성은 크게 다르지 않아야합니다. 건전한 추상화 수준을 취하면 게임 로직은 크게 다르지 않습니다 (너무 많지 않습니다-적어도 엔진에서 게임을 만들려고하지 않습니다. 적어도 귀하의 질문에서 추측합니다). 운동을 계산하는 것이 훨씬 쉽습니다. 원근감이 제한되어 있기 때문에 2D로 세 축을 다룰 때 물리학은 더 어렵습니다. 또한 비트 맵에서 Sprite를로드하는 것은 3D 모델을로드하는 것 (및 텍스처링)보다 훨씬 쉽습니다.

수학은 3D에서 더 복잡합니다 (두말할 필요없이 실제로 쿼터니언, 벡터, 행렬).

예술의 경우 가능한 모든 시야각 (또는 적어도 넓은 범위)에서 좋아 보이는 예술을 만들어야하고 일반적으로 물건을 질감하려고하기 때문에 3D도 더 어려워 야한다고 생각합니다. 메쉬를 애니메이션으로 만드는 것은 현실감에있어 소풍이 아니며 텍스처가 함께 재생되는 것도 아닙니다.


스프라이트를로드하는 것이 모델을로드하는 것보다 쉬운가요? 모델에는 스켈레톤, 스키닝, 쉐이더, UV 좌표, 텍스처, 노멀 맵 등이 포함됩니다. 스프라이트는 이미지입니다. 그 헛된 결과에 따라 3D 아트는 위에 나열된 것들 때문에 훨씬 더 어려워집니다.
Sean James

죄송합니다. 오류입니다. 지적 해 주셔서 감사합니다. 교정 할 때 등록하지 않을 정도로 너무 부드러 웠을 것입니다.
Toby

3

고려해야 할 또 다른 사항은 3D 게임에서 기존 엔진 사용을 고려하고 엔진이 아닌 게임을 만드는 데 집중하고 싶을 것입니다. 어쨌든 3D 게임에서 걸리는 시간과 어려움을 줄이는 데 도움이 될 수 있습니다 (시민에게 잘 식별 됨).

2D 게임 환경을 구축하는 것이 훨씬 쉽습니다. 그러나 스프라이트, 사운드, 이식성 라이브러리도 사용할 수 있습니다. 교육 목적을 제외하고 바퀴를 재발 명할 필요가 없습니다.

명백한 것 같지만 말할 가치가 있다고 생각했습니다.


2

2D 성능이 실제로 낮은 폴리 3D 모델보다 뒤 떨어질 수있는 모바일 장치에 대해 흥미로운 고려 사항 하나를 제공 할 수 있습니다.

1) 지정된 시간에 화면에서 많은 스프라이트를 처리 할 때 채우기 속도로 인해 약간의 성능 문제가 발생할 수 있습니다.

2) 프레임 기반 애니메이션을 사용하는 경우 완전히 다듬어 진 2D 게임의 텍스처 메모리 요구 사항이 실제로 훨씬 높습니다. 각각의 모든 단일 문자 프레임은 총 텍스처 예산을 선형으로 날려 버립니다. 즉, 간단한 플립 북 애니메이션을 사용하면 실제로 골격 기반 3D 애니메이션보다 더 제한된 애니메이션 예산이 사용됩니다.

Spine과 같은 툴킷은 텍스처의 2D 변형을 생성하여이 경기장의 레벨을 높이는 데 도움이됩니다.


따라서이를 고려하고 3D에서 수년 전에 존재했던 게임 개발의 복잡성을 상당 부분 끌어내는 Unity와 UDK의 접근 용이성을 고려하면 그 답은 그리 간단하지 않습니다.


나는 이와 같은 오래된 게시물을 새로운 세부 사항으로 부딪치지 말 것을 제안합니다. 현재 최고 답변은 여전히 ​​적용 가능 하며이 질문은 실제로 첫 페이지에 부딪 칠 필요는 없습니다.
Pip

2
나는 오늘 동료에 의해 이것을 연결 했으며이 답변에 대한 추가 내용은 실제로 수년 동안 정확했기 때문에 괜찮습니다. 오래된 질문에 새로운 관련 정보를 추가해도 아무런 문제 가 없습니다 ! 대부분의 사람들은 Google을 스택 오버플로의 인터페이스로 사용하므로 아주 오래된 항목조차도 오늘날 관련 검색에 나타날 수 있습니다.
M2tM

1

게임 개발자에 따라 다릅니다. 시간이 많이 걸리는 부분은 게임 자산을 만드는 것입니다. 일러스트 레이터와 Photoshop을 사용하여 이러한 에셋을 만드는 것이 더 쉽다고 생각하면 2D가 더 쉬워 지지만 3D 모델링을 알고 있다면 3D가 2D보다 훨씬 쉽다는 데 동의 할 것입니다.

애니메이션과 관련하여 확실히 3D가 더 쉽고 빠르며 관리하기 쉽습니다.

예를 들어 3D에서는 한 장면에서 몇 시간 내에 캐릭터에 대한 모든 애니메이션을 만들 수 있지만 2d에서는 그가 수행해야하는 모든 활동에 대해 캐릭터를 처음부터 그려야하고 많은 파일을 저장해야하며 2D로 며칠이 걸립니다 3D 시간 대.

또한 무언가를 변경하면 2D로 모두 다시 작성해야하지만 캐릭터에 모자가 없어야한다고 결정하는 경우 모든 것을 변경할 필요는 없습니다. 3D에서 모자를 삭제 한 모든 애니메이션을 다시 실행할 필요는 없습니다.

휴머노이드 캐릭터가 있다면 수천 개의 무료 mo-cap 애니메이션이 있습니다. 대부분의 경우 게임용 애니메이션을 만들 필요가 없습니다.

복잡성과 프로그래밍에 관해서는 차이가 없습니다.

그러나 3D를 잘 알고 있어야합니다. 그렇지 않으면 게임 엔진에서 애니메이션이 3D 앱과 다르거 나 캐릭터 헤드가 반대 방향으로 회전하고 문제를 해결하는 방법과 다른 결함을 알 수 없습니다.

또한 게임을위한 낮은 폴리 모델링과 게임을위한 텍스처링 방법에 익숙해야합니다. 애니메이션을위한 모델링 및 텍스처링과는 다릅니다.

그건 그렇고 3D는 모바일 장치에 대한 하드웨어 요구가 적습니다.

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