컴퓨터 지식 네트워크 - 컴퓨터 프로그래밍 - 3D 게임을 만들려면 3D 엔진이 있어야 하나요? 3D 엔진이란 무엇인가요?

3D 게임을 만들려면 3D 엔진이 있어야 하나요? 3D 엔진이란 무엇인가요?

게임 엔진을 경주용 자동차의 엔진에 비유할 수 있듯이, 엔진은 경주용 자동차의 핵심이며 경주용 자동차의 성능과 안정성을 결정합니다. 경주용 자동차의 모든 요소는 운전자와 직접적인 관련이 있습니다. 게임의 경우에도 마찬가지입니다. 플레이어가 경험하는 플롯, 레벨, 아트, 운영 및 기타 콘텐츠는 게임 엔진에 의해 직접 제어되며, 게임의 모든 요소를 ​​하나로 묶어주는 역할을 합니다. 동시에 질서있게 일하도록 지시합니다. 간단히 말해서, 엔진은 "충돌 계산, 물리 시스템, 객체의 상대적 위치 계산부터 플레이어 입력 수용 및 올바른 볼륨으로 사운드 출력에 이르기까지 모든 게임 기능을 제어하는 ​​주요 프로그램"입니다.

2D 게임이든 3D 게임이든, 롤플레잉 게임이든 실시간 전략 게임이든, 어드벤처 퍼즐 게임이든 액션 슈팅 게임이든 엔진이 신비한 것이 아니라는 것을 알 수 있다. 1MB에 불과한 작은 게임이라도 모두 제어 역할을 하는 코드 조각을 가지고 있습니다. 지속적인 발전을 거쳐 오늘날의 게임 엔진은 모델링과 애니메이션부터 빛과 그림자, 입자 효과, 물리 시스템, 충돌 감지부터 파일 관리, 네트워크 특성, 전문 편집 도구 및 기타 기능까지 여러 하위 시스템으로 구성된 복잡한 시스템으로 발전했습니다. 개발 프로세스의 거의 모든 중요한 측면을 다루는 플러그인입니다. 다음은 엔진의 일부 주요 구성 요소에 대한 간략한 소개입니다. 첫 번째는 빛과 그림자 효과, 즉 장면의 광원이 사람과 사물에 영향을 미치는 방식입니다. 게임의 빛과 그림자 효과는 엔진에 의해 완전히 제어됩니다. 굴절 및 반사와 같은 기본 광학 원리는 물론 동적 광원 및 색상 광원과 같은 고급 효과도 모두 엔진의 다양한 프로그래밍 기술을 통해 구현됩니다.

다음은 애니메이션입니다. 현재 게임에서 사용되는 애니메이션 시스템은 두 가지 유형으로 나눌 수 있습니다. 하나는 뼈대 애니메이션 시스템이고, 다른 하나는 내장된 뼈대를 사용하여 구동하는 것입니다. 객체를 이동시키는 것이 더 일반적이고, 후자는 모델을 기반으로 직접 변형하는 것입니다. 엔진에는 이 두 가지 애니메이션 시스템이 게임에 미리 내장되어 있어 애니메이터가 캐릭터에 대한 풍부한 액션 스타일을 더 쉽게 디자인할 수 있습니다. 엔진의 또 다른 중요한 기능은 객체의 움직임이 고정된 규칙을 따르도록 할 수 있는 물리 시스템을 제공하는 것입니다. 예를 들어 캐릭터가 점프할 때 시스템의 기본 중력 값에 따라 캐릭터가 점프할 수 있는 높이와 낙하 속도가 결정됩니다. 속도, 총알의 비행 궤적, 차량 충돌 방식도 물리 시스템에 의해 결정됩니다.

충돌 감지는 게임 내 다양한 ​​객체의 물리적 가장자리를 감지할 수 있는 물리 시스템의 핵심 부분입니다. 두 개의 3D 개체가 충돌할 때 이 기술은 두 개체가 서로 통과하는 것을 방지합니다. 충돌 감지는 특성에 따라 사용자의 위치와 상호 작용을 결정하므로 벽에 부딪힐 때 벽을 통과하거나 벽이 무너지는 일이 발생하지 않도록 합니다. 너와 벽 사이.

