1. 광고배너
  2. 광고배너
/ 이전버튼 다음버튼
2
미리보기

프로젝트 기반으로 배우는 언리얼 엔진 5 게임 개발 2/e:개정판 - 언리얼 엔진 5와 C++를 활용한 게임 아이디어 실현(에이콘 게임 개발 프로그래밍 시리즈)
저자 : 곤살로 마르케스, 데빈 쉐리, 데이비드 페레이라, 하마드 포지 ㅣ 출판사 : 에이콘출판 ㅣ 역자 : 장세윤

2023.09.27 ㅣ 900p ㅣ ISBN-13 : 9791161757872

정가65,000
판매가61,750(5% 할인)
적립금 2,600원 (4%)
배송일정 05월 20일 출고 가능
주문 수량 변경시 안내 배송안내
쿠폰 및 결제혜택 확인하기

크기 기타 규격
제품구성 단행본
이용약관 청약철회
국내도서 > 컴퓨터 > 컴퓨터일반 > 컴퓨터게임
언리얼 엔진 5를 활용한 게임 개발에 필요한 기술을 충실히 설명한다. 언리얼 엔진 5에 대한 소개를 시작으로, 게임 플레이 프레임워크, 엔진에 임포트한 콘텐츠를 C++에서 로드하는 방법, 언리얼 C++ 클래스와 블루프린트의 연동 방법, 플레이어 입력 처리, 라인 트레이스(Line Trace), 물체간 충돌 처리 방법, 액터 컴포넌트, 인터페이스, 블루프린트 함수 라이브러리 등의 언리얼 엔진 5 유틸리티 활용 방법, 사용자 인터페이스(User Interface), 사운드 및 오디오 이펙트 사용 방법, 블렌드 스페이스, 애니메이션 몽타주 등 애니메이션 활용 방법, 비헤이비어 트리와 블랙보드를 활용한 인공 지능 시스템 개발, 멀티 플레이어에 대한 내용까지 언리얼 엔진 5를 활용해 게임 제작을 할 때 필수적인 내용을 모두 다룬다.
각 내용에 대한 설명에 그치지 않고 배운 내용을 활용할 수 있도록 단계별로 프로젝트를 진행한다. 멀티 플레이어에 대한 내용까지 다루고 있기 때문에 싱글 플레이어 게임을 준비하는 개발자뿐만 아니라 멀티 플레이어 게임을 준비하는 개발자에게도 좋은 책이 될 수 있을 것이다.
펼쳐보기

[목 차]

1장. 언리얼 엔진 소개
__기술적 요구 사항
____실습 1.01: 언리얼 엔진 5 프로젝트 생성하기
__언리얼 엔진 살펴보기
__에디터 창 탐험하기
__뷰포트 탐색
__액터 조작하기
____실습 1.02: 액터를 추가 및 삭제하기
__블루프린트 액터
____실습 1.03: 블루프린트 액터 생성하기
__블루프린트 에디터 탐험하기
__이벤트 그래프 창 탐험하기
____실습 1.04: 블루프린트 변수 생성하기
____실습 1.05: 블루프린트 함수 생성하기
__곱하기 노드 이해하기
__BeginPlay와 Tick 이벤트 탐험하기
____실습 1.06: TestActor 클래스를 Z축으로 이동시키기
__ThirdPersonCharacter 블루프린트 클래스
__메시와 머티리얼의 사용법 탐험하기
____메시
____머티리얼
__UE5에서 머티리얼 조작하기
____활동 1.01: TestActor를 Z축으로 계속 이동시키기
__요약


2장. 언리얼 엔진을 활용한 작업
__기술적 요구 사항
__빈 C++ 프로젝트를 생성하고 설정하기
____실습 2.01: 빈 C++ 프로젝트 생성하기
__언리얼 엔진의 Content 폴더 구조
__비주얼 스튜디오 솔루션을 활용해 작업하기
____비주얼 스튜디오에서 코드 디버깅하기
____실습 2.02: 삼인칭 템플릿 코드 디버깅하기
__필요한 애셋 임포트하기
____실습 2.03: 캐릭터 FBX 파일 임포트하기
__언리얼 게임 모드 클래스
____게임 모드 기본 클래스
____게임플레이 이벤트
____네트워킹
____GameModeBase와 게임 모드 비교하기
__레벨과 레벨 블루프린트 이해하기
____언리얼 폰 클래스
____언리얼 플레이어 컨트롤러 클래스
____실습 2.04: 게임 모드, 플레이어 컨트롤러, 폰 설정하기
__애니메이션 활용하기
____애니메이션 블루프린트
____이벤트 그래프
____애님 그래프
____스테이트 머신
____트랜지션 룰
____블렌드 스페이스
____실습 2.05: 마네킹 애니메이션 만들기
____활동 2.01: 캐릭터에 애니메이션 연결하기
__요약


