자격증

게임 프로그래밍 전문가 필기 2021 2 - A

hungry- 2025. 5. 14. 01:00

게임 프로그래밍 방법론

 

문제 1. 구조체

해설:

'13' 은 문자로 표현했기 때문에 정수로 표현할 수 없음. 

 

  • ① A는 문자열 포인터(const char*)를 사용해 메모리를 많이 차지함.
  • ② A는 52장 × (포인터 + int = 4+4) = 416바이트 (32bit 환경 기준).
  • ③ B구조체는 char 하나로 무늬(S/H/D/C), char 하나로 번호(1~13) 표현 가능.

 

정답: ④

 

문제 2. 데이터베이스

해설: 이 설명은 SQL

 

  • LUA: 게임에서 스크립트 언어로 주로 사용됨.
  • PERL: 텍스트 처리에 강한 스크립트 언어.
  • PHP: 웹 개발용 서버 사이드 언어.

 

정답: ①

 

문제 3. 포인터 

해설:

포인터끼리 직접 빼면 ‘몇 개 떨어져 있냐’를 의미,
정수형으로 캐스팅하면 ‘바이트 차이’를 의미.

value 1 = p[4] - p[1]  =  16 - 2 = 14

value 2 = (p+4) - (p+1) = 3 / 포인터 간 거리 계산

value 3 = (long)(p + 4) - (long)(p + 1) = 3 * int 바이트 수(4) = 12  /  바이트 단위 주소값 차이 계산

정답: ②

 

문제 4.  변환문자 

해설:

 

  • %u: unsigned 정수
  • %f: 실수 출력
  • %x → 16진수 출력
  • %p → 포인터 주소 출력

 

정답: ③

 

문제 5. 2차원 배열 포인터 연산

해설:

a[0][0] = 0, a[0][1] = 1, a[0][2] = 2  
a[1][0] = 3, a[1][1] = 4, a[1][2] = 5

 

  • a + 1 → a[1]
  • (*p) + 2 → a[1][2]
  • *((*p) + 2) → 5

 

정답: ④

 

문제 6. 컴파일 에러

해설:

 

  • const Actor* actor는 const 객체
  • 하지만 GetTotalCount()는 const 함수가 아님
  • C++에서는 const 객체는 const 함수만 호출할 수 있음

 

정답: ④

 

문제 7. 객체지향 프로그래밍 

해설:

객체지향(OOP)의 핵심 개념 중 하나는 캡슐화 + 정보 은닉

관련된 변수/함수를 클래스로 묶고, 중요한 정보는 은닉(private)

  • ① C 언어는 OOP 불가능하지만 구조체로 유사 표현은 가능
  • ③ 상속은 has-a 보다는 is-a 관계일 때 사용
  • ④ C++ 클래스 멤버 함수는 기본적으로 가상함수 아님 (virtual 명시해야 다형성)

정답: ②

 

문제 8. 중첩 반복문

해설:

조건문에서 % 연산자

 

  • i % 2의 결과가 0이 아니면 true, 0이면 false
  • 즉, 홀수면 true, 짝수면 false

따라서 짝수만 total에 더해지기 때문에 2,4,6,8,10 더한 결과임

 

 

정답: ③

 

문제 9. 날짜와 시간

해설:

 

UTC는 세계 표준시로 사용

GMT와 거의 동일

KST = UTC +09:00

 

  • UTF: 문자 인코딩 방식 
  • CST: 미국 중부 표준시
  • PST: 미국 태평양 표준시

 

 

정답: ①

 

문제 10. 리틀 앤디안 배열 출력

해설:

리틀 앤디안에서는 하위 바이트부터  저장됨.

 

  • short는 2바이트 자료형
  • p[0]은 arr[0], arr[1]을 한 덩어리(2바이트)로 해석
  • 메모리: [0x01][0x02] → 리틀 엔디안 기준 = 0x0201

16진수기 때문에 0201을 10진수로 변환하면 256x2 + 1x1 =513

 

 

정답: ③

 

문제 11. 전처리기

해설:

#으로 시작하는 전처리 지시문이 아닌 typedef는 타입 정의 키워드이며, 전처리기 문법이 아님.

  • ② #undef: 매크로 해제 전처리기
  • ③ #include: 파일 포함 전처리기
  • ④ #ifndef: 조건부 컴파일

정답: ①

 

