일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 가이드
- ui
- 커스텀 패키지
- TextMeshPro
- Framework
- 단말기 해상도
- Sprite Atlas
- unity
- 2D Camera
- job
- 프레임워크
- DotsTween
- Dynamic Font
- C#
- 최적화
- Dots
- Tween
- 텍스트 메시 프로
- Job 시스템
- base64
- sha
- adfit
- 샘플
- Custom Package
- 암호화
- Unity Editor
- AES
- 이미지 폰트
- RSA
- 다이나믹 폰트
- Today
- Total
목록최적화 (8)
EveryDay.DevUp
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bl81Qs/btsL0Fi8Etu/R6SWL9QYdjGt8OktyzPe70/img.png)
Project-ML에서 SPUM을 통해 만들어진 캐릭터는 스프라이트 애니매이션을 통해 화면에 보여주고 있음Q. 스프라이트 아틀라스를 사용할 때와 사용하지 않을 때 어떤 차이가 있을것인가?.1. 이론- 스프라이트 아틀라스를 통해 스프라이트를 합칠 경우 메모리에 합쳐진 한 장의 스프라이트 이미지가 올라갈 것으로 예상- 현재 캐릭터는 Move / Attack / Idle / Die 4개의 애니매이션과, 각각 스프라이트 한 장씩 총 4장을 사용함2. 검증 방법2.1. 스프라이트 아틀라스를 사용할 때와 사용하지 않을 때 윈도우 환경으로 빌드 후 메모리 프로파일러 실행: 각 빌드는 Clean Build를 사용2.2. Unity Objects 를 비교한 결과 확인 3. 결론- 스프라이트 아틀라스를 사용할 경우 4M..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/tkZ85/btrpdnxF2lG/AxY64Jb3QaIKxBshrDNMnK/img.png)
Unity 5.5 미만 버전에서 foreach를 사용할 경우 가비지가 발생하는 이슈가 있었다. 원인 - Mono C# Unity 버전에서 foreach loop 종료 시 값을 강제로 박싱 - 값 형식의 열거자를 생성하였는데, 해당 열거자를 사용할 경우 loop가 종료되는 시점에 IDisposable 인터페이스를 구현 해야 했음 - 인터페이스는 참조 형식이기 때문에, 값 형식을 인터페이스로 변환하는 중에 박싱이 발생하게 됨 참고 : https://everyday-devup.tistory.com/106 [Unity] Struct (구조체) Struct (구조체)? - 데이터와 관련 기능을 캡슐화할 수 있는 값 형식 캡슐화 : 데이터와 기능을 하나로 묶고, 구현 내용 일부를 외부에 감춤 특징 1. 매개 변수가..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/mK1cG/btqEq70k6dM/Pp1StrTLkWV9kAldYLwmm0/img.png)
● Draw Call이란? : CPU가 GPU에게 오브젝트를 그려라 라는 명령을 내리는 것 ▶ 그려라 라는 명령 안에는 메시 정보, 텍스쳐 정보, 쉐이더 정보, 라이트 정보 등 하나의 오브젝트를 그리기 위한 정보가 담겨짐 ▶ 한 프레임이 그려지는 것은 CPU, GPU의 작업이 모두 끝났을 때가 됨. 게임 최적화를 위해서는 CPU의 부하인지, GPU의 부하인지를 체크 해야함 ▶ Unity에서는 Batch ( 그리라는 명령 + 상태 변경 )을 넓은 의미의 Draw Call이라고 하며, SetPass는 쉐이더로 인한 렌더링 패스 횟수을 이야기 함 ● Draw Call이 발생하는 경우 ▶ 하나의 오브젝트에 메시가 여러 개인 경우 ▶ 하나의 오브젝트에 여러개의 메터리얼이 있는 경우 ▶ 하나의 쉐이더에 멀티 패스가..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/PewT6/btqEkav4wsC/WBLbmjniPYyTqyDAR6Amzk/img.png)
● UGUI : Unity에서 제공하는 Built-in UI 시스템 ▶ Unity 초기 UI 시스템은 매우 불편하였고, Asset Store에 UI를 용이하게 사용할 수 있는 EZGUI, NGUI와 같은 UI 어셋이 있었다. ▶ Unity 4.6 버전에서 UGUI가 릴리즈 되었는데, NGUI의 개발자가 Unity에 합류하여 개발해서 그런지 많은 시스템이 NGUI와 유사하다. ▶ 현재는 NGUI도 많이 사용하지만, UGUI도 많이 사용하여 개발하는 상황으로, 엔진 단에 코어한 코드( Canvas.. )를 제외한 나머지 UI 시스템은 오픈되어 있다. : UGUI 코드를 분석하면, UI 시스템 외에 Unity Custom Editor를 만들 때 사용할만한 코드와 Unity의 코드 스타일 같은 것도 알 수 있다..