3장. Character 클래스 컴포넌트 및 블루프린트 설정
__기술적 요구 사항
__언리얼 캐릭터 클래스
____캐릭터 클래스 확장하기
____실습 3.01: 삼인칭 캐릭터 C++ 클래스 생성 및 설정하기
__C++ 클래스를 블루프린트에서 확장하기
____실습 3.02: 블루프린트로 C++ 클래스 확장하기
____활동 3.01: 애니메이션 프로젝트에서 C++ 캐릭터 클래스를 블루프린트로 확장하기
__요약


4장. 플레이어 입력 시작
__기술적 요구 사항
__입력 액션과 입력 콘텍스트 이해하기
____실습 4.01: Movement와 Jump 입력 액션 생성하기
__플레이어 입력 처리하기
____실습 4.02: Movement 및 Jump 입력 액션 수신하기
__캐릭터 주변으로 카메라 회전시키기
____활동 4.01: 캐릭터에 걷기 로직 추가하기
__요약


5장. 라인 트레이스를 활용한 충돌 처리
__기술적 요구 사항
__콜리전 소개
__프로젝트 설정
____실습 5.01: DodgeballCharacter를 톱다운 시점으로 전환하기
__라인 트레이스 이해하기
__EnemyCharacter C++ 클래스 생성하기
____실습 5.02: 라인 트레이스를 실행하는 CanSeeActor 함수 생성하기
__라인 트레이스 시각화하기
____실습 5.03: LookAtActor 함수 만들기
__EnemyCharacter 블루프린트 클래스 생성하기
__스윕 트레이스
____실습 5.04: 스윕 트레이스 실행하기
____Visibility 트레이스 반응 변경하기
____멀티 라인 트레이스
____Camera 트레이스 채널
____실습 5.05: 커스텀 EnemySight 트레이스 채널 만들기
____활동 5.01: SightSource 속성 생성하기
__요약


6장. 콜리전 오브젝트 설정
__기술적 요구 사항
__UE5에서의 물체 간 충돌
__콜리전 컴포넌트
__충돌 이벤트 이해하기
__콜리전 채널 이해하기
____실습 6.01: Dodgeball 클래스 생성하기
__피지컬 머티리얼 생성하기
____실습 6.02: DodgeballProjectile에 프로젝타일 무브먼트 컴포넌트 추가하기
__타이머 도입하기
__액터 생성 방법 이해하기
____실습 6.03: EnemyCharacter 클래스에 발사체 던지기 로직 추가하기
__Wall 클래스 생성하기
____실습 6.04: Wall 클래스 생성하기
__빅토리 박스 생성하기
____실습 6.05: VictoryBox 클래스 만들기
____실습 6.06: DodgeballProjectile에 ProjectileMovementComponent Getter 함수 추가하기
____활동 6.01: EnemyCharacter의 SpawnActor를 SpawnActorDeferred 함수로 대체하기
__요약


7장. UE5 유틸리티 활용
__기술적 요구 사항
__모범 사례: 느슨한 결합
__블루프린트 함수 라이브러리
____실습 7.01: CanSeeActor 함수를 블루프린트 함수 라이브러리로 옮기기
__액터 컴포넌트
____실습 7.02: HealthComponent 액터 컴포넌트 만들기
____실습 7.03: HealthComponent 액터 컴포넌트 통합하기
__인터페이스 살펴보기
__블루프린트 네이티브 이벤트
____실습 7.04: HealthInterface 클래스 만들기
____활동 7.01: LookAtActor 로직을 액터 컴포넌트로 옮기기
__요약


8장. UMG로 사용자 인터페이스 만들기
__기술적 요구 사항
__게임 UI
__UMG 기초
____실습 8.01: 위젯 블루프린트 생성하기
__앵커 소개하기
____실습 8.02: UMG 앵커 편집하기
____실습 8.03: RestartWidget C++ 클래스 생성하기
____실습 8.04: RestartWidget을 화면에 추가하는 로직 만들기
____실습 8.05: DodgeballP--layerController 블루프린트 클래스 설정하기
__프로그레스 바 이해하기
____실습 8.06: 체력 바 C++ 로직 추가하기
____활동 8.01: RestartWidget 향상시키기
__요약


9장. 오디오-비주얼 요소 추가
__기술적 요구 사항
__UE5의 오디오
____실습 9.01: 오디오 파일 임포트하기
____실습 9.02: 닷지볼이 표면에 부딪힐 때마다 사운드 재생하기
__Sound Attenuation
____실습 9.03: BOUND SOUND를 3D 사운드로 변경하기
____실습 9.04: 게임에 배경 음악 추가하기
__파티클 시스템 이해하기
____실습 9.05: 닷지볼이 플레이어에 맞았을 때 파티클 시스템 생성하기
____활동 9.01: 닷지볼이 플레이어에 맞을 때 오디오 재생하기
__레벨 디자인 살펴보기
____실습 9.06: 레벨 블록아웃 제작하기
__추가 기능
__요약


