언리얼 엔진 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의 콘텐츠 팀입니다.
관련 포스트
비즈니스
언리얼 엔진 5 배우고 프리랜서 단가 3배 올렸습니다
유니티 프리랜서 개발자가 언리얼 엔진 5를 배워 일당 30만원에서 100만원으로 단가를 올린 실제 이야기입니다.
•5분 읽기
비즈니스
글로벌 게임잼 대상 수상! 언리얼 엔진 5가 우승의 비결이었습니다
대학생 팀이 언리얼 엔진 5로 48시간 만에 게임을 만들어 글로벌 게임잼에서 대상을 수상하고 게임 회사 스카웃까지 받은 이야기입니다.
•4분 읽기
비즈니스
대학생 인턴, 언리얼 엔진 5로 3개월 만에 정규직 전환 (연봉 5000만원)
게임 회사 인턴으로 시작한 대학생이 언리얼 엔진 5 실력으로 빠르게 인정받아 정규직으로 전환된 성공 스토리입니다.
•1분 읽기