렌더링은 엔진의 가장 중요한 기능 중 하나입니다. 3D 모델이 제작된 후 아티스트는 다양한 얼굴에 따라 모델에 재질 맵을 할당합니다. 이는 뼈를 피부로 덮는 것과 같습니다. 최종적으로 렌더링 엔진을 통과합니다. 모델, 애니메이션, 빛과 그림자, 특수 효과 등 모든 효과가 실시간으로 계산되어 화면에 표시됩니다. 렌더링 엔진은 엔진의 모든 구성 요소 중에서 가장 복잡하며 그 성능이 최종 출력 품질을 직접적으로 결정합니다.

엔진의 또 다른 중요한 역할은 플레이어와 컴퓨터 간의 통신을 담당하고 키보드, 마우스, 조이스틱 및 기타 주변 장치의 신호를 처리하는 것입니다. 게임이 네트워킹 기능을 지원하는 경우 클라이언트와 서버 간의 통신을 관리하기 위해 네트워킹 코드도 엔진에 통합됩니다.

위의 지루한 소개를 통해 우리는 적어도 한 가지 사실을 이해할 수 있습니다. 프레임워크가 구축된 후에는 레벨 디자이너, 모델러 및 애니메이터가 작성하기만 하면 엔진이 게임의 프레임워크와 동일하다는 것입니다. 내용.

따라서 3D 게임 개발 과정에서 엔진 제작에 많은 시간이 소요되는 경우가 많다. <마커스 페인>의 MAX-FX 엔진은 초기 프로토타입인 Final Reality부터 최종 제품까지 4년이 걸렸다. LithTech 엔진 개발에는 꼬박 5년이 걸렸고 700만 달러가 소요되었습니다. Monolith Company(LithTech 엔진 개발자)의 사장인 Jason Hall은 "만약 내가 깨달았더라면 그렇게 많은 비용이 들었다면"이라고 말했습니다. 자체 엔진을 만들면 5년 후 시장이 어떻게 될지 아무도 예측할 수 없습니다. 비용을 절감하고 주기를 단축하며 위험을 줄이기 위해 점점 더 많은 개발자가 타사의 기성 엔진을 사용하여 자체 엔진을 만드는 경향이 있습니다. 게임, 엔진 라이센싱 시장이 거대하게 형성되었습니다.

2. 엔진의 진화

게임 개발자들이 가능한 한 많은 새로운 게임을 개발하고 이를 플레이어에게 판매하는 데에만 관심을 두던 시절이 있었습니다. 당시 대부분의 게임은 단순하고 거칠었지만, 각 게임의 평균 개발 주기는 기술적인 이유도 있었고, 거의 모든 게임을 처음부터 작성해야 했기 때문이기도 했습니다. , 이로 인해 작업이 많이 중복됩니다. 점차적으로 일부 숙련된 개발자들은 개발 시간과 개발 비용을 절약하기 위해 비슷한 주제를 가진 이전 게임의 코드 일부를 새 게임의 기본 프레임워크로 빌려왔습니다. 마 씨의 생산성 이론에 따르면, 생산성 수준이 높아지면 단위 ​​제품의 가격이 낮아진다. 배경에서 태어났습니다.

모든 게임에는 고유한 엔진이 있지만, 실제로 다른 사람들에게 인정받고 표준이 될 수 있는 엔진은 많지 않습니다. 9년이 넘는 개발 역사를 살펴보면 엔진의 가장 큰 원동력은 3D 게임, 특히 3D 슈팅 게임에서 나온다는 것을 알 수 있다. 인피니티 같은 2D 엔진 역시 오랜 역사를 갖고 있지만 '발더스 게이트' 시리즈부터 '플레인스케이프: 토먼트', '아이스윈드 데일'까지 올해 여름에 '아이스윈드 데일 2'가 출시될 예정이지만 적용 범위가 제한적이다. 많은 기대를 모았던 "Neverwinter Nights"를 비롯한 "Dungeons and Dragons" 스타일의 롤플레잉 게임에 이르기까지 오로라 엔진은 매우 특수한 목적을 갖고 있으며 전체 엔진 기술 개발을 추진하기 어려운 이유입니다. 시뮬레이션 게임과 실시간 전략 게임은 공인 시장에 진출하는 경우가 거의 없습니다. 개발 타사 엔진을 사용해도 이상적인 결과를 얻기가 어렵습니다. 가장 좋은 예입니다.

