상세 컨텐츠

본문 제목

HumanGL: 계층적 모델링과 애니메이션 - (1)

Computer Graphics/HumanGL

by Banjosh 2024. 10. 9. 16:31

본문

이번 HumanGL 프로젝트는 계층적 모델링에 대한 기초를 배우고, 사용자 정의 행렬 스택변환 함수를 직접 구현해 Human Model 의 애니메이션 구현을 목표로 한다.

주요 학습 내용

  1. 계층적 모델링(Hierarchical Modeling)
    프로젝트의 핵심은 계층적 모델링을 이해하고, 부모-자식 관계를 기반으로 각 모델의 부위를 연결하는 것이다. 이를 통해 모델의 한 부위가 움직일 때 관련된 다른 부위논리적으로 함께 움직이도록 설정할 수 있다.
  2. 행렬 스택(Matrix Stack) 구현
    OpenGL 3.0 이후 기본 제공되는 행렬 함수들이 사라졌기 때문에, 이 프로젝트에서는 자체적인 행렬 스택을 구현해야 한다. 이를 통해 객체의 위치, 회전, 크기 변환을 적용하고 관리할 수 있다. 이를 기반으로 계층적 구조를 가진 모델의 애니메이션을 구현할 수 있다.
  3. 모델 구성 및 애니메이션
    모델은 머리, 몸통, 팔(상부, 하부), 다리(상부, 하부) 등 여러 부위로 나누어 구성되며, 각 부위는 정확하게 연결되어 있어야 한다. 걷기, 점프, 정지 상태와 같은 애니메이션을 구현해야 하며, 각 동작은 부위별로 자연스럽게 연결되어야 한다.
  4. 프레임워크 및 언어 자유 선택
    프로젝트에서는 SDL2, Glut, SFML 등 다양한 그래픽 라이브러리를 사용할 수 있으며, OpenGL 4.0 이상을 이용해 렌더링을 해야 한다. 또한, 사용할 수 있는 프로그래밍 언어는 자유롭게 선택할 수 있다.

필수 요구 사항

모든 모델 부위는 독립된 함수로 구현되고, 변환 행렬을 통해 연결된다. 몸통을 회전시키면 모든 부위가 논리적으로 따라가야 하고, 각 부위의 크기 조정이 자연스럽게 이어지도록 해야 한다.

 

마무리

이번 HumanGL 프로젝트는 3D 그래픽스계층적 모델링에 대한 실질적인 경험을 제공한다. 직접 행렬 계산을 통해 모델의 각 부위를 제어하고, 복잡한 애니메이션을 구현함으로써 그래픽스 프로그래밍의 기초를 탄탄히 다질 수 있는 기회이다.

관련글 더보기