문제 12.  리틀 엔디안, 빅 엔디안

해설:

 

  • 엔디안 차이는 CPU 아키텍처에 따라 달라짐.
  • 데이터 송수신 시 명시적 변환 (htonl, ntohl 등)을 해야 함.
  • 랜카드는 하드웨어로, 자동 변환 불가.

 

정답: ③

 

문제 13. 매크로

해설:

매크로 실행 중 괄호 여부에 따라 결과가 달라지는 것을 이용한 문제임.

int a = 1+2 * 3 * 4 = 연산자 우선순위에 따라서 25

 

정답: ②

 

문제 14. 문자 인코딩

해설:

WBCS (Wide Byte Character Set)

 

  • 문자 표현을 위해 고정된 크기 (보통 2바이트 이상) 사용
  • C/C++에서 wchar_t, L"..."가 사용됨
  • 주로 유니코드 환경, UTF-16이나 UCS-2와 관련 있음

 

SBCS: single byte , ASCII 기반 char, 1바이트 문자만 사용.

② MBCS: multi byte, 가변 바이트 문자셋, char 기반.

 

 

정답: ③

 

문제 15. 소스코드 처리과정 

해설:

 

소스코드를 목적코드(기계어)로 변환하는 과정 = 컴파일러

링커는 목적코드(.obj) + 라이브러리(.lib)를 연결하여 실행파일 생성

  • relocator: 링커 후 메모리 재배치 (이 단계 아님)
  • interpreter: 스크립트 언어 실행기 (C/C++에 해당 안 됨)
  • memory allocator: 실행 시점 메모리 할당 처리

 

정답: ①

 

문제 16. 

해설:

Name Mangling은 C++에서 오버로딩을 지원하기 위해 컴파일러가 함수 이름을 유니크하게 바꾸는 기능

 

  • ① 오버로딩: 함수 시그니처 다르게 선언
  • ② 인터프리터: 실행 시 코드 해석
  • ③ 로더: 실행 시 프로그램 메모리에 로딩

 

 

정답: ④

 

문제 17. 함수포인터

해설:

(*funtionPnt1)은 함수의 주소값이므로,

  •  int a = 주소값; 이라는 의미가 되어 버림 → int에 함수 주소를 저장하려 하니 오류 발생
  • 정상적인 방식   int a = (*funtionPnt1)();

정답: ③

 

문제 18. 참조형식

해설:

Plus1은 값 형식이지만 a= Plus1(a,b)이기에 a에는 a + b 값이 전달,

Plus3은 참조 형식으로 a가 변경됨 다시 a = a + b, 

Plus4는 값 형식으로 값이 변경이 안됨으로 출력 시 Plus 3() 이후와 값이 같음 

 

정답: ④

 

문제 19. 동적 메모리 할당

해설:

동적 메모리 할당을 위해서는 malloc() 함수를 사용하고 해제에는 free() 함수,

생성된 동적 메모리는 Heap 영역에 할당됨.

 

정답: ②

 

문제 20. 컴파일 에러 발생 위치 

해설:

C99부터는 가변 길이 배열(VLA) 허용되나,
Visual Studio 2019는 C++에서 VLA 미지원
→ int nArray [len];는 컴파일 오류
동적 할당을 사용해야 함

 

정답: ①

 

문제 21. TCP/IP

해설:

 

  • TCP는 느리지만 신뢰성 보장 (연결지향, 데이터 순서 보장)
  • UDP는 빠르지만 데이터 유실 가능 (비연결지향)

 

정답: ④

 

문제 22. 생성자, 복사 생성자

해설:

복사 생성자

새로운 객체를 만들면서 기존 객체로 초기화할 때 호출.

MyClass b는 객체 a를 복사하여 만드므로 복사 생성자 호출.

MyClass m은 새로운 객체를 만들어서 기존 객체 a로 초기화하는 것이므로 

대입연산자가 아닌 복사 생성자가 호출되어 ABB 출력.

 

정답: ③

 

문제 23. 다중 상속

해설:

 

  • 다중 상속 시, 동일한 이름의 함수가 여러 부모 클래스에 존재하면 모호성 발생
  •  객체명.클래스명::함수() 식으로 명시적으로 호출

 

 

정답: ③

 

문제 24. 포인터

해설:

  • *p++ = i; 는 p 포인터 자체가 앞으로 계속 이동됨
  • → free(p); 시 원래 malloc 한 주소가 아님

 

