Programming/언리얼엔진

언리얼엔진

DDang goon 2019. 8. 14. 14:52

캐릭터

-드로우콜

-폴리카운트

-머티리얼

-텍스쳐

 

드로우 콜을 줄이기 위해선

-적은 파츠, 적은 머티리얼 슬롯, 적은량의 본

머터리얼

-인스트럭션

-작은 스위치, 파라미터 사용

4.22버전에 추가된 스켈레탈 메시 LOD 생성 툴

-이제 스켈레탈 메시 LOD도 엔진에서 만들 수 있다

-무려 6가지 Term

플랫폼별로 Screen size 세팅 가능

텍스쳐

-텍스쳐 에디터에서 텍스처 성격에 맞는 그룹 지정

-디바이스 프로파일에서 디바이스 별로 텍스처 스트리밍 그룹 세팅

-캐릭터,UI,배경,이펙트 등의 스트리밍 밸런스 조정

-LOD Bias

 

애니메이션

LOD asset

-LOD 세팅을 에셋으로 관리

-LOD 세팅 값에 맟춰 Bone 제거

-플랫폼 별로 값 세팅가능

-하나의 LOD세팅 값으로 모든 캐릭터에 사용가능

-PC,NPC,Monster등으로 분리하여 사용

URO(Update Rate Optimization)

-PIE에서 확인 (멀리있을 때 애니메이션)

Animation Budgeting(베타)

-플러그인에서 킬 수 있음

-inBudget

-시스템 확장, 중요도에 따라 정렬,항상 'fixed'된 작업유닛을 tick

-가장 중요한 오프스크린 N개만 tick

-디버그 "With_tick_debug 1"

URO 문제점

플레이어가 많을수록 다운

Animation sharing

-많은 액터들에게 필요한 애니메이션 작업의 총량을 줄이는 공유 애니메이션 시스템

-AnimationStateProcessor가 각 Pawn에 대한 상태 결정

-각 상태에 variations 추가

-블렌딩(On Demand(주문형) Blend Component 추가)

-Additive States(additive animation을 적용하여 만든 On-Demand 상태)

군중 구현

-완전 다이나믹 Nav Mesh

-일반 AI system사용

-RVO 기반회피

-Nav Mesh기반 무브먼트

-커스텀 RepGarph 지원

VTF(버텍스 셰이더에서 텍스쳐를 읽어올 수 있는 기능)

버텍스 셰이더에서 텍스쳐에 베이크된 애니메이션 정보를 읽어와 버텍스 오프셋을 변경하여 애니메이션을 시뮬레이션 하는 방법

애니메이션 파일 크기 절약

런타임 비용 최적화

이펙트

명시적 디테일 모드

중요도(우선권) 설정

-이미터 단위로 세팅

Material

-랜드스케이프 머티리얼

 

Level Optimization

-플랫폼별 뷰 디스턴스 스케일 세팅

-배경오브젝트 크기별 컨디스턴스(액터 디테일 모드 LOW,Medium,High)

-임포스터베이커

-랜드스케이프 최적화

-컴포넌트 크기 조정

-폴리지 최적화(퀄디스턴스,밀도스케일,LOD생성,오버드로 최소화,모바일 스위치에서는 버텍스셰이더 사용하지않음)

-오버드로 최적화

-모바일 하드웨어/소프트웨어 오클루전 쿼리

-공간 업스케일(r.ScreenPercentage)

-템포럴 업샘플(r.SecondaryScreenPercentage.GameViewport) 계산법 목표해상도/현재 설정 해상도 * 100 = 2차 스크린 퍼센티지