이 강연은 내용이 정말 좋았다.
Unity로 개발하면서 발생했던 문제와 해결방법들을 자세하게 설명해주셔서 보고 이해도 잘됐고
추후에 작업할 때 많은 도움이 될것 같다.
동시간대에 같이했던 프로젝트.99도 굉장히 좋았다는데 나중에 다시한번 강연을 찾아봐야겠다.
(주의 : 사진이 굉장히 많음)
AxE 개발에 Unity를 선택한 이유
- 이미 검증되어 있음.
- 비 프로그래머도 쉽게 편집 기대
- 고수준 그래픽 기대
프로파일러는
Unity Profiler,
Frame Debug,
XCode Instruments - Time Profiler를 사용
오류수집도구
Aptelgent Crittercism - Unity 적용 쉬움,
Fabric Crashlytics를 사용
개발시 발생한 가벼운 문제들
1. Scene 전환시 메모리 문제
→ 메모리 적은 디바이스에서 씬 전환시 메모리 부족현상 발생
2. Distance 검사
→ 기능추가, 개체수 증가 - 거리검사도 부담이 됨.
→ 정확한 거리 측정보다는 범위 안에 포함되어있는지.
3. enum키를 사용하는 Dictionary
→ 결론 comparer 만들면 된다.
해결방법들은 아래의 강연자료에 자세하게 나와있다.
부족한 메모리
화면깨짐과 튕김현상 발생
Android Native Crash - 안드로이드에서 강제 종료됨을 확인
메모리 프로파일링. Dumpsys meminfo
메모리 단편화?
GC.collet - GC에 로그를 심어보자
메모리문제 해결
계속 새로운 객체를 생성하는 것을 처음 1번만 생성하여 계속 사용하도록 수정.
코루틴은 동작방식을 이해하여 자체적으로 새로 제작하여 필요한 부분만 사용하게끔해 문제를 해결함.
렌더링 최적화
많은 캐릭터와 배경 이펙트 → 프레임 드랍
렌더링 문제찾기
1. 유니티 프로파일러
배경, 캐릭터 → 플리곤 수가 많음.
스킬 이펙트 → 드로우 콜 배칭 수
2. XCode GPU 프로파일러
카메라 포스트 이펙트
배경과 캐릭터의 최적화
LOD (Level Of Detail) 사용 → Mesh, Shader 최적화
LOD 변환시 이질감(Popping) → Blending 사용하여 부드럽게. Cross Fade Shader를 사용하여 최소화
카메라 포스트 이펙트
Bloom + Tone Mapping + LUT 방식으로 사용
Tone Mapping과 LUT는 색상 보정을 위해 사용하고 실 문제는 Bloom에서 발생
Bloom은 로비와 장비창에서는 캐릭터, 필드에서는 이펙트와 배경에 사용하는데
상이 번진것처럼 밝아지게해 그걸 기존이미지와 겹쳐 광원? 빛나는 효과를 연출하는 것.
캐릭터 스킬 이펙트 최적화
Draw Call Batching 최적화 → 렌더링 순서 옵션을 추가함.
이펙트 종류별로 아틀라스 작업
'프로그래밍 공부 > NDC 2018' 카테고리의 다른 글
듣고싶었지만 못들었던 강의들 (0) | 2018.04.27 |
---|---|
[2일차] <주사위의 신> 페이퍼 버전으로 게임 룰 설계하기 (0) | 2018.04.27 |
[2일차] <던전앤파이터> 유저대응, 오래된 라이브를 우상향시키는 방법 (0) | 2018.04.27 |
[2일차] 좋은 이름, 나쁜 이름, 이상한 이름 (0) | 2018.04.27 |
[2일차] <프로젝트DH> AI 내비게이션 시스템 - 공중 내비게이션 시스템 개발기 (0) | 2018.04.27 |