정답:  

 

문제 25. 추상클래스

해설:

 

  • Base 클래스 생성자 내에서 virtual 함수 호출 금지
  • 이때는 아직 파생 클래스가 생성되지 않은 상태
  • reset()은 순수가상함수 → 구현체 없음 상태에서 호출되어 런타임 에러 발생

 

정답:  

 

게임 알고리즘과 설계

 

문제 1. 이진 탐색

해설:

 

  • 이진 탐색은 매번 검색 범위를 절반씩 줄이므로 로그 시간
  • 시간 복잡도는 O(log n)

 

정답: ②

 

문제 2.

해설:

  • 자기 자신을 호출하는 구조
  • 트리 순회, 프랙탈, 피보나치 등 다양한 알고리즘에서 사용

 

정답: ①

 

문제 3. 큐와 스택

해설:

 

  • 스택은 선형 자료구조 (LIFO)
  • 삽입/삭제가 같은 쪽에서 발생

 

정답:  

 

문제 4. 정렬 알고리즘

해설:

  • 선택 정렬 - 가장 작은(큰) 값을 찾아 앞쪽부터 순차적으로 교환하는 정렬.
  • 삽입 정렬 - 현재 요소를 왼쪽의 정렬된 영역에 적절히 삽입하며 정렬을 확장하는 방식.
  • 퀵 정렬 - 기준을 정하고 작고 큰 값으로 분할을 반복하는 분할 정복 정렬.
  • 버블 정렬 - 인접한 두 값을 비교하며 큰 값을 오른쪽으로 조금씩 밀어내는 정렬.

정답:

 

문제 5. 트리

해설:

 

  • 최소힙은 완전 이진트리이면서 부모 < 자식 (min heap)

 

정답: ④

 

문제 6. 전위 표기법

해설:

전위 연산자는 연산자 - 피연산자 -피연산자 순서

  • B * C
  • D / E
  • A + (B * C)
  • A + (B * C) - (D / E)
  • ((A + (B * C)) - (D / E)) + F
  • +-+A*BC/DEF

 

정답: ①

 

문제 7. 균형 탐색 트리

해설:

 

AVL 트리는 가장 오래된 균형 이진 탐색 트리

삽입/삭제 시 Balance Factor로 균형 유지

  • ② 디지털 트리는 정수/문자열 트리
  • ③ 레드블랙 트리는 색상 기반 균형 유지
  • ④ 2-3-4 트리는 다중 자식 노드 허용 B-Tree

 

정답:

 

문제 8. 완전 그래프

해설:
n개의 정점이 있는 완전 그래프(Kₙ)의 간선 수 = n(n-1)/2

 

정답: ②

 

문제 9. 너비 우선 탐색

해설: 

  • BFS는 큐(Queue) 기반 → 현재 노드에서 인접 노드를 모두 탐색한 후 다음으로 넘어감
  • 정점들의 연결 구조에 따라 순서가 나옴
  • 같은 레벨에 있는 노드들을 먼저 순회한다고 이해하면 됨

정답: ④

 

문제 10. 공간분할기법

해설:

 

  • Octree: 3D 공간 → 8 분할
  • Quad Tree: 2D 공간 → 4 분할
  • BSP: Binary Space Partition, 반으로 나누는 분할
  • PVS: Potentially Visible Set, 가시성 집합

 

정답: ②

 

문제 11. 최단 경로 알고리즘

해설:

다익스트라는 음의 가중치가 없는 그래프에서

시작 정점으로부터 다른 모든 정점까지 최단 거리 계산

힙 기반 우선순위 큐 사용

  • ① 벨만-포드: 음수 가중치 가능
  • ③ A*: 휴리스틱 기반 (예측)
  • ④ BFS: 가중치 없는 그래프에서만 최단 경로

정답:  ② 

 

문제 12. 단위 벡터 계산

해설:

벡터 v 구하기 

벡터의 크기 구하기

단위 벡터 구하기

정답: ①

 

문제 13. 디자인 패턴

해설:

옵저버(Observer) 패턴
대표적인 구독/알림 구조

 

  • ② 팩토리: 객체 생성 책임 분리
  • ③ 커맨드: 명령 캡슐화
  • ④ 스테이트: 상태에 따라 동작 다르게

 

정답:

 

문제 14. 자료구조