따라서 앞으로의 엔진 역사적 리뷰는 주로 액션 슈팅 게임의 변화에 ​​초점을 맞추겠습니다. 액션 슈팅 게임과 3D 엔진의 관계는 쌍둥이 형제가 태어나고 성장한 것과 같습니다. 그들은 서로 발전을 위한 동기를 제공합니다.

엔진의 탄생(1992~1993)

1992년 3D Realms Company/Apogee Company는 2MB가 채 안되는 작은 게임인 "Wolfenstein"을 출시했습니다. 》(Wolfenstein 3D), 약간의 경험이 있는 플레이어는 처음 접했을 때의 흥분을 아직도 기억할 것입니다. "혁명"이라는 단어는 컴퓨터 게임 개발의 전체 역사에서 차지하는 중요한 위치를 설명할 수 없습니다.

이 게임은 1인칭 슈팅 게임을 개척했습니다. 더 중요한 것은 X축과 Y축에 Z축을 추가하고 너비와 높이로 구성된 평면에 앞뒤 방향을 추가했다는 것입니다. -2D 게임에 익숙한 플레이어의 축을 상상할 수 있습니다.

Wolfenstein 3D 엔진의 제작자는 유명한 John Carmack입니다. id Software의 수석 프로그래머인 이 Wolfenstein 3D 엔진은 게임계에서 확고한 입지를 구축했습니다. 사실 '울펜슈타인'은 출시되기 몇 달 전에 이미 1인칭 시점 롤플레잉 게임인 '제네시스: 언더월드'(울티마 언더월드)를 출시한 바 있다. 이 코너 게임은 비슷한 기술을 사용하지만 Wolfenstein 3D 엔진과 상당한 차이가 있습니다. 예를 들어 "Underworld"의 엔진은 경사면을 지원하며, 바닥과 천장의 높이는 서로 다르며 플레이어는 여러 레벨로 점프할 수 있습니다. 게임의 경우 고개를 들고 고개를 낮추십시오. 또한, 화면 관점에서 볼 때 "Wolfenstein"은 기존 픽셀 화면보다 만화 스타일에 더 가깝습니다.

울펜슈타인 3D 엔진은 기술적인 디테일 면에서는 '울티마: 언더월드' 엔진만큼 좋지는 않지만, 1인칭 시점의 특성을 잘 살려 빠르고 격렬한 게임 리듬 때문에 사람들은 갑자기 '1인칭 롤플레잉 게임' 대신 '1인칭 슈팅 게임'이라는 단어를 떠올렸습니다. "Wolfenstein"은 나중에 명목상 속편인 "Rise of the Triad"(Rise of the Triad)를 출시했습니다. 이 게임에는 점프와 머리 위로 올라가는 것을 포함하여 Wolfenstein 3D 엔진을 기반으로 한 많은 중요한 기능이 추가되었습니다. .

엔진 초기의 또 다른 중요한 게임은 id Software의 매우 성공적인 1인칭 슈팅 게임인 "Doom"이었습니다. Doom 엔진은 기술적으로 Wolfenstein 3D 엔진을 크게 능가했습니다. "Wolfenstein"에 있는 모든 개체의 크기는 고정되어 있으며 모든 경로 사이의 각도는 직각이므로 직선 또는 뒤로만 이동할 수 있습니다. "Doom"을 통해. 게임의 레벨은 여전히 ​​2D 평면에서 생성되고 "위층 위층"이라는 개념이 없지만 벽의 두께는 임의적일 수 있고 경로 사이의 각도도 임의적일 수 있으므로 계단, 리프팅 플랫폼, 타워 및 야외 등 다양한 장면이 가능합니다.

Doom 엔진은 본질적으로 여전히 2차원적이기 때문에 게임 실행 속도에 영향을 주지 않고 동시에 많은 수의 캐릭터를 화면에 표시할 수 있습니다. 액션 스타일은 지금까지 "Serious Sam" 시리즈만이 비교할 수 있습니다. 그 외에는 많은 수의 적들이 스무스하게 다가오고 있을 때 게임을 유지할 수 없습니다. 오늘날 시장에 나와 있는 대부분의 1인칭 슈팅 게임이 플레이어의 전술적 능력을 적극적으로 배양하고, 플레이어의 사격 정확도를 향상시키며, 무차별적인 살인을 거부하는 주된 이유입니다. Doom 엔진의 디테일이 부족함에도 불구하고 개발자들은 여전히 ​​"Doom"에서 놀라운 환경 효과를 보여주었고 그들의 능숙한 디자인 기술은 정말 놀랍습니다.