10장. 슈퍼 사이드 스크롤러 게임 만들기
__기술적 요구 사항
__프로젝트 분석
__플레이어 캐릭터
__삼인칭 템플릿을 사이드 스크롤러로 전환하기
____실습 10.01: 횡스크롤 프로젝트 생성 및 캐릭터 무브먼트 컴포넌트 사용해보기
____활동 10.01: 캐릭터가 더 높이 점프하도록 만들기
__슈퍼 사이드 스크롤러 게임의 기능 살펴보기
____적 캐릭터
____파워업
____수집용 아이템
____헤드업 디스플레이
____실습 10.02: 페르소나 에디터와 기본 마네킹 스켈레톤의 가중치 조정해보기
____활동 10.02: 스켈레탈 본 조작 및 애니메이션
__언리얼 엔진 5의 애니메이션 이해하기
____스켈레톤
____스켈레탈 메시
____애니메이션 시퀀스
____실습 10.03: 캐릭터와 애니메이션의 임포트 및 설정
____활동 10.03: 더 많은 커스텀 애니메이션을 임포트하고 캐릭터의 달리는 애니메이션 확인하기
__요약


11장. 블렌드 스페이스 1D, 키 바인딩, 스테이트 머신
__기술적 요구 사항
__블렌드 스페이스 생성하기
____1D 블렌드 스페이스 vs. 일반 블렌드 스페이스
____실습 11.01: CharacterMovement 블렌드 스페이스 1D 생성하기
____활동 11.01: 걷기와 달리기 애니메이션을 블렌드 스페이스에 추가하기
__메인 캐릭터 애니메이션 블루프린트
____애니메이션 블루프린트
____실습 11.02: 캐릭터 애니메이션 블루프린트에 블렌드 스페이스 추가하기
__속도 벡터란?
____실습 11.03: 블렌드 스페이스에 캐릭터의 Speed 변수 전달하기
____활동 11.02: 게임에서 달리는 애니메이션 미리보기
__향상된 입력 시스템
____실습 11.04: 전력 질주를 위한 입력 추가하기
____실습 11.05: 캐릭터 블루프린트의 부모 클래스 재설정하기
____실습 11.06: 캐릭터 전력 질주 기능 코딩하기
____활동 11.03: 던지기 입력 구현하기
__애니메이션 스테이트 머신
____실습 11.07: 플레이어 캐릭터의 이동 및 점프 스테이트 머신
____트랜지션 룰
____실습 11.08: 스테이트 머신에 새 스테이트와 트랜지션 룰 추가하기
____실습 11.09: Time Remaining Ratio 함수
____활동 11.04: Movement와 Jumping 스테이트 머신 완성하기
__요약


12장. 애니메이션 블렌딩과 몽타주
__기술적 요구 사항
__애니메이션 블렌딩, 애님 슬롯, 애니메이션 몽타주
____실습 12.01: 애니메이션 몽타주 설정하기
__애니메이션 몽타주
____실습 12.02: 몽타주에 던지기 애니메이션 추가하기
__Anim Slot Manager
____실습 12.03: 새 애님 슬롯 추가하기
__Save Cached Pose
____실습 12.04: Movement 스테이트 머신의 Save Cached Pose
__Layered blend per bone
____실습 12.05: Upper Body 애님 슬롯과 애니메이션 블렌딩하기
____실습 12.06: Throw 애니메이션 미리보기
__슈퍼 사이드 스크롤러 게임의 적
____실습 12.07: 기본 적 C++ 클래스 생성하기
____실습 12.08: 적 애니메이션 블루프린트의 생성 및 적용
__머티리얼과 머티리얼 인스턴스
____실습 12.09: 적 머티리얼 인스턴스의 생성 및 적용
____활동 12.01: 블렌드 웨이트 업데이트하기
__요약


13장. 적 AI 생성 및 추가
__기술적 요구 사항
__적 AI
__AI 컨트롤러
____Auto Possess AI
____실습 13.01: AI 컨트롤러 구현하기
__내비게이션 메시
____실습 13.02: 적을 위한 내비 메시 볼륨 구현하기
__RecastNavMesh
____실습 13.03: RecastNavMesh 볼륨 파라미터
____활동 13.01: 새 레벨 생성하기
__비헤이비어 트리와 블랙보드
____태스크
____데코레이터
____서비스
____실습 13.04: AI 비헤이비어 트리와 블랙보드 생성하기
____실습 13.05: 비헤이비어 트리 태스크 생성하기
____실습 13.06: 비헤이비어 트리 로직 생성하기
____활동 13.02: 플레이어 위치로 이동하는 AI
____실습 13.07: 적 정찰 위치 생성하기
__벡터 변환
____실습 13.08: 배열에서 랜덤 위치 선택하기
____실습 13.09: 정찰 위치 액터 참조하기
____실습 13.10: BTTask_FindLocation 업데이트하기
__플레이어 발사체
____실습 13.11: 플레이어 발사체 생성하기
____실습 13.12: P--layerProjectile 클래스의 설정 초기화하기
____활동 13.03: 플레이어 발사체 블루프린트 생성하기
__요약


