1. 절차적 애니메이션
개요)
- 대부분의 게임에서 캐릭터 애니메이션은 정적인데, 한 오브젝트가 다른 오브젝트와 상호작용을 해야 할 때 절차적 애니메이션 사용
- 상호작용은 단순히 애니메이션을 재생하는 것이 아니라 주변 오브젝트에 따라 캐릭터의 움직임이 영향을 받는 것을 말함
정의)
다양한 동작을 위해 실시간으로 애니메이션을 자동 생성하는 것
유니티에서는 애니메이션 리깅이라는 기능을 도입해 보다 쉽게 구현하도록 함
애니메이션 리깅)
캐릭터의 뼈대 - 릭(Rig)
릭은 캐릭터의 개별 뼈를 구성하는 오브젝트의 계층구조를 가짐
기본적인 애니메이션 작동 과정)
- 캐릭터는 애니메이터에 의해 결정된 애니메이션을 재생
- 해당 애니메이션에 의해 뼈대가 이동
- 캐릭터의 메시는 스킨 메시 렌더러를 통해 뼈대를 따라 이동
2. Shader
https://blog.popekim.com/ko/2011/11/29/intro-to-shader-01-what-is-shader-part-1.html
정의)
화면에 출력할 픽셀의 위치와 색상을 계산하는 함수
구조적 접근)
정점쉐이더와 픽셀쉐이더
픽셀쉐이더 - 농담, 색조, 명암 결정 (RGBA색상 값 하나)
정점쉐이더
- 3D 그래픽파이프라인 구조
- 3차원 공간에 존재하는 물체를 컴퓨터 모니터라는 2차원 평면 위에 보여주기 위함
- 극단적으로 간략화시킨 그림은 다음과 같음(원래 엄청 복잡한데, 이해를 도모하기 위한 간략화된 그림)
- 정점쉐이더가 입력 값으로 받는 것은 3D 모델 자체, 3D 모델은 폴리곤으로 구성하는 것이 업계 표준인데, 폴리곤은 결국 삼각형들의 집합이므로 3개의 정점으로 이루어짐 -> 정점 데이터가 정점 쉐이더의 입력 값과 거의 동일
- 정점 쉐이더가 수행하는 가장 중요한 임무는 3D 물체를 구성하는 정점들의 위치를 화면 좌표로 변환하는 것(각 정점의 공간을 변환하는 것
- rasterizer
- 화면에 픽셀을 어디에 몇 개나 그려야 하는지 알게 하는 역할
- 정점쉐이더가 출력하는 정점의 위치를 차례대로 3개씩 모아 삼각형을 만든 뒤, 그 안에 들어갈 픽셀들을 찾아냄
- 픽셀 쉐이더 함수는 래스터라이저가 찾아내는 픽셀 수 만큼 호출됨
3. Mesh
정의)
점, 폴리곤(삼각형), UV를 관리하는 구조체
게임 그래픽은 삼각형이 기본인데, 이 삼각형(폴리곤) 2개를 가지고 사각형을 만든 다음 텍스쳐를 입히는 방식임
설명)
- 텍스처를 넣을 땐 UV좌표로 넣어줌 (vertex와 좌표 동일해야 함)
- Mesh Filter: Mesh 렌더링할 때 필요
- Mesh Renderer: Material을 적용하기 위해 필요
메쉬 변형)
4. 시점
1인칭
- FPS
- VR
3인칭
- 탑 뷰
내 캐릭터를 하늘에서 수직으로 보는 시점
- 쿼터 뷰
탑 뷰에서 시야의 각도를 내려 사선으로 내려 보는 듯한 느낌을 줌
- 숄더 뷰(백 뷰)
내 캐릭터의 허리~등까지 보여줌
- 사이드 뷰
철권 같이 캐릭터의 옆면을 보여주는 시점
'Old > 프로젝트 자료조사' 카테고리의 다른 글
Crescendor - Ranking System (0) | 2024.02.02 |
---|---|
Open3D와 SMPL, 딥러닝.. 뭐 그런거 (0) | 2023.07.24 |
체감형 AR 디자인 - 프로젝트 자료조사 / Marker AR, Markerless AR (0) | 2023.03.11 |