SlideShare uma empresa Scribd logo
1 de 151
#ue4fest
#ue4fest
• 9/13 세계 동시 발매
• Nintendo Switch
• 메카 액션
• 회사 콘솔 타이틀로는 첫 UE4 사용
• UE4.20
DAEMON X MACHINA
#ue4fest
오늘의 내용
• 전반 엔지니어편
• 카와노 유우타
• 후반 VFX편
• 키쿠치 사토루
#ue4fest
엔지니어편
구체적인 UE4 기능 활용 사례와 문제점·대처법
#ue4fest
주식회사 마벨러스 치프 엔지니어
카와노 유우타
경력
2006년에 주식회사 아툰에 신입사원으로 입사
그대로 회사 합병에 따른 전적으로
2014년부터 마벨러스 AQL(현 마벨러스)에 근무
발매 타이틀
액션 RPG
멀티플레이 액션
Xbox360 → Wii → PSVita → PS4 → iOS/Anrdoid → Switch
자기소개
#ue4fest
DAEMON X MACHINA 의 구성
• 거점과 배틀신을 오가는
퀘스트 클리어형 게임 진행
• 4인 멀티플레이
• 메카도 인간도 세세하게 커스터마이즈
• 캐릭터 에디트
• 풀 키 설정 · HUD 커스터마이즈
• 메카물이지만 실사풍이 아닌 만화 같은 그림 만들기
• 텍스트 9개 언어, 음성 2개 언어
#ue4fest
아젠다
• UE4 운용방침
• 캐릭터 구성
• 레벨 구성
• 그림 만들기 · 렌더링
• VFX · SFX
• 데모신
• UI
• 풀 키 설정
• 멀티플레이
• 현지화
• 퍼포먼스
• 자동 플레이
#ue4fest
UE4 운용방침(이상)
• UE4는 되도록이면 그대로 사용
• 개조하기 시작하면 끝이 없다
• 버전업 시 머지 대응이 비참
• 공유하기 쉽고, 향후 검증 · 확장 쉬움
• 정말로 필요한 것은 직접 만든다
• 플랫폼 고유 기능
#ue4fest
UE4 운용방침(현실)
• UE4는 대부분 그대로 사용함
• 그림 만들기에 관련된 렌더링 부분은 손을 댔다
• 툰 표현
• 평행광원을 추가하여 3개 쓸 수 있도록
• ForceLODShadow 모델별 지정
• 기능 수정
• Casecade 모듈(Skel Vert/Surf Location) 일부 수정
• 버그 수정
• 특히 멀티플레이어 부분 다수
#ue4fest
아젠다
• UE4 운용방침
• 캐릭터 구성
• 레벨 구성
• 그림 만들기 · 렌더링
• VFX · SFX
• 데모신
• UI
• 풀 키 설정
• 멀티플레이
• 현지화
• 퍼포먼스
• 자동 플레이
#ue4fest
캐릭터 모델 구성(아스널)
• 메카 · 높이 5~6m
• Character 클래스 파생, CharacterMovement도 사용
• 여러 개의 SkeletalMesh를 어태치하여 조합함
• 아머 환장
• 아머 개별 가동 파츠
• 무기 환장
#ue4fest
캐릭터 모델 구성(아스널)
• 부모가 되는 뼈만 있는 투명한 SkeletalMesh
• 전신 애니메이션은 이곳을 움직임
• 아머(머리 · 몸 · 팔 · 다리 모델)
• SetMasterPoseComponent
• 파일론
• 탑승 캐릭터(머리와 몸만)
• 스러스터 · 병장모델 /VFX
#ue4fest
캐릭터 모델 구성(아스널)
가동 파츠
• 각 아머에 각각 어태치
• 일반적인 SkeletalMesh
• 플레이어 액션에 맞춰
개별적으로 애니메이션
#ue4fest
캐릭터 모델 구성(아스널)
무기
• 오른팔, 왼팔, 어깨, 허리
• 파일론에 수납도 함
• 각각 개별 Actor이므로
교체 및 분리 가능
#ue4fest
캐릭터 모델 구성(아스널)
부위 파괴 표현
• 모델 교체 및 VFX
• 머리나 몸 부분이 파괴되면
탑승 캐릭터도 보인다
#ue4fest
캐릭터 모델 구성(아우터)
• 인간 · 높이 1.8m
• 아스널과 마찬가지로
Character 클래스 파생
• 여러 개의 SkeletalMesh를 어태치
• 캐릭터 커스터마이즈
• 개조에 의한 추가 파츠
#ue4fest
캐릭터 모델 구성(아우터)
• 모델, 머티리얼, 텍스쳐와
머티리얼 파라미터를 변경하여
더욱 세부적으로 커스터마이즈
• 35명 +α의 NPC들도 같은 시스템
#ue4fest
캐릭터 모델 구성(아우터)
• 머리 부분은 SetMasterPose를
사용하지 않고 독립되어 있음
• 머리에 어태치시키는 모델에
SetMasterPose를 사용하기
위함(수염 등)
• 전신 애니메이션과 얼굴
애니메이션의 동시 제어가
복잡해졌기 때문
#ue4fest
캐릭터 모델 구성(잡몹)
• 메카 · 소형 적
• Pawn 클래스 파생, 단일 모델 구성(예외 있음)
#ue4fest
캐릭터 모델 구성(보스)
• 메카 · 대형 적
• Pawn 클래스 파생
• 본체는 단일 모델 구성
• 포탑이나 약점부위 등을
별도 Actor로 어태치
#ue4fest
캐릭터 모델 구성(보스)
#ue4fest
캐릭터 모델 구성(문제점)
• 한 Actor에 어태치할 것이 많아
CPU 퍼포먼스 면에서 많은 문제점(후술)
#ue4fest
레벨 구성(배경)
• 원경까지 대략 사방 4km
• 상당한 고도까지 비행할 수 있기 때문
• 플레이 가능 영역 약 사방 2km
• 15 종류의 스테이지
• 배치, 작전영역의 배리에이션
• 시간대, 날씨의 차이
• 배경용 BP는 아티스트 제작
• 번개의 포스트 프로세스 등
#ue4fest
레벨 구성(배경)
예) 비 오는 날씨
• 라이팅, 천구, 환경 VFX 서브레벨을 바꾼다.
• 원기둥 모양으로 발생하는 비 VFX를 플레이어에 어태치
#ue4fest
레벨 구성(내비메시)
• 내장된 기능을 Dynamic Modifiers Only로 사용
• 캐릭터도 지형도 스케일이 크기 때문에 설정 변경
#ue4fest
레벨 구성(내비메시)
• 내비메시에 영향 주는 것은 배경물 뿐
• 파괴가능한 오브젝트는 내비메시를 갱신
#ue4fest
레벨 구성(레벨 BP)
• 조합 방식의 규칙을 정하고 엔지니어가 기능 제공
• 적을 숨긴 상태로 레벨에 배치하는 기능
• 적을 그룹 관리하는 기능
• 데모신을 재생하는 기능
• 등등
• 기획 담당자가 레벨 BP를 편집하여 레벨 디자인
• 서브레벨 ON/OFF, 직접 DestroyActor 하기 등
다이나믹한 것은 수행하지 않도록
#ue4fest
레벨 구성(문제점)
내비메시
• 움직이는 배경물이 내비메시를 계속 갱신하여 CPU 부하 증대
• 서치라이트 등
• Dynamic Modifiers Only 는 사전 경로 계산 결과가
PersistentLevel 에 저장됨
• 지형의 종류만큼 PersistantLevel을 나눌 필요 있음
#ue4fest
레벨 구성(문제점)
BP
• BP 짜는 방식에 상당한 개인차
• 허용함
• 엔지니어가 개입하는 경우도
#ue4fest
아젠다
• UE4 운용방침
• 캐릭터 구성
• 레벨 구성
• 그림 만들기 · 렌더링
• VFX · SFX
• 데모신
• UI
• 풀 키 설정
• 멀티플레이
• 현지화
• 퍼포먼스
• 자동 플레이
#ue4fest
렌더링(기본)
• 데스크톱 포워드
• 라이팅 베이크 없음
• 환경광 없음
#ue4fest
https://www.slideshare.net/TatsuhiroTanaka1/unreal-engine-npr-
80721783
렌더링(그림 만들기)
툰 표현
• 텍스쳐에 의한 LUT
• 섀도 컬러, 림라이트
• 윤곽선 없음
• 유치해 보일 수 있는 그림이 되는 것 막음
• 참고
• Unreal Engine을 사용한 상용 타이틀의
논 포토리얼 렌더링(NPR) 사례
Ch 스페큘러 섀도 컬러 섀도
일반 라이트 0 有 有 有
Ex 라이트 1 有 有 無 컷 신용
Sub 라이트 2 無 無 無 의사적 환경광 풍
#ue4fest
• 어떤 라이트를 활성화 할지는 메시별로 라이트 채널 지정
렌더링(평행광원)
• 포워드 렌더링이라면 평행광원이 1개……
• 캐릭터 라이트나 환경광과 같은 표현을 위해
엔진을 수정하여 평행광원을 3개까지 사용할 수 있도록
#ue4fest
렌더링(부하 대책)
• LOD를 철저히
• Static Mesh, Skeletal Mesh 둘 다
• 반투명은 되도록 사용하지 않음
• 블렌드 모드는 Opaque가 기본
• Dynamic Resolution 을 활성화
• r.DynamicRes.OperationMode=2
• 4.20 시점에는 정식 지원판은 아니었지만
대체로 문제는 없었다
#ue4fest
렌더링(부하 대책)
• r.ForceLODShadow=4 (Scalability 설정)
• 정점 병목이 되는 경우가 많아 대책으로
그림자 렌더링 시의 LOD 레벨을 변경함
• 이러면 너무 거칠어져서 보기에 문제가 되는 메시도 있어
엔진을 수정하고, 개별 메시에서도 LODShadow를
설정할 수 있도록 하여 회피
#ue4fest
렌더링(문제점)
• 엔진 버전업을 할 때 마다 그림이 망가짐
• 그림 만들기를 위해 크게 손을 댄 부분은 매번 수정
• 짧아도 일주일 동안은 안정되지 않음
• 처음부터 두려워하던 사태였지만, 심각한 부분은 여기 뿐이었다
#ue4fest
아젠다
• UE4 운용방침
• 캐릭터 구성
• 레벨 구성
• 그림 만들기 · 렌더링
• VFX · SFX
• 데모신
• UI
• 풀 키 설정
• 멀티플레이
• 현지화
• 퍼포먼스
• 자동 플레이
#ue4fest
VFX · SFX
VFX
• Cascade를 그대로 사용
• Skel Vert/Surf Location 모듈만 수정
• SkeletalMeshComponent을 여러 개 갖고 있는 경우에 대한 대응
SFX
• 미들웨어 CRI ADX2 / CRI Sofdec2
• CriWare 플러그인은 기본 그대로
• 부하 대책을 위해 일부 변경하여 대응
#ue4fest
컷 신
• Sequencer를 그대로 사용
• Matinee와 Sequencer에서 고민했지만, 향후를 생각해서 Sequencer
• 이벤트 트랙과 전용 컴포넌트로 확장하여 타이틀 고유 기능을 구현
• 자막 표시, 음성 재생
• 음성 변경이나 미들웨어와의 이슈로 기존의 Dialogue는 사용하지 않음
• 아스널의 가동 파츠 개폐 및 무기 보임 ON/OFF
• 아우터의 눈 깜빡임, 입 움직임 제어, 슈트 발광 위치 제어
• 등등
#ue4fest
컷 신(문제점)
• Matinee와 비교해 문서도 사례도 적음
• Sequencer 릴리즈 초기였기 때문
• 엔진 버전업으로 Sequence 스펙이 바뀜
• 예) 초 관리에서 프레임 관리로 변경
• Binding한 Actor의 관리가 어려움
• 아무것도 하지 않으면 각종 컴포넌트가 움직인 채로 오동작
• 최종적으로 Bind하는 건 보스 캐릭터만 (예외 있음)
#ue4fest
컷 신(문제점)
• 컷 전환 시 머리카락 물리가 날뜀
• Tick 공회전을 할 수 없었음
• ULevelSequencePlayer의 OnCameraCut으로 전환 전후 처리
• 전신 물리 ON/OFF
• 머리카락 모델 Animation Pose Snapshot 저장 / 적용
#ue4fest
UI
• UMG 그대로 이용
• 개발초기에는 텍스트 사이에 아이콘을 보여줄 수 없었음
• UE4.20부터 가능해짐(RichTextBlock)
#ue4fest
UI(문제점)
• CPU 부하가 큼
• GameThread 이외에서는 동작시킬 수 없음
• 전부 UObject로 되어있어서 UObject 수 많아짐
#ue4fest
풀 키 컨피그
• ActionMapping, AxisMapping은 이용하지 않음
• 기존의 InputComponent에서 직접 조작
• UInputComponent::BindKey
• UInputComponent::BindAxis
• UInputComponent::BindVectorAxis
• 입력과 게임액션의 변환 테이블을 작성
• Joy-Con의 Dual 모드는 기본적으로
왼쪽 자이로 센서만 얻을 수 있음
• 조금 개조해서 오른쪽 센서 구할 수 있도록 수정
← 자이로 센서
#ue4fest
아젠다
• UE4 운용방침
• 캐릭터 구성
• 레벨 구성
• 그림 만들기 · 렌더링
• VFX · SFX
• 데모신
• UI
• 풀 키 설정
• 멀티플레이
• 현지화
• 퍼포먼스
• 자동 플레이
#ue4fest
멀티플레이
• OnlineSubsystemSwitch를 그대로 사용
• ListenServer 형식
• ClientAuthorativePosition=true
이동처리는 클라이언트 쪽
• 자체 구현한 내용
• 레퍼리(Switch)
• 랭킹
#ue4fest
멀티플레이(문제점)
• 네트워크 구성이 메시형이 아닌 스타형
• 서버가 된 플레이어에 부하가 집중
• 호스트 넘기기 안됨
• 호스트 접속 끊김 시 싱글플레이화
• Replication Graph는 검증되지 않음
• OnlineSubsystemSwitch 내부의 버그 잦음
• 40건 정도 수정
• SDK 처리 쪽 미비
• 오류 처리
• UGameEngine, UGameSession을 상속해 에러 처리
#ue4fest
멀티플레이(문제점)
• 동시에 1세션만 사용 가능
& 세션이 PersistentLevel에 종속되어있음
• 모든 플레이어가 같은 레벨에 있어야 한다
• 4인 룸에서 3명만 배틀 등은 불가
• 멀티플레이 중에 게스트가 홈 메뉴로 나가면
호스트가 NetMulticast 패킷을 보내지 않게 됨
• Reliable 설정한 패킷이 게스트에게 전달되지 않은 채 사라짐
• 멀티플레이만 어플리케이션이 BG 포커스 상태에서도
프로그램 중단되지 않도록 핸들링 모드 변경
#ue4fest
아젠다
• UE4 운용방침
• 캐릭터 구성
• 레벨 구성
• 그림 만들기 · 렌더링
• VFX · SFX
• 데모신
• UI
• 풀 키 설정
• 멀티플레이
• 현지화
• 퍼포먼스
• 자동 플레이
#ue4fest
현지화
• 텍스트 언어
• 현지화 대시보드 그대로 사용
• AssetLocalization 그대로 사용
• 음성 언어
• 텍스트 언어 변경과는 다른 방식이어서
미들웨어 쪽 기능과 맞추기 위해 자체 구현
#ue4fest
현지화(문제점)
• po 파일 편집환경으로 좋은 것이 없었음
• Excel 파일과 상호 변환하는 보조 툴 제작
• bSerializeAssetRegistry=true 그대로
• 메모리를 절약할 수 있을 거라 생각해서 false로 하면
AssetRegistry를 이용하는 AssetLocalization이 동작하지 않음
#ue4fest
아젠다
• UE4 운용방침
• 캐릭터 구성
• 레벨 구성
• 그림 만들기 · 렌더링
• VFX · SFX
• 데모신
• UI
• 풀 키 설정
• 멀티플레이
• 현지화
• 퍼포먼스
• 자동 플레이
#ue4fest
퍼포먼스 대책(캐릭터)
• CharacterMovementComponent
• 편리하지만 어쨌든 CPU 부하가 크다.
• 일부 캐릭터는 Character 클래스 → Pawn 클래스로 변경
• 캐릭터 본체에 어태치하는 요소가 많음
캐릭터를 움직일 때 마다 CPU 부하가 올라간다.
• 보이지 않아도 되는 요소는 직전까지 어태치하지 않는다.
• 아스널 탑승 캐릭터는 직전까지 숨김&어태치되지 않음
• 어태치하는 요소 줄이기&정리
#ue4fest
퍼포먼스 대책(캐릭터)
• Primitive 컴포넌트의 내비메시 Octree 업데이트 억제
• UNavigationSystemV1::SetUpdateNavOctreeOnComponentChange(false)
• 배틀 전후와 오브젝트 파괴 시 전환
#ue4fest
퍼포먼스 대책(캐릭터)
• 참고
• [CEDEC2018] UE4에서 다수의 캐릭터를 살아있게 하는 테크닉
https://www.slideshare.net/EpicGamesJapan/cedec2018-ue4-
111105729
• SkeletalMeshComponent의 최적화 기능을 세세하게 설정
• Optimization 프로퍼티
• 게임 중에도 상황에 따라 세세하게 ON/OFF 전환
• Generate Overlap Events
• ON이면 히트 판정이 많을수록 CPU 부하 증가
• 전투 참가하지 않는 잡몹 캐릭터는 OFF로 되어있음
#ue4fest
퍼포먼스 대책(기믹)
• 맵 내에 배치된 파괴가능 오브젝트가 매우 많음
• 부서질 때까지 움직이지 않으므로 정지시에는 철저하게 기능 OFF
• 액터는 물론 Component도 Tick을 멈춤
• GenerateOverlapEvents를 OFF로 함
• 모빌리티는 되도록 EComponentMobility::Static
• SetMobility(EComponentMobility::Static)
• SkeletalMeshComponent도 최적화 설정
• 모두 게임 중 필요에 따라 동적으로 변경
퍼포먼스 대책(탄환)
• 탄환, 착탄 히트 연출이 발생할 때마다 갖가지 Spawn 처리
• 단시간에 수백개의 탄환 발사와 착탄, 거기에 딸린 VFX/SFX 재생
• CPU 부하 큼
• UObject 수가 늘어나 GC 부하 큼
• 풀링 처리 개발하여 재사용해 부하 줄임
• 탄환 Actor를 SetActorLocation으로 이동시키면 부하 큼
• 날아가기 시작 시 콜리전 OFF, LineTrace로 전방 히트 감지
• 히트 직전에 콜리전 ON으로 되돌림
• AActor::SetActorLocation이 아닌 MoveComponent로 이동시킴
• RootComponent->MoveComponent (…, MOVECOMP_SkipPhysicsMove , …) ;
#ue4fest
#ue4fest
퍼포먼스 대책(GC)
UObject 수 줄이기
• DisregardGCObject
• BP 줄이기(=CPU 부하 대책)
• BlueprintClustering
• 문제가 있다는 말도 있지만, 이 타이틀에서는 ON
• 일부 애셋이 다른 클러스터에 들어가버려 해제되지 않는 문제
• 참고
• UE4에서 Loading과 GC의 Profiling과 최적화 기법
https://www.slideshare.net/EpicGamesJapan/ue4loadinggcprofiling
#ue4fest
퍼포먼스 대책(BP)
• BP Tick은 절대 금지, C++ 로
• 개발 초기에 BP 구현이었던 것을 C++로 대체하는데 막대한 비용
• 애니메이션 BP의 이벤트 그래프도 C++로 작성할 수 있음
• 불필요한 UFUNCTION, UPROPERTY 로 UObject 수가 늘어남
• C++과 엮이면 버그 추적하기 어렵다.
• 정말로 필요한 부분에만 사용하자.
• BlueprintNativeEvent는 BP 구현이 없어도 비용 크다.
• 호출 시 BP 구현이 있는지 확인하기 때문
• C++로 끝나는 건 애초에 UFUNCTION 붙이지 말자.
#ue4fest
퍼포먼스 대책(메모리)
• r.RenderTargetPoolMin 200
• 보류된 불필요한 RenderTarget을 해제하는 한계값
• 기본값 400MB
• 이 타이틀은 동시에 150MB 정도밖에 사용하지 않아
200MB로 변경. 메모리 오버 대책에 크게 공헌
• Bloom 텍스쳐 반감
• Engine/Content/EngineMaterials/DefaultBloomKernel.uasset
• 에디터에서 엔진 컨텐츠가 보이게 하고
이 애셋을 열어 Minimum Texture Size 프로퍼티 수정
• 2048 → 1024
#ue4fest
퍼포먼스 대책(UMG)
• Visibility가 “Hidden”으로 설정된 Widget은 CPU를 계속 사용한다.
• 대부분 Collapsed로 함
• InvalidationBox도 사용해봤지만……
• 레이아웃이 갱신되지 않는 등 버그 빈발
• 여유를 두고 도입하기로
#ue4fest
퍼포먼스 대책(덤)
• 참고삼아 일부 UObject 수를 공개합니다.
• 게임 내용에 따라 크게 바뀔 수 있는 수치라고 생각하므로
어디까지나 참고 정도로 봐주시기 바랍니다.
• “obj list -alphasort”
• Test 빌드
• 1-02 배틀 시작 시
Class 2765
Function 14646
ArrayProperty 2778
BoolProperty 13151
ByteProperty 3977
ClassProperty 810
EnumProperty 2757
FloatProperty 10169
IntProperty 4656
NameProperty 3354
ObjectProperty 13402
StructProperty 11801
TextProperty 548
Image 9764
Overlay 4903
OverlaySlot 11381
TextBlock 2769
Texture2D 1509
MovieScene 3144
MovieSceneColorSection 7714
MovieScene2DTransformSection 4427
MovieSceneBuiltInEasingFunction 26186
MovieSceneByteSection 13193
WidgetAnimation 3139
Total 281069
#ue4fest
퍼포먼스 대책(덤)
#ue4fest
아젠다
• UE4 운용방침
• 캐릭터 구성
• 레벨 구성
• 그림 만들기 · 렌더링
• VFX · SFX
• 데모신
• UI
• 풀 키 설정
• 멀티플레이
• 현지화
• 퍼포먼스
• 자동 플레이
#ue4fest
자동 플레이
• 랜덤한 맵에 입장해 적 섬멸계 배틀을 반복한다.
• 싱글 플레이
• 온라인 멀티 플레이
• 로컬 통신 멀티 플레이
• 집계 내용
• 맵별 클리어 수, 리타이어 수, 클리어 타임
• 빠짐 감지
• CPU/GPU 부하 계측
• 덤프파일이 나온 경우에는 콜스택 내용
#ue4fest
자동 플레이
• 프로젝트 종반부터 가동
• 1회에 실제 기기 30대 내외, 최대 40대 이상
• 매일 AM 1시~7시(토, 일에도 가동)
• 초기 릴리즈까지 합계 50인월(人月) 이상의 가동 실적
• 패치 대응을 위해 계속 가동 중
• 날마다 집계하고 있어 통상적인 버그 보고와 대조할 수 있다.
• 이전부터 발생하고 있던 프리즈인가? 빈도는?
• 바쁜 시기의 부주의로 인한 실수도 다음날 아침에 잡을 수 있다.
#ue4fest
정리
• UE4는 그대로도 꽤 쓸만함
• 타이틀 고유의 그림 만들기에는 역시 손을 댔음
• 동작 퍼포먼스도 사용 방식 나름
• BP 사용은 엄격한 규칙 적용
• 버전 업에는 주의
• 각 플랫폼의 마스터 제출 요건에도 주의
• 플랫폼 의존 기능 사용은 주의 깊게
• 다 되는 것처럼 보여도, 자주 사용하지 않는 기능은
충분한 동작 검증이 되어있지 않음
#ue4fest
향후 과제
• 엔진 버전 업
• 애니메이션 제작 플로우 재검토
• 애니메이션 BP를 엔지니어가 관리하고 있었음
• 아티스트가 제어 및 조정하기 어려워짐
• 멀티플레이
• ReplicationGraph의 검증
• 자동 플레이
• 집계하는 플레이 내용의 충실화
• 랜덤 UI 조작
• 적 섬멸계 이외의 배틀 공략
#ue4fest
다음은 VFX편 입니다.
#ue4fest
메카 액션 게임
『DAEMON X MACHINA』
신념과 피와 강철의 개발사례
VFX 편
#ue4fest
1. 들어가며
주식회사 마벨러스 리드 아티스트
키쿠치 사토루
경력
CG 프로덕션, CS 개발회사, 마이크로소프트, 마벨러스
게임 업계 경력 20년
지금까지 CS를 중심으로 다수의 타이틀에서 VFX 리드
UE3를 사용한 대규모 개발 경험
데몬 엑스 마키나에서는 리드 아티스트
VFX 디렉션, 머티리얼 제작, 환경정비, 스케줄 관리
리소스/애셋 관리, 각 세션과의 조정, 실작업
자기소개
#ue4fest
#ue4fest
개요
• 제작 방침 · 환경
• 아티스트로서 고집한 점
• 문제점
#ue4fest
목차
1. 들어가며
2. VFX 제작 방침 · 환경
3. 애셋 소개
4. 직면했던 문제
5. 정리
#ue4fest
목차
1. 들어가며
2. VFX 제작 방침 · 환경
3. 애셋 소개
4. 직면했던 문제
5. 정리
#ue4fest
2. VFX 제작 방침 · 환경
#ue4fest
VFX 제작 방침 · 환경
• 룩
• 제작방침
• 환경
• 머티리얼
• 레귤레이션
• UE4 버전 업과 커스터마이즈
#ue4fest
프로젝트 · 룩
프로젝트로서 「툰」 표현을 선택
• 메카물로서 「평범」이 되지 않도록 「차별화」하고 싶다.
• 금속 표현이 많으니 포토 리얼이라는 선택도
• 다만 그것 뿐이라면 「평범」한 룩으로 빠져버릴 가능성이 있다.
메카물이지만 툰 표현, 이라는 「차별화」
#ue4fest
프로젝트 · 룩
툰 표현의 방향성
• 이쪽도 「평범」이 되지 않도록 「차별화」를 염두에 둔다.
• 근래에 볼 수 있는 치밀한 애니메이션은 피함
• 80년대 메카 애니메이션이나 코믹과 같은, 색이나 명암이
뚜렷한 심플하고 특징적인 방향성을 목표로 했다.
#ue4fest
VFX · 룩
툰 표현의 방향성
• 프로젝트의 방침에 따라, VFX의 방향성을 모색
• 메카계 TV 애니메이션을 하염없이 시청 (자택 목욕탕에서)
• 데몬 엑스 마키나의 VFX 룩을 정해 갔다.
#ue4fest
VFX 제작 방침
프로젝트 개시 당시
• PJ 스태프의 대부분이 UE 미경험자(본인과 또 1명만, 경험자 2명)
• 준비 기간이나 양산 기간이 한정되어 있어 방대한 양의 애셋을 제작할 필요
• TA나 VFX 전임 엔지니어는 없음
• UE4에서의 VFX 제작은 처음. 환경 구축, 워크 플로우 등 모색
• 툰 표현, 바닥부터 만드는 것은 처음
#ue4fest
VFX 제작 방침
큰 틀의 방침
너무 복잡하게 하지 않고
사용하기 쉽고, 양산하기 쉽게 하는데 중점을 둔다.
#ue4fest
VFX 제작 방침
데몬 엑스 마키나 VFX 제작에서 중요시한 점
• 액션 게임 애셋으로서의 기능성
• 처리 부하 경감
• 공수 절감
• 툰 표현
• 퀄리티(메카물로서의 표현을 중요하게)
• VFX 팀 내 정보공유 철저히
#ue4fest
DCC 툴
•
•
•
•
Maya
3ds Max
Substance Designer
Houdini
제작 환경
환경
• 최종 버전 UE 4.20(Cascade)
#ue4fest
머티리얼
구성 검토
• 과거 UE3 대규모 프로젝트 시 머티리얼을 일부 제작한 경험
• 처리 부하가 문제가 되었으므로 주의한다.
• 머티리얼을 자세히 조사, 관리를 확실히
• UE4 구성 검토
• 머티리얼과 머티리얼 인스턴스의 구조와 문제점 공유
(Epic Games Japan: 篠山範明 ) #UE4DD
https://www.slideshare.net/EpicGamesJapan/epic-games-japan-ue4dd
#ue4fest
머티리얼
머티리얼 구성 개요
• 「Usage」 별로 나눈다.
• 용도를 「범용」 「전용」 으로 나눈다.
• 「라이팅시킴 · 시키지 않음」 으로 나눈다.
• 참조 구조 「부모, 자식, 손자」 타입
• 명명 규칙은 시행 착오하며 결정
※자세한 내용은 생략
#ue4fest
머티리얼
블렌드 모드와 게임 요소
• 플레이어, 양손 무기, 어깨 무기 동시 사용 가능
• 플레이어, 최대 4대(분신으로 8대)
• 적, 많이 보임(잡몹, 보스)
• 처리 부하 우려
• 툰 표현, 디졸브가 많을 것으로 예측
• 불투명틱한 화면이라도 괜찮을 것으로 예측
#ue4fest
머티리얼
이상으로부터, 블랜드 모드는…
반투명은 최대한 사용하지 않고
Masked 중심
#ue4fest
머티리얼
이유
• Mask도 반투명하지만, Transclucent 만큼 처리를 먹지 않음
• 그리기 순서를 별로 고민하지 않아도 된다.
• 툰 표현, 처리 부하의 양립이 가능, 일석이조
※일부 Opaque, Translucent, Additive 등도 사용
과감했지만
이 결정은 옳은 것이었다.
#ue4fest
레귤레이션
요소(자세한 내용은 생략)
• 텍스쳐
• 스태틱 메시
• 머티리얼, 머티리얼 인스턴스
• 이미터, 모듈 설정(Cascade)
• 파라미터(Cascade)
• 물리 머티리얼
• LOD
• 콜리전 메시
#ue4fest
중요도를 매겨 체크
레귤레이션
체크리스트
• 데이터 업 전에 체크
• 너무 세세하게 하면 VFX 스태프의 부담
#ue4fest
레귤레이션
체크 리스트의 중요성
「당신은 왜 체크리스트를 사용하지 않는가?」
아툴 가완디 : 지음 / 吉田竜 : 번역 晋遊舎
※ 역주
원서: 「The Checklist Manifesto」
번역판: 「체크! 체크리스트」 21세기북스
UE4 버전 업과 커스터마이즈
과거 UE3 대규모 개발 시 CASCADE를 적극적으로 커스터마이즈
버전 업에서 굉장히 고생했던 경험
버전 업의 영향을 생각
커스터마이즈는 하지 않는다.
※ 엔지니어측에서 「Skel Vert/Surf Location 」 노드만 손보고 있습니다.
#ue4fest
무사히 이행할 수 있었다.
UE4 버전 업과 커스터마이즈
버전 업의 주의점
• 이행 전의 환경을 남긴다.
• 이행 후의 변화를 체크, 대응 부분의 명확화 및 대응
• 데이터로 수정할 수 없는 부분에 대해서는 엔지니어에게 의뢰해
순차적으로 대응
#ue4fest
목차
1. 들어가며
2. VFX 제작 방침 · 환경
3. 애셋 소개
4. 직면했던 문제
5. 정리
#ue4fest
3. 애샛 소개
#ue4fest
애셋 소개
a. 총알
b. 연기
c. 폭발
d. 슬라이드 이동
e. 범위
f. 스러스터
g. 지표 연기
#ue4fest
a. 총알 · 미사일 · 초기
#ue4fest
a. 총알 · 미사일 · 최종
#ue4fest
a. 총알 · 스나이퍼 라이플 · 초기
#ue4fest
a. 총알 · 스나이퍼 라이플 · 최종
#ue4fest
미사일: 육각형 블리츠: 삼각형
a. 총알 · 기호화
스나이퍼: 사각형
기호화
#ue4fest
Dynamic 파라미터로 제어
직감적이지 않고 번거로움
b. 연기
디졸브 머티리얼
#ue4fest
b. 연기
디졸브 머티리얼
• 「Color Over Life 모듈」 Alpha 커브를 통한 디졸브 제어
직감적인 제어
Panner 노드
덜컹거림의 해소(정밀도)
b. 연기
UV 스크롤에 의한 거칠어짐
#ue4fest
#ue4fest
b. 연기
텍스쳐에 의한 디졸브의 가장자리 거칠어짐
• 당초 DXT1을 사용
해상도를 높여도 해결되지 않는다.
• GrayScale 텍스쳐로 해결
낮은 해상도에서도 깨끗하게
#ue4fest
GrayScale 128 x 128DXT1 512 x 512
b. 연기
#ue4fest
b. 연기
#ue4fest
참고 :
UE4 SphereMask로 거리에 따라
색 바꾸기(moko 님)
http://effect.hatenablog.com/entry/2
018/05/16/025859
b. 연기
큰 연기가 화면을 뒤덮어 버리는 문제
• 카메라로부터의 거리에 따라 연기에 구멍을 뚫는다.
#ue4fest
b. 연기
#ue4fest
c. 폭발 · 잡몹
#ue4fest
c. 폭발 · 잡몹
#ue4fest
c. 폭발 · 적열 머티리얼
#ue4fest
c. 폭발 · 적열 머티리얼
#ue4fest
c. 폭발 · 추락 시
#ue4fest
c. 폭발 · 추락 시
아스널(플레이어, 적)의 추락 시 VFX
• 성취감을 준다
• 메카에서 파츠 무기를 떼어내는
기능
세로로 길게 하여 추락지점을 강조
#ue4fest
d. 슬라이드 이동
#ue4fest
d. 슬라이드 이동
메카의 슬라이드 이동 궤적 부분
• 트레일, PC에서는 문제 없었음
• 실제 기기에서 트레일이 날뛰는
현상
#ue4fest
d. 슬라이드 이동
원인
• 트레일 끝단의 스케일 에니메이션이 영향
• 「Size By Life」를 지웠더니 날뛰지 않게 되었다.
#ue4fest
e. 범위 · 범위 폭발
#ue4fest
폭발 범위
날려버리기
+
모션 블러
e. 범위 · 범위 폭발
폭발을 맞을 때
• 폭발 내, 설득력이 필요
• 폭발 내, 사실은 비어있음
제안
• 날려버리기
• 모션 블러(순간)
#ue4fest
e. 범위 · 데미지 폭발
#ue4fest
e. 범위 · 회복 공간
#ue4fest
e. 범위 · 입자 병장 실드
#ue4fest
e. 범위 · 보스 실드
#ue4fest
f. 스러스터 · 슬릿
#ue4fest
f. 스러스터 · 부스트
#ue4fest
f. 스러스터 · 볼륨
#ue4fest
g. 지표 연기 · 배경 VFX
#ue4fest
Smoke
Smoke
Smoke
Physical Material
Ground
g. 지표 연기
#ue4fest
g. 지표 연기
#ue4fest
목차
1. 들어가며
2. VFX 제작 방침 · 환경
3. 애셋 소개
4. 직면했던 문제
5. 정리
#ue4fest
4. 직면했던 문제
#ue4fest
지면의 종류에 따라 VFX나 SFX를 변경하는 구조
물리 머티리얼 구조화 문제
물리 머티리얼이란?
• 「흙바닥」에 착지 → 흙먼지
• 「모래바닥」에 착지 → 모래먼지
#ue4fest
물리 머티리얼 구조화 문제
구조화에 있어서
• 팀으로서 물리 머티리얼의 구조화 방법을 알지 못해 모색
• 영향 범위가 넓어 구조화까지 시간이 필요했다.
• 구조화 후, 기존 데이터의 수정 대응이 필요해졌다.
#ue4fest
물리 머티리얼 구조화 문제
구조화 · 조건 4가지
① 지형 스펙(모든 종류)
② 배경팀의 지형 구성(모든 종류)
③ 적용 대상 VFX를 가려내고, 분류 지정
④ 물리 머티리얼 ID 결정
#ue4fest
물리 머티리얼 구조화 문제
구조화 · 흐름
① VFX의 구조화
Initial Color 모듈 Param 화 등
② 배경팀 대응
③ 엔지니어 측의 물리 머티리얼 대응
아스널(메카), 아우터(사람), 잡몹, 보스, 이벤트, 기믹
#ue4fest
물리 머티리얼 구조화 문제
구조화 · 확인 맵
• 배경팀에서 준비해 줌
• 여기서 VFX를 제작
• 물리 머티리얼 동작 확인
#ue4fest
물리 머티리얼 구조화 문제
#ue4fest
영향 범위가 크므로
조기에 각 섹션과의 상의, 구조화가 중요
물리 머티리얼 구조화 문제
구조화 · 정리
#ue4fest
하딩 체크 대응 문제
하딩 체크
체크 후의 대응
• 수작업
• 구조화
※ 역주: 하딩 체크 – 빛 점멸에 의한 광과민성 반응 테스트
#ue4fest
구조화 있음
하딩 체크 대응 문제
구조화 없음
#ue4fest
VFX팀 측에서 다른 섹션으로의 제안
• 당초 비슷한 무장이라도 적별로 다른 스펙으로서
발주되고 있었다.
• 적마다 무장이 다름
• 미술 설정 단계에서도 무기마다 총의 구경이나 스러스터
사이즈 등이 제각각으로 그려져 있어 모든 것을 만드는 건
효율이 나쁘다.
#ue4fest
VFX팀 측에서 다른 섹션으로의 제안
무기의 규격화
• 담당 기획자나 미술 설정 담당에게
무기 종류, 사이즈, 형상의 규격화를 제안
• 그 규격 안에서 스펙 지정이나
설정을 하도록 의뢰
VFX팀 이외라면 알아차리기 힘들다.
적극적으로 제의하자.
#ue4fest
목차
1. 들어가며
2. VFX 제작 방침 · 환경
3. 애셋 소개
4. 직면했던 문제
5. 정리
#ue4fest
5. 정리
#ue4fest
VFX편 · 정리
방침 환경
• 방향성을 확실히 정한다.
• 상황에 맞춰 사전에 준비한다.
애셋 제작의 포인트
• 기능성(시인성, 기호화, 인게임에서의 역할을 확실히 함)
• 처리 부하
• 표현 · 독창성
문제 대응
• 물리 머티리얼은 조기에 착수
• 제안, 구조화가 중요
#ue4fest
목차
1. 들어가며
2. VFX 제작 방침 · 환경
3. 애셋 소개
4. 직면했던 문제
5. 정리
#ue4fest
이 강연이 여러분께 도움이 되기를 바랍니다.
#ue4fest
들어 주셔서 대단히 감사합니다.
#ue4fest
• 원문
• https://www.slideshare.net/EpicGamesJapan/ue4-festeast2019-dxm
• 영상
• https://www.youtube.com/watch?v=jykrWtBQEz0