해설:

  • 연결 리스트는 메모리상 비연속
  • 캐시 지역성 낮음 → 순회 성능 느림

 

정답: ④

 

문제 15. STL

해설:

  • pop_back()은 vector의 마지막 원소를 제거
  • 참조는 v.back()

정답:

 

문제 16. 해시 충돌 해결

해설:

체이닝 (Chaining)

체이닝은 버킷마다 연결리스트를 두어 충돌 발생 시 뒤에 연결

대표적인 해시 충돌 해결 방식

  • ① 선형 탐사: 충돌 시 한 칸씩 앞으로 이동
  • ② 제곱 탐사: 일정 간격으로 띄워 탐사
  • ④ 이중 해싱: 두 개의 해시 함수 사용

정답: ③

 

문제 17. 알고리즘

해설:

  • 의사결정 트리(Decision Tree)는 시각화가 쉬운 대표적 알고리즘
  • 로직 흐름, 조건 분기 등 모두 트리 형태로 명확히 표현됨

 

 

정답: ③

 

문제 18. 최소신장트리

해설:

 

  • 크루스칼: 여러 정점을 서브트리(집합)로 보고, 사이클을 피하면서 가장 가중치가 낮은 간선을 선택 → 두 집합을 하나로 합침
  • 프림: 하나의 정점에서 시작해서, 트리에 인접한 가장 짧은 간선을 하나씩 추가해 가는 방식
  • 프림 알고리즘은 서브그래프를 병합하지 않음

 

정답: ②

 

문제 19. A* 알고리즘

 

해설:

f(n) = g(n) + h(n)

  • g(n): 시작점부터 현재까지 비용
  • h(n): 휴리스틱 값 (현재 → 목표 예상 비용)

A - C - E - G 까지 간선의 가중치를 합하면 25, G의 휴리스틱 값  80

더하면 105

 

정답: ③

 

문제 20. 선형보간

해설:
a*(1 - t) + b*t  (0 ≤ t ≤ 0.5)  
b*(1 - t) + c*t  (0.5 ≤ t ≤ 1)

→ 단, 2구간에 나눠서 각각 독립적인 t를 적용해야 하므로
보통 내부적으로 t2 = t * 2 또는 (t - 0.5) * 2로 변형

 

정답: ②

 

문제 21. 검색 알고리즘

해설:

 

  • 항상 중간값(mid)을 기준으로 범위를 절반씩 좁힘
  • 정렬된 배열에서 사용되는 전형적인 이진 탐색

 

정답: ①

 

문제 22. 자료구조

해설:

  • 자식 노드가 4개 → 2D 공간에서 구역을 4 분할하는 쿼드 트리 구조
  • 옥트리는 3D에서 8개로 나뉘며 nodes[8]이 필요

 

정답: ②

 

문제 23. 추천 시스템

해설:

콘텐츠 기반 필터링 (Content-Based Filtering)

 

사용자의 관심 콘텐츠와 유사한 콘텐츠 추천

사용자 프로필 기반

과거 정보에 기반 → 새로운 경험 부족, 편향성 있음

 

 

  • ① 장바구니 분석: 연관 규칙 (e.g. A사면 B도 삼)
  • ③ 협업 필터링: 유사한 사용자 행동 기반
  • ④ CNN: 딥러닝 모델 (추천 방식 아님)

 

정답: ②

 

문제 24.

해설:

네비게이션 그래프 (Navigation Graph)

게임 AI에서 길 찾기 용도로 사용

각 노드는 지역/지점, 간선은 연결 경로

경로 탐색 알고리즘(A*, 다익스트라 등)과 함께 사용

  • ① 옥트리: 공간 분할
  • ② 쿼드 트리: 2D 공간 분할
  • ④ 비헤이비어 트리: 행동 결정 트리

 

 

정답: ③

 

문제 25. 알고리즘 탐색법

해설:

최소최대 트리 탐색 (Minmax Tree Search)

MAX는 자기에게 최대 이익을

MIN은 상대에게 최소 이익을 주는 선택

게임 트리의 기본

  • ② 알파-베타 가지치기: Minmax 최적화
  • ③ 몬테카를로: 확률 기반 시뮬레이션
  • ④ 이진트리 탐색: 정렬 트리 탐색

 

 

정답:

 

게임 콘텐츠 프로그래밍

 

문제 1. 행렬

해설:

단위행렬 (Identity Matrix)

 

