비디오 게임의 캐릭터는 어떻게 그렇게 유동적으로 움직이는가?

Dec 20 2000
게임 캐릭터의 이야기와 움직임에 빠져본 적이 있다면 이러한 창조물이 어떻게 그렇게 유동적으로 움직일 수 있는지 궁금해 했을 것입니다. 알 수 있는 기회입니다!
근접 촬영은 해골의 팔을 보여줍니다. 손가락 개체가 손 개체에 대한 자식이고, 차례로 팔뚝 개체에 대한 자식임을 알 수 있습니다.

게임의 캐릭터에는 골격이 있습니다. 우리 자신의 골격과 유사하게 이것은 서로 연결되고 관련되어 움직이는 숨겨진 일련의 객체입니다. parenting 이라는 기술을 사용하여 대상 개체( 자식 )가 다른 개체( 부모 )에 할당됩니다 . 부모 개체가 이동할 때마다 자식 개체는 할당된 속성에 따라 따라갑니다. 자식과 부모가 있는 개체로 완전한 계층을 만들 수 있습니다. 다음은 인간 캐릭터의 예입니다.

스켈레톤이 생성되고 모든 양육 컨트롤이 제자리에 배치되면 캐릭터가 애니메이션됩니다. 아마도 가장 인기 있는 캐릭터 애니메이션 방법은 역기구학에 의존할 것입니다 . 이 기술은 자식 개체를 애니메이터가 원하는 위치로 이동하여 부모 개체와 연결된 다른 모든 개체가 따라오게 합니다. 게임에 널리 사용되는 또 다른 방법은 실제 사람의 센서 세트를 사용하여 일련의 좌표를 컴퓨터 시스템에 전송하는 모션 캡처 입니다. 좌표는 게임 캐릭터의 골격에 매핑되고 유동적이고 사실적인 동작으로 변환됩니다.

각 캐릭터의 동작 범위는 게임에 프로그래밍되어 있습니다. 다음은 일반적인 이벤트 순서입니다.

  • 컨트롤러의 버튼을 누르면 캐릭터가 앞으로 이동합니다.
  • 버튼은 회로를 완성하고 컨트롤러는 결과 데이터를 콘솔로 보냅니다.
  • 콘솔의 컨트롤러 칩은 데이터를 처리하고 게임 애플리케이션 로직으로 전달합니다.
  • 게임 논리는 게임의 해당 지점에서 적절한 동작이 무엇인지(캐릭터를 앞으로 이동) 결정합니다.
  • 게임 로직은 움직임을 만드는 데 관련된 모든 요소(그림자, 충돌 모델, 시야각 변경)를 분석합니다.
  • 게임 로직은 캐릭터의 골격에 대한 새 좌표와 기타 모든 변경 사항을 렌더링 엔진으로 보냅니다.
  • 렌더링 엔진은 영향을 받는 각 개체에 대해 새로운 폴리곤으로 장면을 렌더링하여 초당 약 60번 장면을 다시 그립니다.
  • 캐릭터가 앞으로 나아가는 것을 볼 수 있습니다.

다음은 흥미로운 링크입니다.

  • 3DO가 비디오 게임을 만드는 방법
  • 비디오 게임 시스템 작동 방식
  • Sony Playstation 2 작동 방식
  • 소니 플레이스테이션 작동 원리
  • 3D 그래픽 작동 방식
  • Microsoft Xbox 작동 방식
  • 대화형 음영 애플릿!
  • 텍스처 매핑을 사용한 프로그래밍
  • 텍스처 매핑에 대한 SGI 보고서
  • 3D FX 프로그래밍