14장. 플레이어 발사체 생성
__기술적 요구 사항
__애님 노티파이와 애님 노티파이 스테이트
____실습 14.01: UAnimNotify 클래스 생성하기
____실습 14.02: Throw 애니메이션 몽타주에 새 노티파이 추가하기
__애니메이션 몽타주 재생하기
____블루프린트에서 애니메이션 몽타주 재생하기
____C++에서 애니메이션 몽타주 재생하기
____실습 14.03: C++에서 Throw 애니메이션 재생하기
____실습 14.04: 발사체 생성 소켓 만들기
____실습 14.05: SpawnProjectile() 함수 준비하기
____실습 14.06: Anim_ProjectileNotify 클래스 업데이트하기
__액터 제거하기
____실습 14.07: DestroyEnemy() 함수 생성하기
____실습 14.08: 발사체 제거하기
____활동 14.01: 적을 파괴하는 발사체
__비주얼 이펙트와 오디오 이펙트
____비주얼 이펙트
____오디오 이펙트
____실습 14.09: 적이 파괴될 때 이펙트 추가하기
____실습 14.10: 플레이어 발사체에 이펙트 추가하기
____실습 14.11: VFX 노티파이와 SFX 노티파이 추가하기
____활동 14.02: 발사체가 파괴될 때 이펙트 추가하기
__요약


15장. 수집 아이템, 강화 아이템, 픽업 아이템
__기술적 요구 사항
__URotatingMovementComponent 이해하기
____실습 15.01: PickableActor_Base 액터 클래스 생성 및 URotatingMovementComponent 추가하기
____활동 15.01: PickableActor_Base에서 플레이어 오버랩 감지 및 이펙트 생성하기
____실습 15.02: PickableActor_Collectable 클래스 생성하기
____활동 15.02: PickableActor_Collectable 액터 마무리하기
__UE_LOG를 사용해 변수 출력하기
____실습 15.03: 플레이어가 수집한 코인의 수 추적하기
__언리얼 모션 그래픽 UI 소개하기
__Text 위젯 이해하기
____앵커
____텍스트 서식
____실습 15.04: 코인 카운터 UI HUD 요소 생성하기
__UMG 사용자 위젯의 추가와 생성
____실습 15.05: 플레이어 화면에 코인 카운터 UI 추가하기
__타이머 사용하기
____실습 15.06: 플레이어에게 파워업 물약 동작 추가하기
____활동 15.03: 파워업 물약 액터 생성하기
____실습 15.07: Brick 클래스 생성하기
____실습 15.08: Brick 클래스 C++ 로직 추가하기
__요약
__새로운 도전 과제


16장. 멀티플레이어 기본
__기술적 요구 사항
__멀티플레이어의 기본
__서버 이해하기
____데디케이트 서버
____리슨 서버
__클라이언트 이해하기
____실습 16.01: 멀티플레이어에서 삼인칭 템플릿 테스트하기
__프로젝트 패키징하기
____연결과 오너십 살펴보기
____롤 살펴보기
____액터가 서버에서 생성됨
____액터가 클라이언트에서 생성됨
____플레이어가 소유한 폰이 서버에서 생성됨
____플레이어가 소유한 폰이 클라이언트에서 생성됨
____실습 16.02: 오너십과 롤 구현하기
____서버 창의 출력
____서버 캐릭터
____클라이언트 1 캐릭터
____OwnershipTest 액터
____클라이언트 1 창의 출력
__변수 리플리케이션 이해하기
____복제된 변수
____실습 16.03: Replicated, ReplicatedUsing, DOREPLIFETIME, DOREPLIFETIME_CONDITION을 사용해 변수 복제하기
____서버 창의 출력
____클라이언트 1 창의 출력
__2D 블렌드 스페이스
____실습 16.04: Movement 2D 블렌드 스페이스 생성하기
__본 변환하기
____실습 16.05: 위아래로 보는 캐릭터 만들기
____활동 16.01: 멀티플레이어 FPS 프로젝트에 사용할 캐릭터 생성하기
__요약


17장. RPC 사용
__기술적 요구 사항
__RPC 이해하기
____서버 RPC
____멀티캐스트 RPC
____클라이언트 RPC
____RPC를 사용할 때 주의할 사항
____실습 17.01: RPC 사용하기
__에디터에 열거형 노출시키기
____TEnumAsByte
____UMETA
____BlueprintType
____실습 17.02: 에디터에서 C++ 열거형 사용하기
__순환 배열 인덱싱
____실습 17.03: 양방향 순환 배열 인덱싱을 활용한 열거형 순환
____활동 17.01: 멀티플레이어 FPS 게임에 무기와 탄약 추가하기
__요약