주대각선이 모두 1, 나머지 0인 정방행렬

행렬 곱 연산에서 항등원 역할

A * I = A

 

  • ① 위삼각행렬: 대각선 위쪽에만 값있음
  • ② 아래삼각행렬: 대각선 아래쪽에만 값있음
  • ④ 45도 회전행렬: 회전 변환 용도 (sin, cos 포함됨)

 

정답: ③

 

문제 2.  행렬

해설:

역행렬

  • ① 단위행렬: 항등원
  • ② 곱셈행렬: 일반 연산
  • ④ 전치행렬: 행/열 전환

 

 

정답: ③

 

문제 3. 벡터 연산

해설:

내적 A·B = |A||B|cosθ

θ가 90° 이상이면 cosθ < 0 → 내적 음수→ 둔각

  • ② > 0 → 예각
  • ③ = 0 → 직각

 

 

정답: ①

 

문제 4. 벡터 연산

해설:

Rim Light는 실루엣 강조 → 카메라 방향과 법선 벡터의 관계 중요

 

  • 법선 벡터(N)와 시선 벡터(V)의 내적
  • N·V가 작을수록 실루엣에 가까움 → Rim Light 강조

 

정답: ④

 

문제 5. 좌표계

해설:

한 점 P를 세 가지 값으로 표현:

  • r: 원점에서의 거리 (반지름)
  • θ (세타): z 축과의 각도 (보통 0 ~ π)
  • φ (파이): x축 기준 수평면에서의 각도 (보통 0 ~ 2π)
    ① 직교 좌표계 (x, y, z)로 표현 각도 없이 좌표만 사용
    ③ 등차 좌표계 일반적으로 쓰이지 않는 용어 혼동 유도 distractor
    ④ 원기둥 좌표계 (r, φ, z) → z는 그대로 유지 θ는 없음 → 구면과 다름

정답: ②

 

문제 6. 호도법

해설:

호도법 변환 공식

정답: ②

 

문제 7.

해설:

톤 매핑 (Tone Mapping)

Tone Mapping: HDR(1.0 이상 밝기)을 **LDR(0~1)**로 압축

게임 후처리 효과에서 중요

 

  • ① Bloom: 밝은 부분 번짐 효과
  • ② Gamma Correction: 감마 밝기 보정
  • ④ Ray Tracing: 광선 기반 렌더링 방식

 

정답: ③

 

문제 8. 렌더링 

해설:

디퍼드 렌더링 (Deferred Rendering)

해설:

  • 디퍼드 렌더링은 조명 정보를 G-buffer에 저장 후
  • 최종 합성 단계에서 계산

① Forward Rendering: 전통 방식, 객체별 조명 계산

② Photon Mapping: 간접조명용

④ Ray Tracing: 광선 추적 기반

 

정답: ③

 

문제 9. Blur

해설:

Gaussian Blur - 가우시안 필터를 이용한 흐림 효과

가장 널리 쓰이는 Blur 방식

  • ② Radial Blur: 중심 기준 회전 흐림
  • ③ Ambient Occlusion: 음영 처리 기법
  • ④ DOF (Depth of Field): 거리 기반 흐림 (Blur는 결과일 뿐, 방식은 아님)

정답: ①

 

문제 10. 텍스처

 

해설:

Light Mapping -정적인 조명 정보를 Light Map에 저장

Diffuse와 곱하여 조명 효과 있는 텍스처 구현

  • ① Normal Mapping: 표면 굴곡 표현
  • ② Diffuse Mapping: 기본 표면 색상
  • ③ Ray Tracing: 실시간 조명 계산

정답: ④

 

문제 11. 좌표계

해설:

  • 오른손 좌표계에서 피치 (Pitch)는 X축 회전

 

 

정답: ①

 

문제 12.

해설:

  • 태양은 멀리서 한 방향으로 빛을 줌 → Directional Light
  • Spot Light는 원뿔 형태로 제한된 범위를 비춤

 

 

정답: ②

 

문제 13. 방향벡터

해설:

cosθ

  • A·B = |A||B|cosθ
  • 내적 결과가 클수록 → 두 벡터 방향 유사 (시야 안에 있음)
  • cosθ > 0이면 전방

정답:  

 

문제 14. 곡선 처리 기법

해설:
Spline - 여러 점을 부드러운 곡선으로 연결

  • ② Ray: 직선 (광선 추적)
  • ③ Line: 직선
  • ④ Plane: 평면