Mais conteúdo relacionado

Mais procurados

상속 관련 이것저것
상속 관련 이것저것상속 관련 이것저것
상속 관련 이것저것EG Lim
 
[박민근] 3 d렌더링 옵티마이징_5 최적화 전략
[박민근] 3 d렌더링 옵티마이징_5 최적화 전략[박민근] 3 d렌더링 옵티마이징_5 최적화 전략
[박민근] 3 d렌더링 옵티마이징_5 최적화 전략MinGeun Park
 
에어헌터 for kakao 포스트모템(공개용)
에어헌터 for kakao 포스트모템(공개용)에어헌터 for kakao 포스트모템(공개용)
에어헌터 for kakao 포스트모템(공개용)Woo Yeong Choi
 
이희영, 글로벌 원빌드 모바일 게임 런칭과 라이브 개발, NDC2016
이희영, 글로벌 원빌드 모바일 게임 런칭과 라이브 개발, NDC2016이희영, 글로벌 원빌드 모바일 게임 런칭과 라이브 개발, NDC2016
이희영, 글로벌 원빌드 모바일 게임 런칭과 라이브 개발, NDC2016devCAT Studio, NEXON
 
[IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」
[IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」[IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」
[IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」강 민우
 
NDC17. "솔리테어: 덱다웃" 유니티 모바일 테스팅 기법들
NDC17. "솔리테어: 덱다웃" 유니티 모바일 테스팅 기법들NDC17. "솔리테어: 덱다웃" 유니티 모바일 테스팅 기법들
NDC17. "솔리테어: 덱다웃" 유니티 모바일 테스팅 기법들대원 김
 
Ndc2013 정리(upload버전)
Ndc2013 정리(upload버전)Ndc2013 정리(upload버전)
Ndc2013 정리(upload버전)Minsu Park
 
[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템
[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템
[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템강 민우
 
[IGC2017] Protocol:hyperspace Diver 개발 포스트모템
[IGC2017] Protocol:hyperspace Diver 개발 포스트모템[IGC2017] Protocol:hyperspace Diver 개발 포스트모템
[IGC2017] Protocol:hyperspace Diver 개발 포스트모템Young Soo Kim
 
[2014 CodeEngn Conference 11] 남대현 - iOS MobileSafari Fuzzer 제작 및 Fuzzing
[2014 CodeEngn Conference 11] 남대현 - iOS MobileSafari Fuzzer 제작 및 Fuzzing[2014 CodeEngn Conference 11] 남대현 - iOS MobileSafari Fuzzer 제작 및 Fuzzing
[2014 CodeEngn Conference 11] 남대현 - iOS MobileSafari Fuzzer 제작 및 FuzzingGangSeok Lee
 
아티스트에게 사랑받는 3DS Max 우버쉐이더
아티스트에게 사랑받는 3DS Max 우버쉐이더아티스트에게 사랑받는 3DS Max 우버쉐이더
아티스트에게 사랑받는 3DS Max 우버쉐이더포프 김
 
내 손에 픽셀을 쥐어다오
내 손에 픽셀을 쥐어다오내 손에 픽셀을 쥐어다오
내 손에 픽셀을 쥐어다오KwangSam Kim
 
게임 프레임워크의 아키텍쳐와 디자인 패턴
게임 프레임워크의 아키텍쳐와 디자인 패턴게임 프레임워크의 아키텍쳐와 디자인 패턴
게임 프레임워크의 아키텍쳐와 디자인 패턴MinGeun Park
 
임태현, MMO 서버 개발 포스트 모템, NDC2012
임태현, MMO 서버 개발 포스트 모템, NDC2012임태현, MMO 서버 개발 포스트 모템, NDC2012
임태현, MMO 서버 개발 포스트 모템, NDC2012devCAT Studio, NEXON
 
[IGC 2016] 스코넥 한상우 - VR 콘텐츠를 만들며 겪었던 난관과 극복: 모탈 블리츠의 사례
[IGC 2016] 스코넥 한상우 - VR 콘텐츠를 만들며 겪었던 난관과 극복: 모탈 블리츠의 사례[IGC 2016] 스코넥 한상우 - VR 콘텐츠를 만들며 겪었던 난관과 극복: 모탈 블리츠의 사례
[IGC 2016] 스코넥 한상우 - VR 콘텐츠를 만들며 겪었던 난관과 극복: 모탈 블리츠의 사례강 민우
 
이승재, M2 AI코드 개발 생산성 향상 사례, NDC2013
이승재, M2 AI코드 개발 생산성 향상 사례, NDC2013이승재, M2 AI코드 개발 생산성 향상 사례, NDC2013
이승재, M2 AI코드 개발 생산성 향상 사례, NDC2013devCAT Studio, NEXON
 
[NHN NEXT]실전프로젝트 밴드 게임 만들기 후기
[NHN NEXT]실전프로젝트 밴드 게임 만들기 후기[NHN NEXT]실전프로젝트 밴드 게임 만들기 후기
[NHN NEXT]실전프로젝트 밴드 게임 만들기 후기flashscope
 

Mais procurados (20)

상속 관련 이것저것
상속 관련 이것저것상속 관련 이것저것
상속 관련 이것저것
 
[박민근] 3 d렌더링 옵티마이징_5 최적화 전략
[박민근] 3 d렌더링 옵티마이징_5 최적화 전략[박민근] 3 d렌더링 옵티마이징_5 최적화 전략
[박민근] 3 d렌더링 옵티마이징_5 최적화 전략
 
에어헌터 for kakao 포스트모템(공개용)
에어헌터 for kakao 포스트모템(공개용)에어헌터 for kakao 포스트모템(공개용)
에어헌터 for kakao 포스트모템(공개용)
 
이희영, 글로벌 원빌드 모바일 게임 런칭과 라이브 개발, NDC2016
이희영, 글로벌 원빌드 모바일 게임 런칭과 라이브 개발, NDC2016이희영, 글로벌 원빌드 모바일 게임 런칭과 라이브 개발, NDC2016
이희영, 글로벌 원빌드 모바일 게임 런칭과 라이브 개발, NDC2016
 
[IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」
[IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」[IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」
[IGC 2016] Photon 운영사무국 - 실시간 게임의 빠른 개발을 위한 솔루션 「Photon」
 
NDC17. "솔리테어: 덱다웃" 유니티 모바일 테스팅 기법들
NDC17. "솔리테어: 덱다웃" 유니티 모바일 테스팅 기법들NDC17. "솔리테어: 덱다웃" 유니티 모바일 테스팅 기법들
NDC17. "솔리테어: 덱다웃" 유니티 모바일 테스팅 기법들
 
Ndc2013 정리(upload버전)
Ndc2013 정리(upload버전)Ndc2013 정리(upload버전)
Ndc2013 정리(upload버전)
 
[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템
[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템
[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템
 
Unity 시작하기
Unity 시작하기Unity 시작하기
Unity 시작하기
 
[IGC2017] Protocol:hyperspace Diver 개발 포스트모템
[IGC2017] Protocol:hyperspace Diver 개발 포스트모템[IGC2017] Protocol:hyperspace Diver 개발 포스트모템
[IGC2017] Protocol:hyperspace Diver 개발 포스트모템
 
[2014 CodeEngn Conference 11] 남대현 - iOS MobileSafari Fuzzer 제작 및 Fuzzing
[2014 CodeEngn Conference 11] 남대현 - iOS MobileSafari Fuzzer 제작 및 Fuzzing[2014 CodeEngn Conference 11] 남대현 - iOS MobileSafari Fuzzer 제작 및 Fuzzing
[2014 CodeEngn Conference 11] 남대현 - iOS MobileSafari Fuzzer 제작 및 Fuzzing
 
[PandoraCube] '게임메이커'에 대해 알아보자
[PandoraCube] '게임메이커'에 대해 알아보자[PandoraCube] '게임메이커'에 대해 알아보자
[PandoraCube] '게임메이커'에 대해 알아보자
 
아티스트에게 사랑받는 3DS Max 우버쉐이더
아티스트에게 사랑받는 3DS Max 우버쉐이더아티스트에게 사랑받는 3DS Max 우버쉐이더
아티스트에게 사랑받는 3DS Max 우버쉐이더
 
내 손에 픽셀을 쥐어다오
내 손에 픽셀을 쥐어다오내 손에 픽셀을 쥐어다오
내 손에 픽셀을 쥐어다오
 
게임 프레임워크의 아키텍쳐와 디자인 패턴
게임 프레임워크의 아키텍쳐와 디자인 패턴게임 프레임워크의 아키텍쳐와 디자인 패턴
게임 프레임워크의 아키텍쳐와 디자인 패턴
 
임태현, MMO 서버 개발 포스트 모템, NDC2012
임태현, MMO 서버 개발 포스트 모템, NDC2012임태현, MMO 서버 개발 포스트 모템, NDC2012
임태현, MMO 서버 개발 포스트 모템, NDC2012
 
Unity소개
Unity소개Unity소개
Unity소개
 
[IGC 2016] 스코넥 한상우 - VR 콘텐츠를 만들며 겪었던 난관과 극복: 모탈 블리츠의 사례
[IGC 2016] 스코넥 한상우 - VR 콘텐츠를 만들며 겪었던 난관과 극복: 모탈 블리츠의 사례[IGC 2016] 스코넥 한상우 - VR 콘텐츠를 만들며 겪었던 난관과 극복: 모탈 블리츠의 사례
[IGC 2016] 스코넥 한상우 - VR 콘텐츠를 만들며 겪었던 난관과 극복: 모탈 블리츠의 사례
 
이승재, M2 AI코드 개발 생산성 향상 사례, NDC2013
이승재, M2 AI코드 개발 생산성 향상 사례, NDC2013이승재, M2 AI코드 개발 생산성 향상 사례, NDC2013
이승재, M2 AI코드 개발 생산성 향상 사례, NDC2013
 
[NHN NEXT]실전프로젝트 밴드 게임 만들기 후기
[NHN NEXT]실전프로젝트 밴드 게임 만들기 후기[NHN NEXT]실전프로젝트 밴드 게임 만들기 후기
[NHN NEXT]실전프로젝트 밴드 게임 만들기 후기
 

Semelhante a 메카 액션 게임 『DAEMON X MACHINA』 신념과 피와 강철의 개발사례

칼리굴라 오버도즈의 UE4 데이터 이식 안내서
칼리굴라 오버도즈의 UE4 데이터 이식 안내서칼리굴라 오버도즈의 UE4 데이터 이식 안내서
칼리굴라 오버도즈의 UE4 데이터 이식 안내서EG Lim
 
[1126 박민근] 비전엔진을 이용한 mmorpg 개발
[1126 박민근] 비전엔진을 이용한 mmorpg 개발[1126 박민근] 비전엔진을 이용한 mmorpg 개발
[1126 박민근] 비전엔진을 이용한 mmorpg 개발MinGeun Park
 
레이더즈 기술 사례
레이더즈 기술 사례레이더즈 기술 사례
레이더즈 기술 사례기룡 남
 
전형규, Vertex Post-Processing Framework, NDC2011
전형규, Vertex Post-Processing Framework, NDC2011전형규, Vertex Post-Processing Framework, NDC2011
전형규, Vertex Post-Processing Framework, NDC2011devCAT Studio, NEXON
 
Project Anarchy(Vision Engine)으로 게임 툴 만들기! part2
Project Anarchy(Vision Engine)으로 게임 툴 만들기! part2Project Anarchy(Vision Engine)으로 게임 툴 만들기! part2
Project Anarchy(Vision Engine)으로 게임 툴 만들기! part2진상 문
 
[KGC2014] 울프나이츠 엔진 프로그래밍 기록
[KGC2014] 울프나이츠 엔진 프로그래밍 기록 [KGC2014] 울프나이츠 엔진 프로그래밍 기록
[KGC2014] 울프나이츠 엔진 프로그래밍 기록 JiUng Choi
 
Port polio게임소개
Port polio게임소개Port polio게임소개
Port polio게임소개Seo YoungHoon
 
유니티 - 스크립트(Scripting) 기초
유니티 - 스크립트(Scripting) 기초 유니티 - 스크립트(Scripting) 기초
유니티 - 스크립트(Scripting) 기초 주형 고
 
Port polio게임 소개
Port polio게임 소개Port polio게임 소개
Port polio게임 소개Seo YoungHoon
 
나만의 엔진 개발하기
나만의 엔진 개발하기나만의 엔진 개발하기
나만의 엔진 개발하기YEONG-CHEON YOU
 
[스마트벤처 창업학교] 스타트업 프로젝트를 위한 유니티 게임 개발
[스마트벤처 창업학교] 스타트업 프로젝트를 위한 유니티 게임 개발[스마트벤처 창업학교] 스타트업 프로젝트를 위한 유니티 게임 개발
[스마트벤처 창업학교] 스타트업 프로젝트를 위한 유니티 게임 개발MinGeun Park
 
엔지니어링비젼_언리얼엔진4_커스텀______________________
엔지니어링비젼_언리얼엔진4_커스텀______________________엔지니어링비젼_언리얼엔진4_커스텀______________________
엔지니어링비젼_언리얼엔진4_커스텀______________________Kyoung Seok(경석) Ko(고)
 
[IGC 2017] 블루홀 최준혁 - '플레이어언노운스 배틀그라운드' DEV 스토리
[IGC 2017] 블루홀 최준혁 - '플레이어언노운스 배틀그라운드' DEV 스토리[IGC 2017] 블루홀 최준혁 - '플레이어언노운스 배틀그라운드' DEV 스토리
[IGC 2017] 블루홀 최준혁 - '플레이어언노운스 배틀그라운드' DEV 스토리강 민우
 
NDC2017 언리얼 엔진4 애니메이션 공유 캐릭터 설계
NDC2017 언리얼 엔진4 애니메이션 공유 캐릭터 설계NDC2017 언리얼 엔진4 애니메이션 공유 캐릭터 설계
NDC2017 언리얼 엔진4 애니메이션 공유 캐릭터 설계언호 이
 
PiStage를 활용한 리얼타임 렌더링 워크플로우 (with RTX)
PiStage를 활용한  리얼타임 렌더링 워크플로우 (with RTX)PiStage를 활용한  리얼타임 렌더링 워크플로우 (with RTX)
PiStage를 활용한 리얼타임 렌더링 워크플로우 (with RTX)YOUNGJO CHO
 

Semelhante a 메카 액션 게임 『DAEMON X MACHINA』 신념과 피와 강철의 개발사례 (20)

칼리굴라 오버도즈의 UE4 데이터 이식 안내서
칼리굴라 오버도즈의 UE4 데이터 이식 안내서칼리굴라 오버도즈의 UE4 데이터 이식 안내서
칼리굴라 오버도즈의 UE4 데이터 이식 안내서
 
[1126 박민근] 비전엔진을 이용한 mmorpg 개발
[1126 박민근] 비전엔진을 이용한 mmorpg 개발[1126 박민근] 비전엔진을 이용한 mmorpg 개발
[1126 박민근] 비전엔진을 이용한 mmorpg 개발
 
레이더즈 기술 사례
레이더즈 기술 사례레이더즈 기술 사례
레이더즈 기술 사례
 
전형규, Vertex Post-Processing Framework, NDC2011
전형규, Vertex Post-Processing Framework, NDC2011전형규, Vertex Post-Processing Framework, NDC2011
전형규, Vertex Post-Processing Framework, NDC2011
 
Project Anarchy(Vision Engine)으로 게임 툴 만들기! part2
Project Anarchy(Vision Engine)으로 게임 툴 만들기! part2Project Anarchy(Vision Engine)으로 게임 툴 만들기! part2
Project Anarchy(Vision Engine)으로 게임 툴 만들기! part2
 
Node.js 기본
Node.js 기본Node.js 기본
Node.js 기본
 
Cyberpunk2165
Cyberpunk2165Cyberpunk2165
Cyberpunk2165
 
[KGC2014] 울프나이츠 엔진 프로그래밍 기록
[KGC2014] 울프나이츠 엔진 프로그래밍 기록 [KGC2014] 울프나이츠 엔진 프로그래밍 기록
[KGC2014] 울프나이츠 엔진 프로그래밍 기록
 
Port polio게임소개
Port polio게임소개Port polio게임소개
Port polio게임소개
 
유니티 - 스크립트(Scripting) 기초
유니티 - 스크립트(Scripting) 기초 유니티 - 스크립트(Scripting) 기초
유니티 - 스크립트(Scripting) 기초
 
Port polio게임 소개
Port polio게임 소개Port polio게임 소개
Port polio게임 소개
 
나만의 엔진 개발하기
나만의 엔진 개발하기나만의 엔진 개발하기
나만의 엔진 개발하기
 
[스마트벤처 창업학교] 스타트업 프로젝트를 위한 유니티 게임 개발
[스마트벤처 창업학교] 스타트업 프로젝트를 위한 유니티 게임 개발[스마트벤처 창업학교] 스타트업 프로젝트를 위한 유니티 게임 개발
[스마트벤처 창업학교] 스타트업 프로젝트를 위한 유니티 게임 개발
 
엔지니어링 비젼_동영상제거.pptx
엔지니어링 비젼_동영상제거.pptx엔지니어링 비젼_동영상제거.pptx
엔지니어링 비젼_동영상제거.pptx
 
엔지니어링비젼_언리얼엔진4_커스텀______________________
엔지니어링비젼_언리얼엔진4_커스텀______________________엔지니어링비젼_언리얼엔진4_커스텀______________________
엔지니어링비젼_언리얼엔진4_커스텀______________________
 
[IGC 2017] 블루홀 최준혁 - '플레이어언노운스 배틀그라운드' DEV 스토리
[IGC 2017] 블루홀 최준혁 - '플레이어언노운스 배틀그라운드' DEV 스토리[IGC 2017] 블루홀 최준혁 - '플레이어언노운스 배틀그라운드' DEV 스토리
[IGC 2017] 블루홀 최준혁 - '플레이어언노운스 배틀그라운드' DEV 스토리
 
jhj port.
jhj port.jhj port.
jhj port.
 
NDC2017 언리얼 엔진4 애니메이션 공유 캐릭터 설계
NDC2017 언리얼 엔진4 애니메이션 공유 캐릭터 설계NDC2017 언리얼 엔진4 애니메이션 공유 캐릭터 설계
NDC2017 언리얼 엔진4 애니메이션 공유 캐릭터 설계
 
Start unreal
Start unrealStart unreal
Start unreal
 
PiStage를 활용한 리얼타임 렌더링 워크플로우 (with RTX)
PiStage를 활용한  리얼타임 렌더링 워크플로우 (with RTX)PiStage를 활용한  리얼타임 렌더링 워크플로우 (with RTX)
PiStage를 활용한 리얼타임 렌더링 워크플로우 (with RTX)
 

Mais de EG Lim

빌드 좀 깨먹지 마라!
빌드 좀 깨먹지 마라!빌드 좀 깨먹지 마라!
빌드 좀 깨먹지 마라!EG Lim
 
코드네임 이것저것
코드네임 이것저것코드네임 이것저것
코드네임 이것저것EG Lim
 
MD5 이것저것
MD5 이것저것MD5 이것저것
MD5 이것저것EG Lim
 
FlatBuffers 를 이용한 안드로이드에서의 페이스북 성능 향상
FlatBuffers 를 이용한 안드로이드에서의 페이스북 성능 향상FlatBuffers 를 이용한 안드로이드에서의 페이스북 성능 향상
FlatBuffers 를 이용한 안드로이드에서의 페이스북 성능 향상EG Lim
 
Elo 평점 시스템
Elo 평점 시스템Elo 평점 시스템
Elo 평점 시스템EG Lim
 
디미터의 법칙
디미터의 법칙디미터의 법칙
디미터의 법칙EG Lim
 
SonarQube 로 Unity 프로젝트 관리
SonarQube 로 Unity 프로젝트 관리SonarQube 로 Unity 프로젝트 관리
SonarQube 로 Unity 프로젝트 관리EG Lim
 
네이밍 관련 이것저것
네이밍 관련 이것저것네이밍 관련 이것저것
네이밍 관련 이것저것EG Lim
 

Mais de EG Lim (8)

빌드 좀 깨먹지 마라!
빌드 좀 깨먹지 마라!빌드 좀 깨먹지 마라!
빌드 좀 깨먹지 마라!
 
코드네임 이것저것
코드네임 이것저것코드네임 이것저것
코드네임 이것저것
 
MD5 이것저것
MD5 이것저것MD5 이것저것
MD5 이것저것
 
FlatBuffers 를 이용한 안드로이드에서의 페이스북 성능 향상
FlatBuffers 를 이용한 안드로이드에서의 페이스북 성능 향상FlatBuffers 를 이용한 안드로이드에서의 페이스북 성능 향상
FlatBuffers 를 이용한 안드로이드에서의 페이스북 성능 향상
 
Elo 평점 시스템
Elo 평점 시스템Elo 평점 시스템
Elo 평점 시스템
 
디미터의 법칙
디미터의 법칙디미터의 법칙
디미터의 법칙
 
SonarQube 로 Unity 프로젝트 관리
SonarQube 로 Unity 프로젝트 관리SonarQube 로 Unity 프로젝트 관리
SonarQube 로 Unity 프로젝트 관리
 
네이밍 관련 이것저것
네이밍 관련 이것저것네이밍 관련 이것저것
네이밍 관련 이것저것
 

메카 액션 게임 『DAEMON X MACHINA』 신념과 피와 강철의 개발사례

  • 2. #ue4fest • 9/13 세계 동시 발매 • Nintendo Switch • 메카 액션 • 회사 콘솔 타이틀로는 첫 UE4 사용 • UE4.20 DAEMON X MACHINA
  • 3. #ue4fest 오늘의 내용 • 전반 엔지니어편 • 카와노 유우타 • 후반 VFX편 • 키쿠치 사토루
  • 4. #ue4fest 엔지니어편 구체적인 UE4 기능 활용 사례와 문제점·대처법
  • 5. #ue4fest 주식회사 마벨러스 치프 엔지니어 카와노 유우타 경력 2006년에 주식회사 아툰에 신입사원으로 입사 그대로 회사 합병에 따른 전적으로 2014년부터 마벨러스 AQL(현 마벨러스)에 근무 발매 타이틀 액션 RPG 멀티플레이 액션 Xbox360 → Wii → PSVita → PS4 → iOS/Anrdoid → Switch 자기소개
  • 6. #ue4fest DAEMON X MACHINA 의 구성 • 거점과 배틀신을 오가는 퀘스트 클리어형 게임 진행 • 4인 멀티플레이 • 메카도 인간도 세세하게 커스터마이즈 • 캐릭터 에디트 • 풀 키 설정 · HUD 커스터마이즈 • 메카물이지만 실사풍이 아닌 만화 같은 그림 만들기 • 텍스트 9개 언어, 음성 2개 언어
  • 7. #ue4fest 아젠다 • UE4 운용방침 • 캐릭터 구성 • 레벨 구성 • 그림 만들기 · 렌더링 • VFX · SFX • 데모신 • UI • 풀 키 설정 • 멀티플레이 • 현지화 • 퍼포먼스 • 자동 플레이
  • 8. #ue4fest UE4 운용방침(이상) • UE4는 되도록이면 그대로 사용 • 개조하기 시작하면 끝이 없다 • 버전업 시 머지 대응이 비참 • 공유하기 쉽고, 향후 검증 · 확장 쉬움 • 정말로 필요한 것은 직접 만든다 • 플랫폼 고유 기능
  • 9. #ue4fest UE4 운용방침(현실) • UE4는 대부분 그대로 사용함 • 그림 만들기에 관련된 렌더링 부분은 손을 댔다 • 툰 표현 • 평행광원을 추가하여 3개 쓸 수 있도록 • ForceLODShadow 모델별 지정 • 기능 수정 • Casecade 모듈(Skel Vert/Surf Location) 일부 수정 • 버그 수정 • 특히 멀티플레이어 부분 다수
  • 10. #ue4fest 아젠다 • UE4 운용방침 • 캐릭터 구성 • 레벨 구성 • 그림 만들기 · 렌더링 • VFX · SFX • 데모신 • UI • 풀 키 설정 • 멀티플레이 • 현지화 • 퍼포먼스 • 자동 플레이
  • 11. #ue4fest 캐릭터 모델 구성(아스널) • 메카 · 높이 5~6m • Character 클래스 파생, CharacterMovement도 사용 • 여러 개의 SkeletalMesh를 어태치하여 조합함 • 아머 환장 • 아머 개별 가동 파츠 • 무기 환장
  • 12. #ue4fest 캐릭터 모델 구성(아스널) • 부모가 되는 뼈만 있는 투명한 SkeletalMesh • 전신 애니메이션은 이곳을 움직임 • 아머(머리 · 몸 · 팔 · 다리 모델) • SetMasterPoseComponent • 파일론 • 탑승 캐릭터(머리와 몸만) • 스러스터 · 병장모델 /VFX
  • 13. #ue4fest 캐릭터 모델 구성(아스널) 가동 파츠 • 각 아머에 각각 어태치 • 일반적인 SkeletalMesh • 플레이어 액션에 맞춰 개별적으로 애니메이션
  • 14. #ue4fest 캐릭터 모델 구성(아스널) 무기 • 오른팔, 왼팔, 어깨, 허리 • 파일론에 수납도 함 • 각각 개별 Actor이므로 교체 및 분리 가능
  • 15. #ue4fest 캐릭터 모델 구성(아스널) 부위 파괴 표현 • 모델 교체 및 VFX • 머리나 몸 부분이 파괴되면 탑승 캐릭터도 보인다
  • 16. #ue4fest 캐릭터 모델 구성(아우터) • 인간 · 높이 1.8m • 아스널과 마찬가지로 Character 클래스 파생 • 여러 개의 SkeletalMesh를 어태치 • 캐릭터 커스터마이즈 • 개조에 의한 추가 파츠
  • 17. #ue4fest 캐릭터 모델 구성(아우터) • 모델, 머티리얼, 텍스쳐와 머티리얼 파라미터를 변경하여 더욱 세부적으로 커스터마이즈 • 35명 +α의 NPC들도 같은 시스템
  • 18. #ue4fest 캐릭터 모델 구성(아우터) • 머리 부분은 SetMasterPose를 사용하지 않고 독립되어 있음 • 머리에 어태치시키는 모델에 SetMasterPose를 사용하기 위함(수염 등) • 전신 애니메이션과 얼굴 애니메이션의 동시 제어가 복잡해졌기 때문
  • 19. #ue4fest 캐릭터 모델 구성(잡몹) • 메카 · 소형 적 • Pawn 클래스 파생, 단일 모델 구성(예외 있음)
  • 20. #ue4fest 캐릭터 모델 구성(보스) • 메카 · 대형 적 • Pawn 클래스 파생 • 본체는 단일 모델 구성 • 포탑이나 약점부위 등을 별도 Actor로 어태치
  • 22. #ue4fest 캐릭터 모델 구성(문제점) • 한 Actor에 어태치할 것이 많아 CPU 퍼포먼스 면에서 많은 문제점(후술)
  • 23. #ue4fest 레벨 구성(배경) • 원경까지 대략 사방 4km • 상당한 고도까지 비행할 수 있기 때문 • 플레이 가능 영역 약 사방 2km • 15 종류의 스테이지 • 배치, 작전영역의 배리에이션 • 시간대, 날씨의 차이 • 배경용 BP는 아티스트 제작 • 번개의 포스트 프로세스 등
  • 24. #ue4fest 레벨 구성(배경) 예) 비 오는 날씨 • 라이팅, 천구, 환경 VFX 서브레벨을 바꾼다. • 원기둥 모양으로 발생하는 비 VFX를 플레이어에 어태치
  • 25. #ue4fest 레벨 구성(내비메시) • 내장된 기능을 Dynamic Modifiers Only로 사용 • 캐릭터도 지형도 스케일이 크기 때문에 설정 변경
  • 26. #ue4fest 레벨 구성(내비메시) • 내비메시에 영향 주는 것은 배경물 뿐 • 파괴가능한 오브젝트는 내비메시를 갱신
  • 27. #ue4fest 레벨 구성(레벨 BP) • 조합 방식의 규칙을 정하고 엔지니어가 기능 제공 • 적을 숨긴 상태로 레벨에 배치하는 기능 • 적을 그룹 관리하는 기능 • 데모신을 재생하는 기능 • 등등 • 기획 담당자가 레벨 BP를 편집하여 레벨 디자인 • 서브레벨 ON/OFF, 직접 DestroyActor 하기 등 다이나믹한 것은 수행하지 않도록
  • 28. #ue4fest 레벨 구성(문제점) 내비메시 • 움직이는 배경물이 내비메시를 계속 갱신하여 CPU 부하 증대 • 서치라이트 등 • Dynamic Modifiers Only 는 사전 경로 계산 결과가 PersistentLevel 에 저장됨 • 지형의 종류만큼 PersistantLevel을 나눌 필요 있음
  • 29. #ue4fest 레벨 구성(문제점) BP • BP 짜는 방식에 상당한 개인차 • 허용함 • 엔지니어가 개입하는 경우도
  • 30. #ue4fest 아젠다 • UE4 운용방침 • 캐릭터 구성 • 레벨 구성 • 그림 만들기 · 렌더링 • VFX · SFX • 데모신 • UI • 풀 키 설정 • 멀티플레이 • 현지화 • 퍼포먼스 • 자동 플레이
  • 31. #ue4fest 렌더링(기본) • 데스크톱 포워드 • 라이팅 베이크 없음 • 환경광 없음
  • 32. #ue4fest https://www.slideshare.net/TatsuhiroTanaka1/unreal-engine-npr- 80721783 렌더링(그림 만들기) 툰 표현 • 텍스쳐에 의한 LUT • 섀도 컬러, 림라이트 • 윤곽선 없음 • 유치해 보일 수 있는 그림이 되는 것 막음 • 참고 • Unreal Engine을 사용한 상용 타이틀의 논 포토리얼 렌더링(NPR) 사례
  • 33. Ch 스페큘러 섀도 컬러 섀도 일반 라이트 0 有 有 有 Ex 라이트 1 有 有 無 컷 신용 Sub 라이트 2 無 無 無 의사적 환경광 풍 #ue4fest • 어떤 라이트를 활성화 할지는 메시별로 라이트 채널 지정 렌더링(평행광원) • 포워드 렌더링이라면 평행광원이 1개…… • 캐릭터 라이트나 환경광과 같은 표현을 위해 엔진을 수정하여 평행광원을 3개까지 사용할 수 있도록
  • 34. #ue4fest 렌더링(부하 대책) • LOD를 철저히 • Static Mesh, Skeletal Mesh 둘 다 • 반투명은 되도록 사용하지 않음 • 블렌드 모드는 Opaque가 기본 • Dynamic Resolution 을 활성화 • r.DynamicRes.OperationMode=2 • 4.20 시점에는 정식 지원판은 아니었지만 대체로 문제는 없었다
  • 35. #ue4fest 렌더링(부하 대책) • r.ForceLODShadow=4 (Scalability 설정) • 정점 병목이 되는 경우가 많아 대책으로 그림자 렌더링 시의 LOD 레벨을 변경함 • 이러면 너무 거칠어져서 보기에 문제가 되는 메시도 있어 엔진을 수정하고, 개별 메시에서도 LODShadow를 설정할 수 있도록 하여 회피
  • 36. #ue4fest 렌더링(문제점) • 엔진 버전업을 할 때 마다 그림이 망가짐 • 그림 만들기를 위해 크게 손을 댄 부분은 매번 수정 • 짧아도 일주일 동안은 안정되지 않음 • 처음부터 두려워하던 사태였지만, 심각한 부분은 여기 뿐이었다
  • 37. #ue4fest 아젠다 • UE4 운용방침 • 캐릭터 구성 • 레벨 구성 • 그림 만들기 · 렌더링 • VFX · SFX • 데모신 • UI • 풀 키 설정 • 멀티플레이 • 현지화 • 퍼포먼스 • 자동 플레이
  • 38. #ue4fest VFX · SFX VFX • Cascade를 그대로 사용 • Skel Vert/Surf Location 모듈만 수정 • SkeletalMeshComponent을 여러 개 갖고 있는 경우에 대한 대응 SFX • 미들웨어 CRI ADX2 / CRI Sofdec2 • CriWare 플러그인은 기본 그대로 • 부하 대책을 위해 일부 변경하여 대응
  • 39. #ue4fest 컷 신 • Sequencer를 그대로 사용 • Matinee와 Sequencer에서 고민했지만, 향후를 생각해서 Sequencer • 이벤트 트랙과 전용 컴포넌트로 확장하여 타이틀 고유 기능을 구현 • 자막 표시, 음성 재생 • 음성 변경이나 미들웨어와의 이슈로 기존의 Dialogue는 사용하지 않음 • 아스널의 가동 파츠 개폐 및 무기 보임 ON/OFF • 아우터의 눈 깜빡임, 입 움직임 제어, 슈트 발광 위치 제어 • 등등
  • 40. #ue4fest 컷 신(문제점) • Matinee와 비교해 문서도 사례도 적음 • Sequencer 릴리즈 초기였기 때문 • 엔진 버전업으로 Sequence 스펙이 바뀜 • 예) 초 관리에서 프레임 관리로 변경 • Binding한 Actor의 관리가 어려움 • 아무것도 하지 않으면 각종 컴포넌트가 움직인 채로 오동작 • 최종적으로 Bind하는 건 보스 캐릭터만 (예외 있음)
  • 41. #ue4fest 컷 신(문제점) • 컷 전환 시 머리카락 물리가 날뜀 • Tick 공회전을 할 수 없었음 • ULevelSequencePlayer의 OnCameraCut으로 전환 전후 처리 • 전신 물리 ON/OFF • 머리카락 모델 Animation Pose Snapshot 저장 / 적용
  • 42. #ue4fest UI • UMG 그대로 이용 • 개발초기에는 텍스트 사이에 아이콘을 보여줄 수 없었음 • UE4.20부터 가능해짐(RichTextBlock)
  • 43. #ue4fest UI(문제점) • CPU 부하가 큼 • GameThread 이외에서는 동작시킬 수 없음 • 전부 UObject로 되어있어서 UObject 수 많아짐
  • 44. #ue4fest 풀 키 컨피그 • ActionMapping, AxisMapping은 이용하지 않음 • 기존의 InputComponent에서 직접 조작 • UInputComponent::BindKey • UInputComponent::BindAxis • UInputComponent::BindVectorAxis • 입력과 게임액션의 변환 테이블을 작성 • Joy-Con의 Dual 모드는 기본적으로 왼쪽 자이로 센서만 얻을 수 있음 • 조금 개조해서 오른쪽 센서 구할 수 있도록 수정 ← 자이로 센서
  • 45. #ue4fest 아젠다 • UE4 운용방침 • 캐릭터 구성 • 레벨 구성 • 그림 만들기 · 렌더링 • VFX · SFX • 데모신 • UI • 풀 키 설정 • 멀티플레이 • 현지화 • 퍼포먼스 • 자동 플레이
  • 46. #ue4fest 멀티플레이 • OnlineSubsystemSwitch를 그대로 사용 • ListenServer 형식 • ClientAuthorativePosition=true 이동처리는 클라이언트 쪽 • 자체 구현한 내용 • 레퍼리(Switch) • 랭킹
  • 47. #ue4fest 멀티플레이(문제점) • 네트워크 구성이 메시형이 아닌 스타형 • 서버가 된 플레이어에 부하가 집중 • 호스트 넘기기 안됨 • 호스트 접속 끊김 시 싱글플레이화 • Replication Graph는 검증되지 않음 • OnlineSubsystemSwitch 내부의 버그 잦음 • 40건 정도 수정 • SDK 처리 쪽 미비 • 오류 처리 • UGameEngine, UGameSession을 상속해 에러 처리
  • 48. #ue4fest 멀티플레이(문제점) • 동시에 1세션만 사용 가능 & 세션이 PersistentLevel에 종속되어있음 • 모든 플레이어가 같은 레벨에 있어야 한다 • 4인 룸에서 3명만 배틀 등은 불가 • 멀티플레이 중에 게스트가 홈 메뉴로 나가면 호스트가 NetMulticast 패킷을 보내지 않게 됨 • Reliable 설정한 패킷이 게스트에게 전달되지 않은 채 사라짐 • 멀티플레이만 어플리케이션이 BG 포커스 상태에서도 프로그램 중단되지 않도록 핸들링 모드 변경
  • 49. #ue4fest 아젠다 • UE4 운용방침 • 캐릭터 구성 • 레벨 구성 • 그림 만들기 · 렌더링 • VFX · SFX • 데모신 • UI • 풀 키 설정 • 멀티플레이 • 현지화 • 퍼포먼스 • 자동 플레이
  • 50. #ue4fest 현지화 • 텍스트 언어 • 현지화 대시보드 그대로 사용 • AssetLocalization 그대로 사용 • 음성 언어 • 텍스트 언어 변경과는 다른 방식이어서 미들웨어 쪽 기능과 맞추기 위해 자체 구현
  • 51. #ue4fest 현지화(문제점) • po 파일 편집환경으로 좋은 것이 없었음 • Excel 파일과 상호 변환하는 보조 툴 제작 • bSerializeAssetRegistry=true 그대로 • 메모리를 절약할 수 있을 거라 생각해서 false로 하면 AssetRegistry를 이용하는 AssetLocalization이 동작하지 않음
  • 52. #ue4fest 아젠다 • UE4 운용방침 • 캐릭터 구성 • 레벨 구성 • 그림 만들기 · 렌더링 • VFX · SFX • 데모신 • UI • 풀 키 설정 • 멀티플레이 • 현지화 • 퍼포먼스 • 자동 플레이
  • 53. #ue4fest 퍼포먼스 대책(캐릭터) • CharacterMovementComponent • 편리하지만 어쨌든 CPU 부하가 크다. • 일부 캐릭터는 Character 클래스 → Pawn 클래스로 변경 • 캐릭터 본체에 어태치하는 요소가 많음 캐릭터를 움직일 때 마다 CPU 부하가 올라간다. • 보이지 않아도 되는 요소는 직전까지 어태치하지 않는다. • 아스널 탑승 캐릭터는 직전까지 숨김&어태치되지 않음 • 어태치하는 요소 줄이기&정리
  • 54. #ue4fest 퍼포먼스 대책(캐릭터) • Primitive 컴포넌트의 내비메시 Octree 업데이트 억제 • UNavigationSystemV1::SetUpdateNavOctreeOnComponentChange(false) • 배틀 전후와 오브젝트 파괴 시 전환
  • 55. #ue4fest 퍼포먼스 대책(캐릭터) • 참고 • [CEDEC2018] UE4에서 다수의 캐릭터를 살아있게 하는 테크닉 https://www.slideshare.net/EpicGamesJapan/cedec2018-ue4- 111105729 • SkeletalMeshComponent의 최적화 기능을 세세하게 설정 • Optimization 프로퍼티 • 게임 중에도 상황에 따라 세세하게 ON/OFF 전환 • Generate Overlap Events • ON이면 히트 판정이 많을수록 CPU 부하 증가 • 전투 참가하지 않는 잡몹 캐릭터는 OFF로 되어있음
  • 56. #ue4fest 퍼포먼스 대책(기믹) • 맵 내에 배치된 파괴가능 오브젝트가 매우 많음 • 부서질 때까지 움직이지 않으므로 정지시에는 철저하게 기능 OFF • 액터는 물론 Component도 Tick을 멈춤 • GenerateOverlapEvents를 OFF로 함 • 모빌리티는 되도록 EComponentMobility::Static • SetMobility(EComponentMobility::Static) • SkeletalMeshComponent도 최적화 설정 • 모두 게임 중 필요에 따라 동적으로 변경
  • 57. 퍼포먼스 대책(탄환) • 탄환, 착탄 히트 연출이 발생할 때마다 갖가지 Spawn 처리 • 단시간에 수백개의 탄환 발사와 착탄, 거기에 딸린 VFX/SFX 재생 • CPU 부하 큼 • UObject 수가 늘어나 GC 부하 큼 • 풀링 처리 개발하여 재사용해 부하 줄임 • 탄환 Actor를 SetActorLocation으로 이동시키면 부하 큼 • 날아가기 시작 시 콜리전 OFF, LineTrace로 전방 히트 감지 • 히트 직전에 콜리전 ON으로 되돌림 • AActor::SetActorLocation이 아닌 MoveComponent로 이동시킴 • RootComponent->MoveComponent (…, MOVECOMP_SkipPhysicsMove , …) ; #ue4fest
  • 58. #ue4fest 퍼포먼스 대책(GC) UObject 수 줄이기 • DisregardGCObject • BP 줄이기(=CPU 부하 대책) • BlueprintClustering • 문제가 있다는 말도 있지만, 이 타이틀에서는 ON • 일부 애셋이 다른 클러스터에 들어가버려 해제되지 않는 문제 • 참고 • UE4에서 Loading과 GC의 Profiling과 최적화 기법 https://www.slideshare.net/EpicGamesJapan/ue4loadinggcprofiling
  • 59. #ue4fest 퍼포먼스 대책(BP) • BP Tick은 절대 금지, C++ 로 • 개발 초기에 BP 구현이었던 것을 C++로 대체하는데 막대한 비용 • 애니메이션 BP의 이벤트 그래프도 C++로 작성할 수 있음 • 불필요한 UFUNCTION, UPROPERTY 로 UObject 수가 늘어남 • C++과 엮이면 버그 추적하기 어렵다. • 정말로 필요한 부분에만 사용하자. • BlueprintNativeEvent는 BP 구현이 없어도 비용 크다. • 호출 시 BP 구현이 있는지 확인하기 때문 • C++로 끝나는 건 애초에 UFUNCTION 붙이지 말자.
  • 60. #ue4fest 퍼포먼스 대책(메모리) • r.RenderTargetPoolMin 200 • 보류된 불필요한 RenderTarget을 해제하는 한계값 • 기본값 400MB • 이 타이틀은 동시에 150MB 정도밖에 사용하지 않아 200MB로 변경. 메모리 오버 대책에 크게 공헌 • Bloom 텍스쳐 반감 • Engine/Content/EngineMaterials/DefaultBloomKernel.uasset • 에디터에서 엔진 컨텐츠가 보이게 하고 이 애셋을 열어 Minimum Texture Size 프로퍼티 수정 • 2048 → 1024
  • 61. #ue4fest 퍼포먼스 대책(UMG) • Visibility가 “Hidden”으로 설정된 Widget은 CPU를 계속 사용한다. • 대부분 Collapsed로 함 • InvalidationBox도 사용해봤지만…… • 레이아웃이 갱신되지 않는 등 버그 빈발 • 여유를 두고 도입하기로
  • 62. #ue4fest 퍼포먼스 대책(덤) • 참고삼아 일부 UObject 수를 공개합니다. • 게임 내용에 따라 크게 바뀔 수 있는 수치라고 생각하므로 어디까지나 참고 정도로 봐주시기 바랍니다. • “obj list -alphasort” • Test 빌드 • 1-02 배틀 시작 시
  • 63. Class 2765 Function 14646 ArrayProperty 2778 BoolProperty 13151 ByteProperty 3977 ClassProperty 810 EnumProperty 2757 FloatProperty 10169 IntProperty 4656 NameProperty 3354 ObjectProperty 13402 StructProperty 11801 TextProperty 548 Image 9764 Overlay 4903 OverlaySlot 11381 TextBlock 2769 Texture2D 1509 MovieScene 3144 MovieSceneColorSection 7714 MovieScene2DTransformSection 4427 MovieSceneBuiltInEasingFunction 26186 MovieSceneByteSection 13193 WidgetAnimation 3139 Total 281069 #ue4fest 퍼포먼스 대책(덤)
  • 64. #ue4fest 아젠다 • UE4 운용방침 • 캐릭터 구성 • 레벨 구성 • 그림 만들기 · 렌더링 • VFX · SFX • 데모신 • UI • 풀 키 설정 • 멀티플레이 • 현지화 • 퍼포먼스 • 자동 플레이
  • 65. #ue4fest 자동 플레이 • 랜덤한 맵에 입장해 적 섬멸계 배틀을 반복한다. • 싱글 플레이 • 온라인 멀티 플레이 • 로컬 통신 멀티 플레이 • 집계 내용 • 맵별 클리어 수, 리타이어 수, 클리어 타임 • 빠짐 감지 • CPU/GPU 부하 계측 • 덤프파일이 나온 경우에는 콜스택 내용
  • 66. #ue4fest 자동 플레이 • 프로젝트 종반부터 가동 • 1회에 실제 기기 30대 내외, 최대 40대 이상 • 매일 AM 1시~7시(토, 일에도 가동) • 초기 릴리즈까지 합계 50인월(人月) 이상의 가동 실적 • 패치 대응을 위해 계속 가동 중 • 날마다 집계하고 있어 통상적인 버그 보고와 대조할 수 있다. • 이전부터 발생하고 있던 프리즈인가? 빈도는? • 바쁜 시기의 부주의로 인한 실수도 다음날 아침에 잡을 수 있다.
  • 67. #ue4fest 정리 • UE4는 그대로도 꽤 쓸만함 • 타이틀 고유의 그림 만들기에는 역시 손을 댔음 • 동작 퍼포먼스도 사용 방식 나름 • BP 사용은 엄격한 규칙 적용 • 버전 업에는 주의 • 각 플랫폼의 마스터 제출 요건에도 주의 • 플랫폼 의존 기능 사용은 주의 깊게 • 다 되는 것처럼 보여도, 자주 사용하지 않는 기능은 충분한 동작 검증이 되어있지 않음
  • 68. #ue4fest 향후 과제 • 엔진 버전 업 • 애니메이션 제작 플로우 재검토 • 애니메이션 BP를 엔지니어가 관리하고 있었음 • 아티스트가 제어 및 조정하기 어려워짐 • 멀티플레이 • ReplicationGraph의 검증 • 자동 플레이 • 집계하는 플레이 내용의 충실화 • 랜덤 UI 조작 • 적 섬멸계 이외의 배틀 공략
  • 70. #ue4fest 메카 액션 게임 『DAEMON X MACHINA』 신념과 피와 강철의 개발사례 VFX 편
  • 72. 주식회사 마벨러스 리드 아티스트 키쿠치 사토루 경력 CG 프로덕션, CS 개발회사, 마이크로소프트, 마벨러스 게임 업계 경력 20년 지금까지 CS를 중심으로 다수의 타이틀에서 VFX 리드 UE3를 사용한 대규모 개발 경험 데몬 엑스 마키나에서는 리드 아티스트 VFX 디렉션, 머티리얼 제작, 환경정비, 스케줄 관리 리소스/애셋 관리, 각 세션과의 조정, 실작업 자기소개 #ue4fest
  • 73. #ue4fest 개요 • 제작 방침 · 환경 • 아티스트로서 고집한 점 • 문제점
  • 74. #ue4fest 목차 1. 들어가며 2. VFX 제작 방침 · 환경 3. 애셋 소개 4. 직면했던 문제 5. 정리
  • 75. #ue4fest 목차 1. 들어가며 2. VFX 제작 방침 · 환경 3. 애셋 소개 4. 직면했던 문제 5. 정리
  • 76. #ue4fest 2. VFX 제작 방침 · 환경
  • 77. #ue4fest VFX 제작 방침 · 환경 • 룩 • 제작방침 • 환경 • 머티리얼 • 레귤레이션 • UE4 버전 업과 커스터마이즈
  • 78. #ue4fest 프로젝트 · 룩 프로젝트로서 「툰」 표현을 선택 • 메카물로서 「평범」이 되지 않도록 「차별화」하고 싶다. • 금속 표현이 많으니 포토 리얼이라는 선택도 • 다만 그것 뿐이라면 「평범」한 룩으로 빠져버릴 가능성이 있다. 메카물이지만 툰 표현, 이라는 「차별화」
  • 79. #ue4fest 프로젝트 · 룩 툰 표현의 방향성 • 이쪽도 「평범」이 되지 않도록 「차별화」를 염두에 둔다. • 근래에 볼 수 있는 치밀한 애니메이션은 피함 • 80년대 메카 애니메이션이나 코믹과 같은, 색이나 명암이 뚜렷한 심플하고 특징적인 방향성을 목표로 했다.
  • 80. #ue4fest VFX · 룩 툰 표현의 방향성 • 프로젝트의 방침에 따라, VFX의 방향성을 모색 • 메카계 TV 애니메이션을 하염없이 시청 (자택 목욕탕에서) • 데몬 엑스 마키나의 VFX 룩을 정해 갔다.
  • 81. #ue4fest VFX 제작 방침 프로젝트 개시 당시 • PJ 스태프의 대부분이 UE 미경험자(본인과 또 1명만, 경험자 2명) • 준비 기간이나 양산 기간이 한정되어 있어 방대한 양의 애셋을 제작할 필요 • TA나 VFX 전임 엔지니어는 없음 • UE4에서의 VFX 제작은 처음. 환경 구축, 워크 플로우 등 모색 • 툰 표현, 바닥부터 만드는 것은 처음
  • 82. #ue4fest VFX 제작 방침 큰 틀의 방침 너무 복잡하게 하지 않고 사용하기 쉽고, 양산하기 쉽게 하는데 중점을 둔다.
  • 83. #ue4fest VFX 제작 방침 데몬 엑스 마키나 VFX 제작에서 중요시한 점 • 액션 게임 애셋으로서의 기능성 • 처리 부하 경감 • 공수 절감 • 툰 표현 • 퀄리티(메카물로서의 표현을 중요하게) • VFX 팀 내 정보공유 철저히
  • 84. #ue4fest DCC 툴 • • • • Maya 3ds Max Substance Designer Houdini 제작 환경 환경 • 최종 버전 UE 4.20(Cascade)
  • 85. #ue4fest 머티리얼 구성 검토 • 과거 UE3 대규모 프로젝트 시 머티리얼을 일부 제작한 경험 • 처리 부하가 문제가 되었으므로 주의한다. • 머티리얼을 자세히 조사, 관리를 확실히 • UE4 구성 검토 • 머티리얼과 머티리얼 인스턴스의 구조와 문제점 공유 (Epic Games Japan: 篠山範明 ) #UE4DD https://www.slideshare.net/EpicGamesJapan/epic-games-japan-ue4dd
  • 86. #ue4fest 머티리얼 머티리얼 구성 개요 • 「Usage」 별로 나눈다. • 용도를 「범용」 「전용」 으로 나눈다. • 「라이팅시킴 · 시키지 않음」 으로 나눈다. • 참조 구조 「부모, 자식, 손자」 타입 • 명명 규칙은 시행 착오하며 결정 ※자세한 내용은 생략
  • 87. #ue4fest 머티리얼 블렌드 모드와 게임 요소 • 플레이어, 양손 무기, 어깨 무기 동시 사용 가능 • 플레이어, 최대 4대(분신으로 8대) • 적, 많이 보임(잡몹, 보스) • 처리 부하 우려 • 툰 표현, 디졸브가 많을 것으로 예측 • 불투명틱한 화면이라도 괜찮을 것으로 예측
  • 89. #ue4fest 머티리얼 이유 • Mask도 반투명하지만, Transclucent 만큼 처리를 먹지 않음 • 그리기 순서를 별로 고민하지 않아도 된다. • 툰 표현, 처리 부하의 양립이 가능, 일석이조 ※일부 Opaque, Translucent, Additive 등도 사용 과감했지만 이 결정은 옳은 것이었다.
  • 90. #ue4fest 레귤레이션 요소(자세한 내용은 생략) • 텍스쳐 • 스태틱 메시 • 머티리얼, 머티리얼 인스턴스 • 이미터, 모듈 설정(Cascade) • 파라미터(Cascade) • 물리 머티리얼 • LOD • 콜리전 메시
  • 91. #ue4fest 중요도를 매겨 체크 레귤레이션 체크리스트 • 데이터 업 전에 체크 • 너무 세세하게 하면 VFX 스태프의 부담
  • 92. #ue4fest 레귤레이션 체크 리스트의 중요성 「당신은 왜 체크리스트를 사용하지 않는가?」 아툴 가완디 : 지음 / 吉田竜 : 번역 晋遊舎 ※ 역주 원서: 「The Checklist Manifesto」 번역판: 「체크! 체크리스트」 21세기북스
  • 93. UE4 버전 업과 커스터마이즈 과거 UE3 대규모 개발 시 CASCADE를 적극적으로 커스터마이즈 버전 업에서 굉장히 고생했던 경험 버전 업의 영향을 생각 커스터마이즈는 하지 않는다. ※ 엔지니어측에서 「Skel Vert/Surf Location 」 노드만 손보고 있습니다.
  • 94. #ue4fest 무사히 이행할 수 있었다. UE4 버전 업과 커스터마이즈 버전 업의 주의점 • 이행 전의 환경을 남긴다. • 이행 후의 변화를 체크, 대응 부분의 명확화 및 대응 • 데이터로 수정할 수 없는 부분에 대해서는 엔지니어에게 의뢰해 순차적으로 대응
  • 95. #ue4fest 목차 1. 들어가며 2. VFX 제작 방침 · 환경 3. 애셋 소개 4. 직면했던 문제 5. 정리
  • 97. #ue4fest 애셋 소개 a. 총알 b. 연기 c. 폭발 d. 슬라이드 이동 e. 범위 f. 스러스터 g. 지표 연기
  • 98. #ue4fest a. 총알 · 미사일 · 초기
  • 99. #ue4fest a. 총알 · 미사일 · 최종
  • 100. #ue4fest a. 총알 · 스나이퍼 라이플 · 초기
  • 101. #ue4fest a. 총알 · 스나이퍼 라이플 · 최종
  • 102. #ue4fest 미사일: 육각형 블리츠: 삼각형 a. 총알 · 기호화 스나이퍼: 사각형 기호화
  • 103. #ue4fest Dynamic 파라미터로 제어 직감적이지 않고 번거로움 b. 연기 디졸브 머티리얼
  • 104. #ue4fest b. 연기 디졸브 머티리얼 • 「Color Over Life 모듈」 Alpha 커브를 통한 디졸브 제어 직감적인 제어
  • 105. Panner 노드 덜컹거림의 해소(정밀도) b. 연기 UV 스크롤에 의한 거칠어짐 #ue4fest
  • 106. #ue4fest b. 연기 텍스쳐에 의한 디졸브의 가장자리 거칠어짐 • 당초 DXT1을 사용 해상도를 높여도 해결되지 않는다. • GrayScale 텍스쳐로 해결 낮은 해상도에서도 깨끗하게
  • 107. #ue4fest GrayScale 128 x 128DXT1 512 x 512 b. 연기
  • 109. #ue4fest 참고 : UE4 SphereMask로 거리에 따라 색 바꾸기(moko 님) http://effect.hatenablog.com/entry/2 018/05/16/025859 b. 연기 큰 연기가 화면을 뒤덮어 버리는 문제 • 카메라로부터의 거리에 따라 연기에 구멍을 뚫는다.
  • 113. #ue4fest c. 폭발 · 적열 머티리얼
  • 114. #ue4fest c. 폭발 · 적열 머티리얼
  • 115. #ue4fest c. 폭발 · 추락 시
  • 116. #ue4fest c. 폭발 · 추락 시 아스널(플레이어, 적)의 추락 시 VFX • 성취감을 준다 • 메카에서 파츠 무기를 떼어내는 기능 세로로 길게 하여 추락지점을 강조
  • 118. #ue4fest d. 슬라이드 이동 메카의 슬라이드 이동 궤적 부분 • 트레일, PC에서는 문제 없었음 • 실제 기기에서 트레일이 날뛰는 현상
  • 119. #ue4fest d. 슬라이드 이동 원인 • 트레일 끝단의 스케일 에니메이션이 영향 • 「Size By Life」를 지웠더니 날뛰지 않게 되었다.
  • 120. #ue4fest e. 범위 · 범위 폭발
  • 121. #ue4fest 폭발 범위 날려버리기 + 모션 블러 e. 범위 · 범위 폭발 폭발을 맞을 때 • 폭발 내, 설득력이 필요 • 폭발 내, 사실은 비어있음 제안 • 날려버리기 • 모션 블러(순간)
  • 122. #ue4fest e. 범위 · 데미지 폭발
  • 123. #ue4fest e. 범위 · 회복 공간
  • 124. #ue4fest e. 범위 · 입자 병장 실드
  • 125. #ue4fest e. 범위 · 보스 실드
  • 129. #ue4fest g. 지표 연기 · 배경 VFX
  • 132. #ue4fest 목차 1. 들어가며 2. VFX 제작 방침 · 환경 3. 애셋 소개 4. 직면했던 문제 5. 정리
  • 134. #ue4fest 지면의 종류에 따라 VFX나 SFX를 변경하는 구조 물리 머티리얼 구조화 문제 물리 머티리얼이란? • 「흙바닥」에 착지 → 흙먼지 • 「모래바닥」에 착지 → 모래먼지
  • 135. #ue4fest 물리 머티리얼 구조화 문제 구조화에 있어서 • 팀으로서 물리 머티리얼의 구조화 방법을 알지 못해 모색 • 영향 범위가 넓어 구조화까지 시간이 필요했다. • 구조화 후, 기존 데이터의 수정 대응이 필요해졌다.
  • 136. #ue4fest 물리 머티리얼 구조화 문제 구조화 · 조건 4가지 ① 지형 스펙(모든 종류) ② 배경팀의 지형 구성(모든 종류) ③ 적용 대상 VFX를 가려내고, 분류 지정 ④ 물리 머티리얼 ID 결정
  • 137. #ue4fest 물리 머티리얼 구조화 문제 구조화 · 흐름 ① VFX의 구조화 Initial Color 모듈 Param 화 등 ② 배경팀 대응 ③ 엔지니어 측의 물리 머티리얼 대응 아스널(메카), 아우터(사람), 잡몹, 보스, 이벤트, 기믹
  • 138. #ue4fest 물리 머티리얼 구조화 문제 구조화 · 확인 맵 • 배경팀에서 준비해 줌 • 여기서 VFX를 제작 • 물리 머티리얼 동작 확인
  • 140. #ue4fest 영향 범위가 크므로 조기에 각 섹션과의 상의, 구조화가 중요 물리 머티리얼 구조화 문제 구조화 · 정리
  • 141. #ue4fest 하딩 체크 대응 문제 하딩 체크 체크 후의 대응 • 수작업 • 구조화 ※ 역주: 하딩 체크 – 빛 점멸에 의한 광과민성 반응 테스트
  • 142. #ue4fest 구조화 있음 하딩 체크 대응 문제 구조화 없음
  • 143. #ue4fest VFX팀 측에서 다른 섹션으로의 제안 • 당초 비슷한 무장이라도 적별로 다른 스펙으로서 발주되고 있었다. • 적마다 무장이 다름 • 미술 설정 단계에서도 무기마다 총의 구경이나 스러스터 사이즈 등이 제각각으로 그려져 있어 모든 것을 만드는 건 효율이 나쁘다.
  • 144. #ue4fest VFX팀 측에서 다른 섹션으로의 제안 무기의 규격화 • 담당 기획자나 미술 설정 담당에게 무기 종류, 사이즈, 형상의 규격화를 제안 • 그 규격 안에서 스펙 지정이나 설정을 하도록 의뢰 VFX팀 이외라면 알아차리기 힘들다. 적극적으로 제의하자.
  • 145. #ue4fest 목차 1. 들어가며 2. VFX 제작 방침 · 환경 3. 애셋 소개 4. 직면했던 문제 5. 정리
  • 147. #ue4fest VFX편 · 정리 방침 환경 • 방향성을 확실히 정한다. • 상황에 맞춰 사전에 준비한다. 애셋 제작의 포인트 • 기능성(시인성, 기호화, 인게임에서의 역할을 확실히 함) • 처리 부하 • 표현 · 독창성 문제 대응 • 물리 머티리얼은 조기에 착수 • 제안, 구조화가 중요
  • 148. #ue4fest 목차 1. 들어가며 2. VFX 제작 방침 · 환경 3. 애셋 소개 4. 직면했던 문제 5. 정리
  • 149. #ue4fest 이 강연이 여러분께 도움이 되기를 바랍니다.