18장. 멀티플레이어에서 게임플레이 프레임워크 클래스 사용
__기술적 요구 사항
__멀티플레이어에서 게임플레이 프레임워크 클래스 접근하기
____실습 18.01: 게임플레이 프레임워크 인스턴스 값 표시하기
____서버 창 출력
____클라이언트 1 창
__게임 모드, 플레이어 스테이트, 게임 스테이트 사용하기
____게임 모드
____플레이어 스테이트
____게임 스테이트
____유용한 내장 기능들
____실습 18.02: 간단한 멀티플레이어 아이템 줍기 게임 만들기
____활동 18.01: 멀티플레이어 FPS 게임에 죽음, 리스폰, 스코어보드, 킬 제한, 아이템 추가하기
__요약


__찾아보기
펼쳐보기
◈ 이 책에서 다루는 내용 ◈
◆ 모든 기능을 갖춘 삼인칭 캐릭터와 적 제작
◆ 키보드, 마우스, 게임패드를 사용한 레벨 탐색 기능 구현
◆ 콜리전과 파티클 이펙트를 활용한 프로그램 로직 및 게임 메카닉 구현
◆ 블랙보드와 비헤이비어 트리를 활용한 AI 탐색 기능 구현
◆ 애니메이션 블루프린트와 애니메이션 몽타주를 활용한 캐릭터 애니메이션 제작
◆ 멋진 비주얼 이펙트 및 오디오 이펙트를 활용한 게임 폴리싱 방법
◆ 헤드업 디스플레이(HUD)를 활용한 기본적인 게임 UI의 제작
◆ 게임에 멀티플레이어를 구현하는 방법

◈ 이 책의 대상 독자 ◈
프로젝트에 언리얼 엔진 5(UE5, Unreal Engine 5)를 처음 사용하려는 게임 개발자를 대상으로 하는 책이다. 하지만 언리얼 엔진을 이미 경험했으며 자신의 기술을 통합하고 향상시켜 적용하려는 이들에게도 유용하다. 이 책에 설명된 개념을 충분히 이해하려면 C++에 대한 기본 지식이 필요하며 변수, 함수, 클래스, 다형성, 포인터를 이해해야 한다. 또한 책에 사용된 통합 개발 환경(IDE, Integrated Development Environment)과의 완전한 호환성을 위해 윈도우 시스템을 권장한다.