하지만 더욱 기억에 남는 것은 Doom 엔진이 라이선스에 사용된 최초의 엔진이라는 점입니다. 1993년 말, Raven은 개선된 Doom 엔진을 사용하여 게임 역사상 최초로 성공적인 접목 작업인 "ShadowCaster"라는 게임을 개발했습니다. 1994년 레이븐컴퍼니는 둠 엔진을 이용해 '헤레틱'을 개발해 엔진에 비행 특성을 더해 점핑 액션의 전신이 됐다.

1995년 Raven은 Doom 엔진을 사용하여 "Hexen"을 개발했으며 새로운 음향 효과 기술, 스크립팅 기술 및 허브와 같은 레벨 디자인을 추가하여 서로 다른 레벨 사이를 자유롭게 이동할 수 있게 했습니다. Raven과 id Software의 일련의 협력은 엔진 라이센스가 사용자와 개발자 모두에게 큰 이익이 된다는 것을 충분히 보여줍니다. 자신의 엔진을 더 많은 사람들에게 넘겨주어야만 엔진이 계속해서 발전할 수 있습니다.

"Doom" 시리즈 자체는 약 350만 개가 판매될 정도로 꽤 성공적이며 라이센스 비용으로 인해 id Software는 상당한 수익을 얻었습니다. 이전에는 엔진이 자체 제작 및 자체 판매 개발 도구로만 사용되었으며, 돈을 벌기 위해 엔진에 의존하는 것을 고려한 게임 회사는 의심할 여지 없이 사람들에게 새로운 시장을 열었습니다.

엔진 변혁(1994~1997)

엔진의 진화에서 1994년 Ken Silverman이 3D Realms용으로 개발한 Build 엔진은 중요한 이정표인 "육체"였습니다. 빌드 엔진 중 하나는 잘 알려진 "Duke Nukem 3D"입니다. "Duke Nukem"은 점프, 360도 파노라마 뷰, 웅크리기, 수영 등 오늘날의 1인칭 슈팅 게임의 모든 표준 콘텐츠를 이미 갖추고 있습니다. 또한 "Infidel"의 비행을 대체했습니다. jetpack, 심지어 캐릭터 축소와 같은 상쾌한 추가 기능도 추가했습니다. Build 엔진을 기반으로 "Redneck Rampage", "Shadow Warrior", "Blood" 등 14개의 게임이 제작되었으며 대만 Aisheng Information에서 개발한 게임인 "Seven Heroes and Five Righteousness"는 몇 안 되는 3D 슈팅 게임 중 하나였습니다. 그 당시 중국에서 있었던 게임입니다(그리고 오늘날에도 여전히 그렇습니다). Build 엔진의 라이선싱 사업은 3D Realms에 약 100만 달러 이상의 추가 수익을 가져왔고, 3D Realms는 엔진 라이선싱 시장에서 최초의 "신생 기업"이 되었습니다. 그러나 전반적으로 빌드 엔진은 3D 엔진 개발에 어떠한 질적 변화도 가져오지 못했다. 획기적인 과제는 이드 소프트웨어의 '퀘이크'에 의해 마침내 완성됐다.

'퀘이크'는 '듀크 뉴켐' 이후 곧바로 출시됐는데, 둘 중 어느 것이 더 나은지는 한동안 플레이어들 사이에서 화제가 됐다. 콘텐츠의 재미로 볼 때 'Duke Nukem'은 'Quake'를 훨씬 능가하지만, 기술 발전 측면에서 보면 'Quake'가 의심의 여지가 없는 승자입니다. Quake 엔진은 Doom 및 Build와 같은 2.5D 엔진이 아닌 다각형 모델, 애니메이션 및 입자 효과를 완벽하게 지원하는 당시 최초의 진정한 3D 엔진이었습니다. 게다가, Quake 엔진은 온라인 게임의 원조이기도 합니다. 몇 년 전의 'Doom'은 모뎀을 통해 온라인으로도 플레이할 수 있었지만, 마침내 온라인 게임을 e의 발전으로 대중의 관심을 끌게 된 것은 바로 'Quake'였습니다. -스포츠 산업.

