3D 게임 개발
3D 게임 시스템을 위한 원리.
1. 렌더링 파이프라인
단계
1. 버텍스 처리 → 지오메트리 변환
2. 래스터화 → 픽셀로 변환
3. 프래그먼트 처리 → 픽셀 색상 지정
4. 출력 → 화면으로
최적화 원칙
| 기법 | 목적 |
|---|
| 절두체 컬링 | 화면 밖은 렌더링하지 않음 |
| 폐색 컬링 | 가려진 것은 렌더링하지 않음 |
| LOD | 먼 거리에서는 디테일 감소 |
| 배칭 | 드로우 콜 통합 |
2. 셰이더 원리
셰이더 유형
| 유형 | 목적 |
|---|
| 버텍스 | 위치, 법선 |
| 프래그먼트/픽셀 | 색상, 조명 |
| 컴퓨트 | 일반 계산 |
커스텀 셰이더를 작성해야 하는 경우
- 특수 효과 (물, 불, 포탈)
- 스타일화된 렌더링 (툰, 스케치)
- 성능 최적화
- 독특한 시각적 정체성
3. 3D 물리
충돌 형태
| 형태 | 사용 사례 |
|---|
| 박스 | 건물, 상자 |
| 구체 | 공, 빠른 체크 |
| 캡슐 | 캐릭터 |
| 메시 | 지형 (비용 높음) |
원칙
- 단순한 충돌체, 복잡한 시각물
- 레이어 기반 필터링
- 시선 확인을 위한 레이캐스팅
4. 카메라 시스템
카메라 유형
| 유형 | 용도 |
|---|
| 3인칭 | 액션, 어드벤처 |
| 1인칭 | 몰입형, FPS |
| 등각 | 전략, RPG |
| 궤도 | 검사, 편집기 |
카메라 느낌
- 부드러운 추종 (lerp)
- 충돌 회피
- 움직임을 위한 선행 보기
- 속도에 따른 FOV 변화
5. 조명
조명 유형
| 유형 | 용도 |
|---|
| 방향광 | 태양, 달 |
| 점광 | 램프, 횃불 |
| 스포트라이트 | 손전등, 무대 |
| 앰비언트 | 기본 조명 |
성능 고려사항
- 실시간 그림자는 비용이 높음
- 가능하면 베이크
- 대규모 월드를 위한 섀도우 캐스케이드
6. 레벨 오브 디테일 (LOD)
LOD 전략
| 거리 | 모델 |
|---|
| 가까움 | 전체 디테일 |
| 중간 | 삼각형 50% |
| 먼 | 25% 또는 빌보드 |
7. 안티 패턴
| ❌ 하지 말 것 | ✅ 할 것 |
|---|
| 모든 곳에 메시 콜라이더 | 단순한 형태 |
| 모바일에서 실시간 그림자 | 베이크 또는 블롭 그림자 |
| 모든 거리에 단일 LOD | 거리 기반 LOD |
| 최적화되지 않은 셰이더 | 프로파일링 및 단순화 |
기억하세요: 3D는 환영입니다. 디테일 자체가 아니라 디테일의 인상을 만들어내세요.
사용 시기
이 기술은 개요에 설명된 워크플로우 또는 액션을 실행할 때 적용됩니다.
제한 사항
- 이 기술은 작업이 위에 설명된 범위와 명확히 일치할 때만 사용하십시오.
- 결과물을 환경별 검증, 테스트 또는 전문가 검토의 대체물로 취급하지 마십시오.
- 필요한 입력, 권한, 안전 경계, 성공 기준이 누락된 경우 멈추고 명확히 요청하십시오.