◈ 이 책의 구성 ◈
1장. ‘언리얼 엔진 소개’에서는 언리얼 엔진 에디터를 살펴본다. 에디터 인터페이스를 소개하며, 레벨에서 액터를 조작하는 방법과 비주얼 스크립팅 언어인 블루프린트의 기초를 이해하기 위한 내용을 다룬다. 또한 메시(mesh)에서 사용할 수 있는 머티리얼 애셋을 만드는 방법도 알아본다.
2장. ‘언리얼 엔진을 활용한 작업’에서는 C++ 프로젝트를 생성하고 프로젝트의 콘텐츠 폴더(Content Folder)를 설정하는 방법과 함께 언리얼 엔진 게임의 기본 사항을 소개한다. 또한 애니메이션 관련 내용도 살펴본다.
3장. ‘Character 클래스 컴포넌트 및 블루프린트 설정’에서는 객체 상속에 대한 개념 및 입력 매핑을 활용하는 방법과 함께 언리얼 캐릭터(Unreal Character) 클래스를 소개한다.
4장. ‘플레이어 입력 시작’에서는 플레이어 입력을 살펴본다. 액션 매핑 및 축 매핑을 활용해 점프나 이동 동작과 같은 인게임 액션(in-game action)에 키 눌림이나 터치 입력을 연결하는 방법을 배운다.
5장. ‘라인 트레이스를 활용한 충돌 처리’에서는 Dodgeball이라는 새로운 프로젝트를 시작한다. 이 장에서는 라인 트레이스의 개념과 게임 제작에 라인 트레이스를 사용하는 다양한 방법을 배운다.
6장. ‘콜리전 오브젝트 설정’에서는 물체 충돌(--object collision)을 알아본다. 콜리전 컴포넌트, 콜리전 이벤트, 피직스(physics) 시뮬레이션을 배우고 타이머, 프로젝타일 무브먼트 컴포넌트, 피직스 머티리얼도 함께 살펴본다.
7장. ‘언리얼 엔진 5 유틸리티 활용’에서는 언리얼 엔진에서 활용할 수 있는 몇 가지 유용한 유틸리티를 구현하는 방법을 설명한다. 여기에는 액터 컴포넌트, 인터페이스, 블루프린트 함수 라이브러리에 대한 설명이 포함된다. 이런 유틸리티는 개발 팀에 합류하는 다른 사람들이 프로젝트를 좋은 구조로 유지하고, 쉽게 접근할 수 있도록 도와준다.
8장. ‘UMG로 사용자 인터페이스 만들기’에서는 게임 UI를 설명한다. 언리얼 엔진의 UI 시스템인 UMG를 사용해 메뉴, HUD를 만드는 방법을 배운다. 또한 프로그레스 바를 사용해 플레이어 캐릭터의 체력을 표시하는 방법도 살펴본다.
9장. ‘오디오-비주얼 요소 추가’에서는 언리얼 엔진의 사운드 및 파티클 이펙트를 소개한다. 프로젝트에 사운드 파일을 임포트하는 방법과 2D 및 3D 사운드로 사용하는 방법, 기존의 파티클 시스템을 게임에 추가하는 방법을 배운다. 마지막으로, 지난 몇 장에 걸쳐 만든 모든 게임 메카닉을 사용해 Dodgeball 프로젝트를 완성할 새 레벨을 제작한다.
10장. ‘슈퍼 사이드 스크롤러 게임 만들기’에서는 SuperSideScroller 프로젝트의 목표를 상세히 살펴보며, 기본 마네킹 스켈레톤을 조작하는 예제를 통해 언리얼 엔진 5에서 애니메이션이 동작하는 방식을 다룬다.
11장. ‘블렌드 스페이스 1D, 키 바인딩, 스테이트 머신을 활용한 작업’에서는 플레이어 캐릭터의 이동 기반 애니메이션 로직을 제작하기 위해 블렌드 스페이스 1D, 애니메이션 스테이트 머신, 언리얼 엔진 5의 향상된 입력 시스템을 사용하는 방법을 배운다.
12장. ‘애니메이션 블렌딩과 몽타주’에서는 플레이어 캐릭터가 움직이면서 발사체를 던질 때 동시에 애니메이션이 재생되도록 하기 위해 언리얼 엔진 5의 애니메이션 블렌딩과 애니메이션 몽타주 같은 애니메이션 개념을 추가적으로 배운다.
13장. ‘적 인공지능 생성 및 추가’에서는 플레이어가 마주할 수 있는 적에 대한 간단한 AI 기능을 만들기 위해 언리얼 엔진 5의 AI 컨트롤러, 블랙보드, 비헤이비어 트리를 사용하는 방법을 배운다.
14장. ‘플레이어 발사체 생성’에서는 게임 물체를 생성하고 파괴하는 방법을 배운다. 또한 애님 노티파이, 애님 노티파이 스테이트와 같은 애니메이션 기능을 추가적으로 사용해 애니메이션 도중에 플레이어 발사체를 생성하는 방법을 살펴본다.
15장. ‘수집 아이템, 강화 아이템, 픽업 아이템’에서는 언리얼 엔진 5의 UMG UI 개념을 소개하고, 플레이어를 위한 수집 아이템, 강화 아이템을 제작한다.
16장. ‘멀티플레이어 기본’에서는 서버-클라이언트 아키텍처가 동작하는 방식을 소개하고 연결, 액터 소유권, 역할, 변수 리플리케이션과 같은 멀티플레이어 개념을 다룬다. 또한 2D 블렌드 스페이스를 살펴보고, 2차원 움직임에 대한 애니메이션 그리드를 생성하고, Transform Modify Bone 컨트롤을 사용해 본의 트랜스폼을 런타임에 변경하는 방법을 배운다.
17장. ‘RPC 사용’에서는 RPC(Remote Procedure Call)가 동작하는 방식, 다른 타입의 RPC, RPC를 사용할 때 고려해야 할 사항 등을 설명한다. 또한 열거형을 에디터에 노출시키는 방법과 배열 인덱스 래핑을 사용해 양방향으로 배열을 순회하는 방법을 소개한다.
18장. ‘멀티플레이어에서 게임플레이 프레임워크 클래스 사용’에서는 멀티플레이에서 게임플레이 프레임워크의 가장 중요한 클래스를 사용하는 방법을 설명한다. 게임 모드, 플레이어 스테이트, 게임 스테이트와 몇 가지 유용한 엔진 내장 기능도 살펴본다.