1년 뒤, id Software는 'Quake 2'를 출시하며 3D 엔진 시장에서의 지배력을 단번에 확인시켰습니다. '퀘이크 2'는 3D 가속과 OpenGL 기술을 최대한 활용할 수 있는 새로운 엔진을 사용하여 그래픽과 네트워크 측면에서 전작에 비해 질적으로 발전했다. Fortune, Ritual's Sin, Xatrix Entertainment의 Kingpin: Life of Crime 및 Ion Storm Studios가 지난 여름에 막 출시했습니다. "Anachronox"(Anachronox)는 모두 Quake II 엔진을 사용합니다.

Quake II 엔진의 라이선스 모델은 대략 다음과 같습니다. 기본 라이선스 비용은 US$400,000에서 US$100만 달러이며, 로열티는 기본 라이선스 비용 US$400,000에 따라 다릅니다. 약 10달러 이상의 로열티를 인출할 예정이며, 100만 달러의 라이센스 비용은 로열티의 일부를 추출합니다. 이렇게 계산하면 '퀘이크2'는 엔진 라이센싱을 통해 최소 1000만달러의 수익을 올렸다. 게임 자체의 판매실적은 '둠'에 비해 많이 떨어지지만 약 110만개가 팔렸고, 매출은 1000만달러에 달한다. 미화 4,500만 달러 정도지만 라이센스 비용 측면에서 보면 이윤은 분명히 "Doom"보다 훨씬 높습니다. 이때 엔진은 단순한 도구에서 군침이 도는 덩어리로 바뀌었습니다.

"한 번 때려도 변화를 만들 수 없다"는 말처럼, 비슷한 힘을 지닌 경쟁자가 없으면 시장도 발전할 수 없습니다. Quake II가 전체 엔진 시장을 장악할 때 Epic Megagames(현 Epic Games)의 'Unreal'이 나왔습니다. 이 게임을 처음 실행했을 때, 게임이 300x200의 해상도로만 실행되고 있었음에도 불구하고 눈앞의 그림을 보고 정말 놀랐다고 해도 과언이 아닙니다. 게임기는 충분히 강력하지 않습니다). 절묘한 건물 외에도 졸졸 흐르는 물결, 아름다운 하늘, 거대한 레벨, 사실적인 불, 연기, 역장 및 기타 효과와 같은 게임의 많은 특수 효과는 오늘날에도 여전히 탁월해 보입니다. 순수한 시각 효과의 관점에서 볼 때, '언리얼'은 충분한 리더이며, 그 충격적인 힘은 사람들이 '울펜슈타인'을 처음 보았을 때의 감정과 비교할 수 있습니다. Unreal 엔진은 출시 후 2년 이내에 18개의 게임이 Epic과 라이센스 계약을 체결했습니다. 여기에는 Epic이 개발한 "Unreal" 확장팩 "Return"이 포함되지 않습니다. 최근 작품으로는 3인칭 액션 게임 '룬', 롤플레잉 게임 '데우스 엑스', 아직 출시되지 않은 1인칭 슈팅 게임 '포에버', '듀크 뉴켐 포에버(Duke Nukem Forever)' 등이 있다. 아니면 많은 칭찬을 받을 것이다.

Unreal 엔진의 적용 범위는 게임 제작에만 국한되지 않고 교육, 건축 등 다른 분야에도 적용됩니다. 디지털 디자인(Digital Design)은 유네스코(UNESCO)의 세계문화유산부(World Cultural Heritage Division)와 협력하여 파리 노트르담(Notre Dame de Paris) 내부 가상 시연을 제작하기 위해 언리얼 엔진을 사용했으며, 또 다른 소프트웨어 개발자인 Vito Miliano도 언리얼 엔진을 사용했습니다. Unreal 엔진을 사용하여 부동산 시연을 위한 "Unrealty"라는 건축 설계 소프트웨어 세트를 개발했습니다.

이 엔진은 '퀘이크2'와 동세대인 이 엔진은 지속적으로 업데이트를 거듭하며 아직까지 게임시장에서 노후화의 흔적을 보이지 않고 활발히 활동하고 있는 것이 정말 드물다

上篇: 호스트에는 PS2 커넥터가 하나만 있지만 키보드 마우스는 PS2 커넥터이므로 하나의 인터페이스만 사용할 수 있습니다. 어떻게 해야 할까요? 下篇: 인터넷에서 가장 인기 있는 아바타는 횡포한 소년, 횡포한 소년의 아바타
관련 내용