Programming/Unity
-
[Unity] UniRx - WWW 통신을 Reactive하게 관리하자 (ObservableWWW)Programming/Unity 2022. 5. 10. 23:12
설명의 앞서 UniRx 라이브러리의 ObservableWWW 는 obsolete 된 WWW 클래스를 사용하고 있습니다. 따라서 Unity에서 사용을 권장하는 UnityWebRequest를 사용하면 좋은데 이를 위해 UniRx 제작자가 만든 UniTask 라이브러리를 추천합니다. 이밖에도 강력한 비동기 기능들을 지원한다고 합니다. Cysharp/UniTask: Provides an efficient allocation free async/await integration for Unity. (github.com) GitHub - Cysharp/UniTask: Provides an efficient allocation free async/await integration for Unity. Provides an..
-
[UNITY] 유니티에서 Image Download 하기Programming/Unity 2021. 12. 16. 19:00
WebClient 클래스의 DownloadFile 기반 함수를 통해 다운이 받아진다. 첫번 째 인자 : 다운받을 링크 주소 두번 째 인자 : 다운받은 파일을 위치시킬 파일 경로 using System; using System.Net; void DownLoadFile(Uri uri, string path, Action onCompleted = null) { WebClient client = new WebClient(); client.DownloadFileAsync(uri, path); client.DownloadFileCompleted += (s, e) => onCompleted?.Invoke(e); }
-
[개발일지] BFS를 활용해서 만든 최단 경로 탐색 툴Programming/Unity 2021. 2. 27. 16:56
그동안 백준만 풀다가 게임 개발 공부나 CS에 대한 개념적인 부분에 있어서 많은 부족함이 있다는걸 깨닫고 당분관 백준을 쉬면서 기본적인 개념들을 차차 공부해 나갔다. 간단히 if문부터 다시 복습해보기도 하고..Direct9으로 간단한 쉐이더를 만들어서 적용해보기도 하였다. 그리고 어제 인터넷 강좌를 보면서 Graph라는 거와 DFS, BFS라는 기법?을 알게되었는데, 이중 BFS를 활용하면 최단거리를 구할 수 있다는 거다. 평소에 jinho Lee분의 영상을 자주 챙겨보고 있는데, 그동안 동경하면서 봐았지만 실제로 직접 만들어볼 엄두가 나질 않았었는데 이번 기회에 한번 간단하게 만들어보았다. (182) DevLog TurnSystem Test (게임 개발일지) - YouTube 그 결과로 아래 사진처럼 ..
-
유니티 성능 프로파일링 최적화Programming/Unity 2021. 2. 2. 23:45
(102) 유니티 성능 프로파일링과 최적화 - #1성능 프로파일링 유의사항 - YouTube 유니티 성능 프로파일링 최적화 최적화 타겟 플랫폼과 기능 상세의 선행 조사 필수 하나의 기기를 잡고 그 기기를 중심으로 개발한다. 프로토타이핑 후 다시 개발 빨리 개발을 하고 빨리 테스트를 해봐야 한다. 테스트코드가 섞여있는 상태에서 최적화까지 신경쓰면 더 복잡해진다.. 프로파일링 프로파일링을 통해 병목을 탐지하고 병목을 제거한다. 프로파일링을 자주 할 것 막바지에 하면 안됨 빌드 및 QA 프로세스 정립 필수 프로파일형 빌드를 해야됨 ex) Jenkins 프로파일링 주의 사항 추측에 의한 최적화 금지 디버거/프로파일러 툴의 적극적인 활용 유니티 에디터에서의 프로파일링은 단순 **참고**용 **타겟 플랫폼**에서의..
-
유니티 2020.2 기능 정리Programming/Unity 2021. 1. 21. 23:14
유니티 2020.2 기능 소개 컴파일 속도 향상 코드 내 수정을 하고 나면 Interation을 거치면서 assembly도 맞게 변경이 되는데 이때의 속도를 단축화시킴 루트 네임스페이스 네임 스페이스 일일히 적어줄 필요없이 한번만 지정하면 됨 IL2CPP 빌드 시간 향상 (약 2.5배 빨라짐) 더 빨리 빌드됨 더 높은 C#의 버전을 호환함 유저들에게 렌더와 메모리 프로파일러의 정보를 제공해준다 유저의 코드를 포함한 상태 데이터를 생성함 플레이어의 레코더 API를 통해 상태를 얻을 수 있다. 그동안 성능관련해서만 프로파일러를 사용했지만 이제부턴 직접 사용자가 프로파일러를 커스텀이 가능해져서 원하는 정보를 프로파일링이 가능함 모듈 에디터를 통해 프로파일러 윈도우의 상태를 시각화할 수 있다 다른 코어의 성능이..
-
CupEditor 사용설명서Programming/Unity 2020. 3. 18. 16:32
CupEditor.exe를 실행시켰을때 엑세스 권환 관련해서 내용이 뜬다면 엑세스 허용을 눌러주도록 하자(파일을 읽어들이고 쓰는데 필요한 권한이라서 허용해야만 맵데이터를 생성할 수있음) 조작키: 오브젝트조작: 방향키(↑,↓,→,←) 오브젝트 이동 너비조작: Ctrl + 방향키(↑ : 너비증가,↓: 너비 감소) 메크로 너비(1 : 0.1 씩이동 , 2 : 0.5씩이동(기본셋팅), 3 : 1씩이동 ,4 : 3씩이동) 좌측에 있는 상태바에는 현재 가리키고 있는 오브젝트를 나타낸다. 우측에 있는 0:Home을 눌르면 1:School , 2:Cafe 이런게 뜰것이고 특정 스테이지를 눌르면 해당 스테이지 배경과 오브젝트로 화면이 바뀐다. (현재 추가된 오브젝트는 Cafe까지 있으므로 Office나 Hospital,..
-
Serialized Json -> Object (ToObject)Programming/Unity 2020. 3. 2. 01:57
public static List ToObject(string ReadJson) { char[] delimiter = { ' ', '[', ']', '{', '}' }; char delitmierSlot = ','; char delitIdx = ':'; string[] words = ReadJson.Split(delimiter, StringSplitOptions.RemoveEmptyEntries); List JsonLogic = new List(); for (int i = 0; i < words.Length; i++) { Dictionary JsonObjectDic = new Dictionary(); string[] spritWords = words[i].Split(delitmierSlot); for (..