https://www.slideshare.net/shuaiharry
김학현
- 언리얼 블루프린트로 ‘복잡한’ 게임을 만들 수 있을까?
블루프린트로 게임 만들기
모든 게임 로직은 블루프린트로:
”아트팀”도, “기획팀”도, “프로그래밍팀”도 같이
“블루프린트 디버깅”을 하게 됩니다.
기획 아트 프로그래밍
시작 하기전에!!!!
목차블루프린트의 장점
블루프린트에서 하면 안되는 것들
스킬 만들기로 살펴 보는 블루프린트 실제
스킬 만들기 1 - 액터(Aactor)를 이용하여 스킬 하나당 클래스 액터 하나로
스킬 만들기 2 – 비주얼 기능 분리
스킬 만들기 3 - 구조적 데이터 분리
스킬 만들기 4 – 로직 분리: FunctionLibrary 와 Macro 라이브러리 활용
블루프린트- “모두가” 읽을 수 있습니다.= “모두가” 디버깅 할 수 있습니다.
모두의 디버깅
애셋 변경에 쉽게 대응AssetRef로 할 경우 테이블오픈 시 모든 애셋 로드,
AssetID 로 할 것
애셋을 ‘참조형태로’ 테이블 저장
- 명확한 Input, Output- Context 기반 노드 추천- 선 연결시 자동 타입 컨버팅
블루프린트 장점
- 시간 흐름에 따라 절차적으로 구현- 언리얼 에서는 “latent action” 으로 표현- Delay 나 LoadAsset 등 사용 가능
블루프린트 장점: Latent Action
편리한 인터페이스의 사용- 액터나 컴포넌트에 (상속 없이) 공통 기능 추가가 쉬워진다.
Blueprint Interface 독립적인 각각의
액터에 공통의인터페이스를보장
몬스터
부서지는 배경 오브젝트
캐릭터
Blueprint Interface
블루프린트에서 하면 안되는 것들- 그땐 왜 그랬을까?
프리미티브 아래 컴포넌트 상속
PrimitiveComponent하위 컴포넌트들은업데이트때마다
변경이 많음
컴포넌트 상속은보통 ActorComponent 사용Transform이 필요한 경우,
SceneComonent 사용
교훈: 상속을 최대한 피하자
Override 안되는 함수가
많거나,
해당 컴포넌트를 상속 받
은 함수가 없거나 자주 변
경되는 컴포넌트라면
그냥 쓰자!
교훈: 그냥 쓰자
튜닝의끝은 “순정”
특히언리얼에선…
계속바뀐다
…
C++ 연동
C++ 함수에메타데이타(BlueprintCallable)추가만으로 블루프린트 사용 가능.
블루프린트 커스톰 노드:Input, Output 핀이 상황에 따라변할 경우 매우 편리하지만,수정 마다 C++ 코드가 들어가므로유지보수 비용이 크다
스킬 만들기로 살펴 보는 블루프린트 실제
블루프린트로스킬 만들기시작 1
스킬 하나당 액터한 개?
블루프린트로스킬 만들기시작 1
제일 많이 한(들은)얘기: 체크아웃풀어주세요.
“바이너리 파일”에코딩하게 될 줄은 몰랐음
블루프린트로 스킬 만들기해결 1 – 파일(액터) 분리
•실제 절차적 게임 스킬 정보
스킬 액터
•아트 관련 비주얼 정보
•파티클, 메시, 사운드 등
이펙트 액터
•언리얼 엔진이 지원하는 구조적 데이터
데이터 테이블
실제 스킬 로직을 담당
EffectActor 클래스 및 데이터 클래스 선택
기획팀에서 주로 제작
프로그래머는 함수나 매크로 제공
스킬 로직 클래스
Visual 을 담당
Timeline 컴포넌트를 적극 활용하여 매터리얼 등 변경
Owner(SkillActor) 상태에 따라 상태 변경
SkillActor의 수명주기를 벗어나 관리 가능: 스킬 타격 이후 파편이펙트 등
비주얼 담당 클래스
DataTable- 구조적 Data 부분을 담당
- Excel Import 가능- Asset Ref 저장
가능
블루프린트로 스킬 만들기 문제 2
• 코드나블루프린트나, 짜다 보면,읽을 수 없게됩니다
한 화면에모든
노드가보이는 걸목표로
블루프린트로 스킬 만들기 해결 2복잡한 블루프린트를 깔끔하게 정리 필요
블루프린트로스킬 만들기해결 2-1
Function Library- 사실 전역함수지만- 카테고리로 깔끔하게 구분해서
블루프린트로스킬 만들기해결 2-2
Blueprint Macro Library
Macro Library 최대 장점은- 실행핀을 여러 개 연결 가능
- 이벤트 시작함수 호출과 끝내는함수를 한 노드에서 처리 가능
시작실행 핀
끝 실행핀
블루프린트로스킬 만들기 3- 페어프로그래밍?
빠른 이터레이션?
언리얼 에디터 설치된기획팀, 아트팀자리에서도 바로 작업
프로토타이핑을빠르게 테스트 가능
하루 중 반은 타 팀 자리에서 코딩
기획팀: 스킬 실제 로직 액터 제작
아트팀: 비주얼 담당 액터 제작
프로그램팀: BlueprintFunctionLibrary,
BlueprintMacroLibrary, C++ Component 제작
성능은 어떤가요?
이벤트 기반 절차적부분에 사용틱/프레임 단위로성능이 중요한 부분은“C++ 컴포넌트”
배우기는어떤가요?
사실 현재 버전 까지는블루프린트의 잦은 변경과버그로 학습에 많은 시간 소요.4.16 정도 부터는 안정화된버전을 기대
감사합니다.
질문은[email protected]