kasa 201703 pub_블루프린트로 게임(스킬) 만들기

35
https://www.slideshare.net/shuaiharry 김학현 - 언리얼 블루프린트로 ‘복잡한’ 게임을 만들 수 있을까? 블루프린트로 게임 만들기

Upload: hakhyunharry-kim

Post on 20-Mar-2017

118 views

Category:

Software


2 download

TRANSCRIPT

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]