작가의 말
언리얼 엔진에 대한 풍부한 경험을 갖춘 네 명의 전문가가 저술한 이 책은 언리얼 게임 프로젝트에 몰입하도록 해줄 뿐 아니라 다양한 게임 제작 프로젝트에 직접 참여하도록 돕고 최신 버전의 언리얼 엔진을 익힐 수 있도록 안내한다. 언리얼 에디터를 시작으로 액터, 블루프린트, 애니메이션, 상속, 플레이어 입력과 같은 핵심 개념을 소개한 다음, 3개의 프로젝트 중 첫 번째 프로젝트인 Dodgeball 게임 제작 과정으로 넘어간다. 이 과정에서 라인 트레이스, 충돌, 발사체, 사용자 인터페이스, 사운드 이펙트와 같은 개념을 익힐 수 있으며, 다양한 개념을 결합해 새로운 기술을 선보이는 방법도 배운다. 두 번째 프로젝트인 횡스크롤 게임은 애니메이션 블렌딩, 적 인공지능, 물체 생성, 수집 아이템과 같은 개념을 구현할 수 있도록 도와준다. 마지막으로 세 번째 프로젝트인 FPS 게임을 제작하면서 멀티플레이 환경을 구축하는 핵심 개념을 다룬다. 이 책을 마칠 무렵에는 게임 엔진이 제공하는 다양한 도구를 사용해 자신만의 게임을 제작하는 방법을 폭넓게 이해할 수 있을 것이다.

옮긴이의 말
언리얼 엔진 5를 활용해 게임을 개발하는 데 필요한 기본적인 내용에서부터 언리얼 엔진5의 멀티플레이어 기능까지 설명하고 있어 언리얼 엔진 5를 기초부터 고급 내용까지 한 권으로 배우려는 독자들에게 좋은 서적이다.
이 책은 언리얼 엔진 5 개발자로서 배워야 할 모든 내용을 한 권의 서적으로 담아냈다. 따라서 언리얼 엔진 5를 시작하려는 개발자 지망생은 물론, 언리얼 엔진 5의 각 기능을 참고하려는 기존 개발자에게도 많은 도움이 될 것으로 생각한다.
번역을 진행하면서 문장마다 저자들의 의도를 정확히 파악하려고 많은 노력을 기울였지만, 의도를 제대로 파악하지 못하거나 잘못 번역된 내용이 있을지도 모르겠다. 잘못된 부분에 대한 지적을 포함해 책에 관련된 어떠한 의견이라도 소중히 여겨서 오류를 바로잡고 더 좋은 책으로 만들어가는 데 반영할 것을 약속한다.
항상 옆에서 응원해주는 아내와 건강하게 잘 자라주는 아이들에게 사랑한다는 말을 전하고, 번역 기회를 주신 에이콘출판사에 감사의 말을 전하고 싶다.
펼쳐보기
곤살로 마르케스(Goncalo Marques)
6살 때부터 활동적인 게이머였다. 2016년부터 언리얼 엔진을 사용했으며 언리얼 엔진을 활용한 프리랜서 및 컨설팅 업무를 해오고 있다. UI Naviagation이라는 무료 오픈소스 플러그인도 출시했는데, 10만 회 이상의 다운로드를 기록했으며 사용자들의 반응도 긍정적이었다. 플러그인의 업데이트와 버그 수정 등 지속적인 관리를 위해 노력하고 있으며, 이 플러그인을 개발한 덕분에 에픽 마가그랜트(Epic MegaGrant)를 수상했다. 포르투갈 리스본에 위치한 게임 스튜디오인 펀컴(Funcom) ZPX(<코난 엑자일(Conan Exiles)>, <뮤턴트 이어 제로(Mutant Year Zero)>, <문즈 오브 매드니스(Moons of Madness)> 등의 게임 출시)에서 일하고 있으며, 현재 <듄(Dune)> 세계관을 가진 새로운 펀컴 게임을 개발하고 있다.

데빈 쉐리(Devin Sherry)
폴란드에 위치한 피플 캔 플라이(People Can Fly)의 수석 테크니컬 디자이너로, 언리얼 엔진 4를 사용해 <아웃라이더스(Outriders)>와 <아웃라이더스: 월드슬레이어(Outriders: Worlds--layer)>를 개발하는 데 참여했다. 그 전에는 세르비아의 디지털 애로우(Digital Arrow )스튜디오에서 테크니컬 디자이너로 근무하면서 <아쿠아녹스: 딥 디센트(Aquanox: Deep Descent)>를 개발했다. 언리얼 개발자 키트(Unreal Developers’ Kit)에서부터 새롭게 출시된 언리얼 엔진 5에 이르기까지 10여 년의 경력을 쌓아왔으며, 플레이어를 위해 기억에 남는 경험을 만들고 게임 메커니즘에 생명을 불어넣는 일에 매우 열정적이다.

