일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- UE5
- Tutorial
- w3school
- c++
- 오류
- String
- Algorithm
- Class
- loop
- 기초
- 재귀
- python
- dfs
- Material
- guide
- 시작해요 언리얼 2022
- W3Schools
- Programming
- Unreal Engine 5
- Basic
- dynamic
- 백준
- 프로그래밍
- DP
- github
- C#
- parameter
- 문제풀이
- 파이썬
- Unity
- Today
- Total
목록Unity/Project : Ocean Cleaner (7)
행복한 개구리

프로젝트의 발열을 잡기위해 며칠간 최적화를 공부하며 메모리를 확보할 수 있는 부분들을 찾고있다. 일단 CPU또는 GPU의 문제인지 알아야 하기때문에(보통은 GPU에서 발열이 나는 경우가 10배가량 많다고 한다) 프로파일링을 돌려보았다. 우선 그래프를 보았을 때 가장 두드러지게 많이 차지하는 부분이 렌더링이다. 렌더링이 거의 반정도를 차지하는 것을 확인하였고 그 다음은 CPU와 GPU의 속도를 동기화하여 테어링을 방지해주는 Vsync, 그 다음으로는 스크립트가 차지했다. 결과를 보니 생각보다 스크립트의 비중이 컸으며 생각보다 렌더링의 문제라고 보기에는 그 비중이 상당이 작았다. 그리고 Vsync도 보아하니 CPU에서 수행하는 것 같은데 CPU에서 렌더링 명령을 할당해주는 메모리와 (Vsync + 스크립트)..

환경아이템을 만든다고 한다. 나는 어셋탐색을 할당받았기 때문에 강의할 때 사용했던 Asset들 중에서 어울리는 어셋을 찾아보았다. 위 사진과 같은 풍의 모델들을 찾았으며 다행히도 몇몇가지 동물들이 존재했다. 다만 우리는 바다앱이기때문에 사슴, 곰, 닭 등은 사용하지 못했고 물개, 바다사자, 거북이 등을 사용하기로 했다. 그리고 배경에 띄울 새 무리로 쓸 갈매기는 멀리서 보이기때문에 LowPoly를 사용해도 된다고 했기때문에 그나마 찾아뒀던 Lowpoly어셋에서 추출하기로 했다. 갈매기는 위 어셋이서 추출했으며 애니메이션을 심플하게 앉는 모션 + 나는 모션만 있었다. 그리고 별로 쓸 어셋을 찾는데 불가사리의 애니메이션을 빼면 별처럼 보일 것 같아 불가사리도 하나 넣어주었다. 그리고 별이 필요하다해서 이 전..

https://funfunhanblog.tistory.com/301 Unity) 드로우콜 DrawCall 1. 드로우콜 이란 간단하게 CPU가 GPU에게 렌더링 작업을 수행하도록 명령을 하는것이다. 게임은 실시간 렌더링 어플리케이션이다. 실시간으로 렌더링을 수행하기에, 한 프레임의 렌더링은 오브 funfunhanblog.tistory.com 오늘도 개념들에 대해 공부해보자. 위 블로그의 게시물을 읽으며 정리했다. 우선 최적화를 하기 위해서는 발열이 왜 나는지를 알아야한다. 발열이 나는이유는 크게 2가지가 있는데, CPU에서 할당된 작업을 수행하는데 너무 많은 작업을 할당받아 발열이 나는 경우와 또는 GPU에서 너무 많은 작업을 할당받아 발열이 나는 경우이다. CPU의 경우엔 코드의 구조가 복잡하다던가 낭..

현재 기기에서 앱을 실행할 때 발열이 RPG급으로 심하게 나는 이슈가 있다. 따라서 최적화를 진행해보도록 하겠다. 하지만 최적화는 처음이니 개념부터 공부해보자 :D https://docs.unity3d.com/kr/2019.4/Manual/MobileOptimizationPracticalScriptingOptimizations.html 스크립트 최적화 - Unity 매뉴얼 이 섹션에서는 게임에서 사용하는 실제 스크립트와 메서드를 최적화하려 할 때 어떻게 착수하면 될지 설명합니다. 또한 최적화가 가능한 이유 및 특정 상황에서 이러한 최적화를 적용했을 때 docs.unity3d.com 일단 내가 이해하고 구현할 수 있는 내용으로 정리를 해보자면 변수에 메모리 할당되는것을 최대한 줄인다. ex. 많은 양의 문..

간만에 작업을 진행하는것 같다 :D 사실 그동안 이 전에 했던 Cursed Treasure를 포트폴리오화 시키며 버그나는 부분을 수정한 뒤 영상을 편집하다보니 시간이 오래걸렸다. (대략 1주일정도 ㅠㅠ) 상점에서 배들을 구입할 때 이미지가 너무 작다는 피드백이 들어와 해당 이미지를 키워달라는 요청이 있었다. 따라서 이미지를 키우는 작업을 했는데 처음에는 Sprite의 픽셀을 크게 만들어주는 방법을 검색했다 이미 진행된 프로젝트에서 중간에 편입한 내게는 구조만 파악하기에도 꽤나 버거운 상황이므로 스프라이트의 픽셀을 바꾸는 방식을 찾아봤지만 아무래도 Texture자체의 크기가 바뀌지 않는 이상 당연하게도 Sprite의 크기는 바뀌지 않았다. 따라서 Image의 Width와 Height 또는 Scale을 변경..

08.07 개발일지 내용에 이어간다. 팝업구조와 광고 분기를 나누어주었으니 이제 보는 광고에 따라 차등보상을 지급할 수 있도록 구현해보자. public void NoSkipTrashProcess() { UserInfo.Instance.TrashCollect(garbageAmount); UserInfo.Instance.SetCycle(garbageAmount); garbageRespawn.FindTrash(); garbageAmount = 0; inGame.CurrentTrash(garbageAmount); inGame.CycleCheck(); uICollection.GetCollectionRandom(); } public void SkipTrashProcess() { Debug.Log("skip"); i..