2022년 1학기 소프트웨어융합캡스톤디자인 프로젝트
유튜브 영상
최근 나오는 게임들을 보면 캐릭터들의 움직임이 되게 입체적인 것을 확인할 수 있다. XY 평면으로만 이동하지 않고 높이 Z축으로도 이동한다는 점이다. 그렇기에 자연스럽게 벽과 상호작용하는 액션(벽타기, 오르기... 등)의 애니메이션이 필요하게 된다. 이 때 벽화 상호작용하는 액션 중 암벽등반이라는 구체적인 상황을 설정함으로써, 이의 자연스러운 애니메이션을 연출하기 위해 프로젝트를 진행하게 되었다.
보다 자연스러운 암벽등반 애니메이션을 연출할 수 있도록 한다.
Harris 3D를 비롯한 3D메쉬의 keypoint를 검출하는 알고리즘이 Point Matching 분야 뿐만 아니라 Procedural Animation에서도 활용할 수 있음을 보이고자 한다.
영상처리의 알고리즘인 Harris Corner Detection을 3차원에서 활용할 수 있도록 하는 알고리즘이다.
Inverse Kinematic을 이용하여 케릭터 애니메이션을 구현하는 기법이다.
Quixel Bridge에서 제공하는 3D 스캔 데이터이다.
- SHARP CLIFF
- FOREST ROCK WALL
- ROCKY CLIFF
- ROMAN STATUE
- ROMAN GRAVE STONE
- ROMAN MARBLE ORNATE PLINTH
- ROMAN RED BRICK COLUMN
- SHARP CLIFF (Vertex Ring Number = 3 / Harris Number = 0.2)
- FOREST ROCK WALL (Vertex Ring Number = 3 / Harris Number = 0.1)
- ROCKY CLIFF (Vertex Ring Number = 3 / Harris Number = 0.2)
- ROMAN STATUE (Vertex Ring Number = 3 / Harris Number = 0.05)
- ROMAN GRAVE STONE (Vertex Ring Number = 3 / Harris Number = 0.245)
- ROMAN MARBLE ORNATE PLINTH (Vertex Ring Number = 3 / Harris Number = 0.2)
- ROMAN RED BRICK COLUMN (Vertex Ring Number = 3 / Harris Number = 0.2)
특징과 특징이 아닌 구역이 잘 구분되는 인공물 메쉬가 비교적 Keypoint 검출하는 데에 자연스러워 보인다.
그러한 이유로 타당한 Vertex를 잡거나 딛는 움직임을 보인다.
- 검출시 Keypoint들이 가까이 겹쳐져 있는 부분 수정요함
- 활용할 수 있는 알고리즘으로썬 NMS
- 자연물을 보면 Keypoint들이 제대로 검출되지 않았다고 했는데, 두 개의 임계치를 수정해서 테스트해볼 것
- Window Size -> Vertex Ring Number
- Harris Operator -> Fraction of the Diagonal
- 캐릭터 컨트롤러 조작감 수정 및 Locomotion 추가
- Control Rig 인터페이스가 잘 되어 있는 UE5로 업그레이드 하기
- UE5에서도 C++ 빌드할 수 있도록 환경 구성할 것