데이비드 페레이라(David Pereira)
클릭팀(Clickteam)의 더 게임즈 팩토리(The Games Factory)를 배웠던 1998년부터 게임을 만들기 시작했다. FCT-UNL에서 컴퓨터 과학을 전공하면서 C++, OpenGL, DirectX를 배웠고 해당 기술을 활용해 더 복잡한 게임을 만들 수 있었다. 수년간 IT 컨설팅 분야에서 일한 후 포르투갈의 미니칩(Minichip)에 합류해 <8 Ball Pool>, <그래비티 가이 1(Gravity Guy 1)>, <그래비티 가이 2(Gravity Guy 2)>, <익스트림 스케이터(Extreme Skater)>, , <햄보(Hambo)> 등 다양한 인기 모바일 게임을 제작하는 데 참여했다. 그 후에는 MPC의 수석 개발자로 존 루이스 크리스마스 VR 체험(John Lewis Christmas VR Experience) 개발에 참여했고, <모탈 셸(Mortal Shell)>의 초기 버전을 개발했으며, 아스퍼거 증후군을 가진 사람들에게 언리얼 엔진 4를 활용해 게임을 만드는 방법을 가르치는 자원봉사 활동을 했다. 현재는 일인칭 액션 RPG 장르인 자신의 게임을 개발하고 있으며, 곧 발표할 예정이다.

하마드 포지(Hammad Fozi)
게임 개발 경력이 있으며 2017년부터 언리얼 엔진을 다양한 분야에 활용하고 있다. Virtua FanCave(그리고 메타버스), 트리플A(AAA) Sci-Fi DJ 경험(AAA Sci-Fi DJ Experience), 히어로즈 앤 제너럴스(Heroes and Generals), <크리드: 라이즈 투 글로리(Creed: Rise to Glory)> VR과 같은 매우 성공적인 트리플A 프로젝트에 참여했다. 유비소프트(Ubisoft), 워너 브라더스 게임즈(Warner Bros. Games), 2K 게임즈 등에서 일한 경험이 있는 팀들과 함께 개발했으며, 짧지만 매우 인상적인 자신의 경험을 바탕으로 10~30명의 개발진으로 구성된 팀들을 150명 이상의 규모로 확장할 수 있도록 도왔다. 현재 시니어 C++ 게임 개발자로 일하고 있으며, 언리얼 엔진을 활용해 가상현실(VR), 증강현실(AR), PC/PS5/Xbox/안드로이드/iOS/맥OS 게임 개발과 Web3/메타버스/NFT 시스템 등 다양한 업무 경험을 쌓아가고 있다.

옮긴이 장세윤
유니티 한국 지사에서 필드 엔지니어로 근무하면서 기술 지원, 유니티 엔진 기술 홍보, 기술 문서 번역 업무를 진행했다. 프리랜서가 된 이후 엔씨소프트, 넥슨, 네오플, 골프존 등 다양한 회사와 게임 교육 학원에서 유니티 엔진 및 언리얼 엔진 교육을 진행했으며, 현재는 프리랜서 강사, 개발자, 기술 서적 번역가로 활동하면서 언리얼 엔진을 활용한 AI 휴먼 제작 프로젝트에 참여하고 있다.
펼쳐보기

독자서평 쓰기 로그인을 하시면 독자서평을 쓰실 수 있습니다.

독자서평 쓰기 로그인을 하시면 독자서평을 쓰실 수 있습니다.
도서평점
내용
등록하기
0/2000자
교환/반품 방법
  • 마이페이지 > 주문관리 > 주문/배송조회 > 주문조회 후  [1:1상담신청]  또는 고객센터 (1544-9020)
  • ※ 오픈마켓, 해외배송 주문상품 문의 시 [1:1상담신청] 또는 고객센터 (1544-9020)
교환/반품 가능기간
  • 변심반품의 경우 수령 후 7일 이내
  • 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내
교환/반품 비용
  • 단순변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
  • 해외직배송 도서 구매 후 단순변심에 의한 취소 및 반품 시 도서판매가의 20% 수수료 부과
교환/반품 불가사유
  • 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
  • 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우 예) 만화, 잡지, 수험서 및 문제집류
  • 복제가 가능한 상품 등의 포장을 훼손한 경우 예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
  • 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우
  • 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
  • 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
  • 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
상품 품절
  • 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는 이메일과 문자로 안내드리겠습니다.
소비자 피해보상
환불지연에 따른 배상
  • 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁 해결 기준 (공정거래위원회 고시)에 준하여 처리됨
  • 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함

이 분야의 베스트

더보기 >

    이 분야의 신간

    더보기 >
      맨위로가기

      영풍문고 로고

      • 회사명 : (주)영풍문고
      • 대표이사 : 김경환
      • 소재지 : 서울특별시 종로구 청계천로 41 (우)03188
      • 사업자 등록번호 : 773-86-01800 ㅣ 통신판매업 신고번호 : 2023-서울종로-0130 [ 사업자정보확인 ]
      • 개인정보관리 책임자 : 조순제 ㅣ customer@ypbooks.co.kr ㅣ 대량주문 : webmaster@ypbooks.co.kr
      COPYRIGHT © YOUNGPOONG BOOKSTORE INC. ALL RIGHTS RESERVED.
      영풍문고 네이버블로그 영풍문고 인스타그램
      맨위로가기