정답: ①

 

문제 15. 모션 트래킹

해설:

  • 센서 좌표 → 게임 좌표 변환 시 일반적으로 변환 행렬이나 좌표계 보정 매트릭스를 사용
  • 투영행렬의 역행렬은 클립 공간 → 뷰 공간 변환용이므로 사용 위치가 다름

 

 

정답: ④

 

문제 16. 높이맵 기반 지형 생성

해설:

흑백 이미지의 픽셀 밝기값으로 높이를 정함

보통 0~255 범위의 값 사용

 

  • ① 탄젠트 함수 사용 아님
  • ③ 광원 거리는 조명 처리용
  • ④ 폴리곤 노출도는 Ambient Occlusion 개념

 

 

정답: ②

 

문제 17. 애니메이션

해설:

스키닝 (Skinning)

 

스키닝은 정점에 가중치를 부여해 여러 본(bone)의 영향을 받게 함

관절 부위 찢어짐 현상 방지

  • ① 모션 리타겟팅: 애니메이션 재적용
  • ② 모션 빌더: 소프트웨어 이름
  • ④ 모핑: 형태 변화 애니메이션

 

정답: ③

 

문제 18. 정점 셰이더

해설:

  • 정점 셰이더: 주로 위치, 애니메이션, 스킨 처리
  • 블러는 픽셀 셰이더(Post Effect)에서 처리
  • 조명 계산 가능
  • 텍스처 좌표 애니메이션 가능
  • 캐릭터 애니메이션 (스키닝) 가능

 

 

정답: ④

 

문제 19. 공간 변환

 

해설:

투영 공간 (Projection Space)

View Space → Projection Space로 변환 후

정규화된 장치 좌표 → 화면으로 출력됨

  • ① 물체 공간: 로컬 좌표
  • ③ 월드 공간: 전체 세계 기준 좌표
  • ④ 광원 공간: 그림자 계산 시 사용

정답: ② 

 

문제 20. 렌더링 처리

해설:

 

컬러 그레이딩은 색상 보정 LUT(Texture)를 사용

Z-buffer는 깊이 정보 저장용이며 관련 없음

 

  • ② DoF는 심도 기반 블러
  • ③ 모션 블러는 포스트 이펙트
  • ④ 멀티 패스 렌더링은 여러 번 렌더링 후 조합

 

 

정답: ①

 

문제 21. 광원

해설:

Point Light (점광원)

  • 한 점에서 빛이 모든 방향으로 퍼짐
  • 각 위치에서 빛의 방향이 달라짐
  • 위치에 따라 조도 및 각도 θ가 달라짐
  • ① Ambient Light는 모든 물체에 균일하게 적용되는 기본 조명
  • ② Directional Light: 태양처럼 멀리서 오는 평행광
  • ④ Spot Light: 원뿔형 방향성 조명

 

정답:  

 

문제 22. 충돌처리

해설:

 

  • 삼각형과 Ray의 충돌은 수학적으로 계산 가능

 

정답: ③

 

문제 23. 버퍼

해설:

 

프레임 버퍼- 렌더링 결과인 픽셀 색상값을 저장

최종적으로 모니터에 출력되는 이미지 저장소

  • ① 인덱스 버퍼: 정점 재사용을 위한 인덱스 정보
  • ③ 스텐실 버퍼: 마스킹, 조건부 렌더링
  • ④ 깊이 버퍼(Z-buffer): 픽셀 깊이 정보 저장

 

정답: ②

 

문제 24. 물리 기반 셰이딩

해설:

프레넬 효과 - 시선 각도에 따라 반사가 강해짐

매끄러운 금속, 플라스틱 표면에서 강하게 나타남

입사각이 작을수록 반사 강도 증가

  • ① Diffuse: 난반사
  • ② Ambient: 환경광
  • ④ Emissive: 자체 발광

 

 

정답: ③

 

문제 25. 애니메이션 

해설:

 

키프레임 - 애니메이터가 지정한 주요 포즈

중간 프레임은 자동 계산 (보간)

Unity, Maya, Blender 등에서 일반적 방식

  • ① 계층적 애니메이션: 부모-자식 구조
  • ② 정점 애니메이션: 프레임별로 정점 위치 저장
  • ④ 스키닝: 뼈대+가중치로 애니메이션 처리

 

정답: ③