언리얼 엔진 5로 차량 & 교통 시스템 만들기: GTA 같은 도시 구현

언리얼 엔진 5로 현실적인 차량 물리와 AI 교통 시스템을 구현하는 완벽 가이드입니다.

럿지 AI 팀
3분 읽기

차량 & 교통 시스템 완벽 구현



Part 1: 플레이어 차량 시스템



Vehicle Movement Component



**차량 Blueprint 생성:**
1. Pawn Blueprint: BP_PlayerVehicle
2. Skeletal Mesh 추가 (차량 모델)
3. Vehicle Movement Component 추가

**물리 설정:**
- Mass: 1500 kg (일반 승용차)
- Center of Mass: Z=-50 (낮게)
- Drag Coefficient: 0.3

바퀴 설정



**4개 바퀴 설정:**
``
Front Left/Right:
- Radius: 35
- Width: 20
- Affected by Handbrake: No

Rear Left/Right:
- Radius: 35
- Width: 20
- Affected by Handbrake: Yes
`

**Wheel Blueprint:**
- Friction: 3.0 (도로)
- Suspension: 자연스러운 움직임

입력 설정



**Input Action 생성:**
- Throttle (W/S): 전진/후진
- Steering (A/D): 좌/우 회전
- Handbrake (Space): 핸드브레이크

**Blueprint 연결:**
`blueprint
Throttle Input → Set Throttle Input
Steering Input → Set Steering Input
Handbrake → Set Handbrake Input
`

카메라 설정



**Spring Arm Component:**
- Target Arm Length: 600
- Socket Offset: Z=200
- Enable Camera Lag: Yes
- Camera Lag Speed: 3.0

**Camera:**
- Field of View: 90

Part 2: AI 차량 시스템



AI Vehicle Blueprint



**생성:**
- Blueprint: BP_AIVehicle
- AI Controller: BP_AIVehicleController
- 차량 컴포넌트 재사용

Spline 경로 시스템



**도로 경로 생성:**
1. Blueprint Actor: BP_RoadPath
2. Spline Component 추가
3. 도로를 따라 포인트 배치

**경로 분기:**
- Junction Point에서 랜덤 선택
- 우회전/좌회전/직진

AI 주행 로직



**Behavior Tree:**
`
Sequence
├── Task: 다음 Spline 포인트 찾기
├── Task: 해당 위치로 이동
├── Decorator: 속도 조절 (커브에서 감속)
└── Task: 충돌 회피
`

**속도 제어:**
`blueprint
IF 커브 각도 > 30도:
Target Speed = 40 km/h
ELSE IF 직선:
Target Speed = 60 km/h
`

Part 3: 교통 시스템



Traffic Manager



**싱글톤 Actor:**
- BP_TrafficManager
- 전역 교통 관리

**차량 스폰:**
`blueprint
1. 스폰 포인트 정의 (도로 시작 지점)
2. 일정 시간마다 차량 생성
3. 최대 차량 수 제한 (50대)
`

**Object Pooling:**
- 차량 재사용 (생성/삭제 비용 절감)
- 화면 밖 차량 비활성화

신호등 시스템



**Traffic Light Blueprint:**
`blueprint
States:
- Red: 30초
- Yellow: 3초
- Green: 30초

Event Tick:
- 타이머 업데이트
- 상태 전환
- AI 차량에 신호 전송
`

**AI 차량 반응:**
`blueprint
IF 앞에 신호등:
IF Red or Yellow:
Stop (감속 후 정지)
ELSE:
Go (통과)
`

충돌 회피



**Ray Cast 감지:**
`blueprint
Forward Ray (1000cm):
IF Hit Vehicle:
Brake
Keep Distance (500cm)
`

**차선 변경:**
- 앞 차량이 느리면 차선 변경 시도
- 옆 차선 체크 후 안전하면 이동

Part 4: 최적화



LOD 설정



**거리별 디테일:**
`
< 500cm: High Detail (물리 full)
< 2000cm: Medium (물리 simplified)
> 2000cm: Low (애니메이션만)
`

Tick 최적화



`blueprint
플레이어 거리:
< 1000: Tick Interval = 0.016 (60fps)
< 3000: Tick Interval = 0.1 (10fps)
> 3000: Tick Interval = 0.5 (2fps)
``

물리 최적화



**화면 밖 차량:**
- 단순 물리 (박스 콜리전)
- 애니메이션 비활성화
- 경로만 추적

50대 차량 동시 구동



**시스템 구성:**
1. Traffic Manager: 전역 관리
2. Road Network: Spline 경로
3. Traffic Lights: 신호 시스템
4. AI Vehicles: 자동 주행
5. Collision System: 충돌 방지

**60fps 유지:**
- LOD 시스템
- Object Pooling
- 거리별 업데이트 주기
- 물리 최적화

실전 프로젝트



**완성 예시:**
언리얼 엔진 5 스파르타 클래스

**구현 내용:**
- 플레이어 차량 (GTA 스타일)
- AI 교통 50대
- 신호등 시스템
- 충돌 회피
- 60fps 최적화

---

**태그**: #언리얼엔진 #UE5 #차량시스템 #교통시스템 #게임개발 #물리시뮬레이션

L

럿지 AI 팀

AI 기술과 비즈니스 혁신을 선도하는 럿지 AI의 콘텐츠 팀입니다.