오늘은 사무실이 아닌 곳이다
구글인디게임페스티벌에서 Unity 관련 강연을 준비하여 참석하였다.
간만에 인천에서 대치동까지 먼거리를 다녀왔다.
실시간으로 들으면서 작성하였다.
나름쓸모있는 정보가 많았다. 글은 다듬어지지 않은 상태
틈틈이 이번 내용을 이번 프로젝트에 반영하면서 글을 올리겠다.
오~ 시작 전 도착
유니티 2018 기능 설명 동
영상에 나오던 분을 직접 본다 …. 간지
14:00 시작
인디게임페스티벌 내용이 계속 업데이트 되고 있으니 내용 확인
>> 오늘것도 문서가 정리되어 올라올 예정
유니티 아틀라스 기능
타일맵 기능
콜라이더 병합
z의 소팅 처리
# line 슬라이스
박스에 따라서 타일링 처리가 진행 됨
# 스프라이트 마스크 기능
정해진 범위 안에서만 보임
카드게임의 내부 캐릭터 베치
인벤토리 처리 등
컴퍼넌트 - sprite mask
화면이 어둡게 가운데로 모이면서 처리되는 것도 가능 하다고 함
안쪽, 밖 모두 처리 가능
#sprite atlas
project setting - editor - sprite packer - Always Enabled
사용 - create - sprite atlas
type - master(기본사용)
variant(저사양) - 원본 atlas를 지정
레트로 게임은 - filter를 point로 사용
#타일맵 기능
2D Object - tile map add
window - tile parent
add - Til collider
타일 이미지만 만들면 자연 스럽게 처리 됨
불필요한 콜라이더
composition 콜라이더 가 불필요한것 제거 (tile coliider2d - use by composit - 체크)
rigidbody - static 으로 처리
컴포넌트 - tilemap에서 Anch를 조절하여 입체감 처리 할 수 있음
#cimemachine - aset store에서 받아서 사용
Chinemachie - 2D camera
saving during - 체크가 되어 있다면 플레이 중 수정한 것이 저장 됨
add extention - 영역 설정 가능 (노란선)
Unity korea 유튜브 채널을 통해서 tutorial 확인 가능
2018 - 2D 스켈레톤 애니메이션 (본 애니메이션) (대박!! 바스트 모핑도 쉬워진다!)
픽셀 퍼펙트 - 픽셀 1:1 매칭
15:00
최적화 를 위한 팁들
Cpu & 메모리 최적화 부분
프로파일링 -> 병목 탐지 -> 병목제거 -> 프로파일링
#Transform
트렌스폼이 변경이 되면 많은 메시지를 보냄
계층 구조일 때, 부모가 움직이면 더 많은 메시지를 보냄
Physics 컴포넌트는 Physics scene도 업데이트 됨
transform. setPosition And Rotation ()
{
};
하나의 컴포넌트에서 처리하면 최적화에 도움이 됨.
#Animator
Optimized > 체크하면 최적화가 자동으로 진행 됨
에니메이션 데이터를 멀티 스레딩에서 활용 가능하도록 재배치
#Physics
씬 복잡도가 중요
콜라이더 자체가 비쌈
메시 컬라이더는 매우 비쌈
Physics 연산
- 잠재적인 컬리전(충돌)을 월드 스페이스로부터 수집
- 레이어를 기반으로 잠재적인 컬리전들을 걸러냄
- 실제의 컬리전을 찾아내기 위해 테스트
Physics layers
불필요한 부분을 해제하고 처리 - 최적화 성능 필요
Physics time -step 줄이기
대부분은 timestep 0.04 ~ 0.08이면 충분
rigidbody를 쓸때는 통해서 이동 등을 처리한다
#Memory
bitbucket 다운로드 (유니티 프로파일러)
스크립트 백엔드를 IL2CPP로
디벨롭먼트 빌드
#Asset dependency
중복이 발생
의존성이 있음
어셋번들 브라우져로 확인하여 중복으로 올라가는 부분을 확인
유니티 어셋 번들 처음 페이지를 확인
#Texture compression
1KB SVG 이미지를 적용하니 늘어요
텍스쳐 압축이 무조건 발생
이미지는 하드의 용량만 영향
가변비율 인코딩으로 대부분으로 되어 있음
고정 비율 인코딩
PVRTC(4bpp, 2bpp) - 복잡할수록 망가짐
ETC1(4bpp)
ETC2(4,8bpp)
Android의 compressed
ETC2는 OpenGl Es3.0부터 지원
OpenGl ES2.0에서 ETC2사용시 -> 압축이 풀려서 메모리에 적재 (저사양 기기에서 메모리가 넘쳐버리는 현상 발생 할 수있음)
Override ETC2 fallback - ETC2 실패시 설정할 내용
Compress using ETC1(Split alpha ) - 텍스쳐를 알파 텍스처를 별도로 만들어서 처리해주는 방식
Dither4444 기법 - 16비트로 줄여도 어느정도 부드럽게 처리
Chroma Pack - 밝기를 이용한 구분 ( 쉐이더 성능이 필요 , 알파는 1bit만 지원)
buildSetting - cradle (빌드 안되면 바꿔보기)
16:00
유닛파이브 대표 최준원
큐비카에서 큐비까지
스케치업 툴
SketchUP
버프스튜디오 김도형 대표님의 Post https://brunch.co.kr/@
BitBuchet/SourceTree(git) BaseCamp
Jenkis 자동화 > Slack과 연동
나도 Source Tree를 이번에는 활용하기
17:00
Unity Ads
광고 고도화?
> Live 이후 지표 요청하면 받을 수 있음
> Default settings.
Placement ID - Video , rewardVideo
다양한 이름으로 설정
스킵형과 논스킵형을 섞어서 제공
문제 점
- 보상
- 전달되는 메시지
- 노출되는 위치
수집, 성장, 강화, 보상
리텐션과 플레이 타임을 잡아라
재접속 동기 부여
플러스(+)팩터와 연동된 광고 시청 보상
동영상 시청도 게임 스토리의 일부
중,고렙 & 결재유저도 시청하도록
사용자 레벨이 정체되고 이탈하는 구간이 있다면 광고 보상을 제공
직접보상
- 보석, 골드
- 완료 보상 2배
- 티켓(AP,Key)
오프라인 누적 보상 ( 추천 ) - 획득
광고전용재화
간접 보상
- 버프효과
- 스킬리젠단축
- 타임 세이빙
- 이어하기
- 체력 등의 회복
자동아이템 수집
savePoint
Spin참여권
#IAP Promo
인앱 결재 장려를 위한 신규 기능 소개
# Remote Settings
실시간으로 콘텐츠를 업데이트를 제공
리소스를 국가 및 지역으로 설정할 수 있는 기능
디테일한 설정으로 사용자 리뷰 팝업등의 노출 설정 가능
로컬라이제이션
Icon A/B테스트 가능
타임세이빙 방식이 효과가 좋은편
광고 와 비교 대상을 함께 노출
OfferAll - 광고시청 후, 별도의 포인트로 현물화재화를 얻는 행위가 있긴함
하루 광고 건수 - 25 +@
리젠 시간 -