Nuget package란? nuget 패키지란, .NET framework을 위한 패키지 매니저이다. 다음과 같은 이점을 가지고 있는데, 추가 기능 접근: NuGet 패키지는 유틸리티, 프레임워크, API 등을 포함한 다양한 미리 작성된 코드와 라이브러리를 제공한다. 이러한 패키지는 개발 시간과 노력을 절약할 수 있는 기능과 도구를 제공하여 Unity 프로젝트를 강화할 수 있다. 코드 재사용성: NuGet 패키지는 이미 다른 개발자들에 의해 개발되고 테스트된 코드와 구성 요소를 재사용할 수 있도록 한다. 이를 통해 개발 속도를 높이고 프로젝트의 품질을 향상시킬 수 있으며, 패키지가 제공하는 전문 지식과 기능을 활용할 수 있다. 타사 통합: 많은 NuGet 패키지는 타사 서비스, 플랫폼 및 API와의 통..
UniTask에 대해서는 이전 들에서 알아 보았다. https://note4iffydog.tistory.com/43 Unitask의 정체 - (feat. task, 비동기, Unity는 싱글스레드?) Unitask? Unitask는 unity용의 async-await integration 패키지이다. efficient allocation free async/await provider라고 하는 데, 메모리 할당에 효율적인 솔루션을 제공한다는 느낌이다. 어떻게 이게 가능한것인가? 그 note4iffydog.tistory.com 이전 글에서도 Unitask 대한 어떤 정의 보다는 왜 나왔고, 어떤 원리로 돌아 가는 지 확인하는 글을 써보았다. 이제 왜 나왔는 지 알아보았으니, 어떻게 쓰는 지 알아 봐야 할 차..
어드레서블이란? 어드레서블은 Unity 패키지로, 프로젝트에서 asset을 로드하고 관리하는 간편하고 효율적인 방법을 제공합니다. 비동기적으로 asset을 로드 할 수 있어 게임의 성능을 향상시키고 로딩 시간을 줄일 수 있습니다. 어드레서블은 자동 의존성 관리, 콘텐츠 업데이트, 버전 관리 등의 기능을 제공하여 자산 관리 과정을 간소화할 수 있습니다. 어드레서블을 사용하면 원격 서버, 로컬 스토리지, 에셋 번들과 같은 다양한 위치에 자산을 저장하고 중앙 집중식 시스템을 통해 관리할 수 있습니다. 비동기 에셋 로드 / 생성 비동기 load var result = await Addressables.LoadAssetAsync(path); 바로 생성 Addressables.InstantiateAsync("As..
개요 테스트환경이 구축 되어있지 않으면, 어떤 기능에 대한 테스트를 하기 위해서 매번 처음부터 플레이를 해봐야 하는 상황이다. 개별코드 단위에 대한 분류도 잘 안되어 있을 가능성도 크다. Why? 왜 테스트 환경을 만들기 꺼려할까? 비즈니스 로직에 집중하는 시간도 부족한데 무슨 테스트를 작성하는가? → 따로 시간을 내서 작업을 안했으면, 손도 못 댔을 작업 이것도 나중에 유지보수가 되어져야하니 부담스럽다 → 막연하게 느껴진다. 귀찮다 → 하고나서 어떤 눈에 보이는 결과가 바로 있는 게 아님 왜 필요할까? 버그를 조기에 잡아내는 것을 기본 목적 단위 테스트를 사용한다면 연관 컴포넌트가 개발되지 않더라도 개발이 마무리 됬다고 증명 테스트 스위트를 이용하여 모든 테스트를 동시에 실행 단위 테스트는 리펙토링에 ..
Unitask? Unitask는 unity용의 async-await integration 패키지이다. efficient allocation free async/await provider라고 하는 데, 메모리 할당에 효율적인 솔루션을 제공한다는 느낌이다. 어떻게 이게 가능한것인가? 그전에, 짚고 넘어가야 할점이 있다. Task인데, 하나의 operation을 할당하기 위해선 Task가 쓰이게 된다. Task(클래스)는 하나의 operation을 나타내고 return값이 없으며, 비동기적으로 돌아간다. .NET 프레임워크 4에서 소개된 task-based asynchronous pattern 주요 기능중 하나이고, 메인 쓰레드에서 동기적으로 실행하는것이 아닌 쓰레드 풀에서 비동기적으로 실행하게 된다. (쓰레..
Intro 제목은 조금 그럴듯해 보이지만, 사실 개발을 하면서 생기는 구조적인 문제들을 해결할 수 있는 방법들 도구들을 소개하고, 연습하는 프로젝트이다. 사실, 앞으로 다룰 내용들은 문제에 대한 절대적인 정답이 될 수는 없다. 요구사항에 따라, 쉽게 말하면, 내가 현실화하려는 문제들에 따라 직면한 문제에 대해 대응할 방법은 다채롭게 변화할 수 있기 때문이다. 디자인 패턴은 단순히 우리가 그 솔루션을 숙고할 때 사용할 수 있는 도구들이다. 개인적으로 이를 공부하는 이유는 궁극적으로 개발 아키텍팅에 관심이 있고, 유니티 개발자로서 일을 하면서 퍼포먼스를 더욱 끌어올리고 싶다는 욕심이 생겼다. 이를 위한 방안으로서, 현재 친숙한 엔진인 unity로 게임 프로그래밍 아키텍처를 구현 해보고, 파고 들고자 한다. ..
현재 재직중인 회사에서, 자율 회로 조립 시뮬레이션 컨텐츠를 추가 하기로 하였고, 1월 중순에 1차 마무리가 되었다. 정리를 하자하자 하고 나서 이제야 하게 되었는데, 바로바로 정리하는 습관을 기르도록 해야겠다. 작업 영상 Structure(구조) 대략적인 구조를 그리자면 위와 같다. 위에서 부터 전체적인 그림부터 그밑의 작은 부분들로 구분해보도록 하겠다. page(UI) 기본적으로 ui를 위한 frame구조가 있다. 그중 비즈니스 로직의 주된 처리를 담당하는 controller에서 주요 로직들을 담당하고 있다. Input Contoller, Assembly Controller들을 할당 하고, ui의 이벤트가 일어났을 때, 그에 걸맞는 시뮬레이션 모델들을 조작한다. page에서는 주로 ui의 변경에 이용..
먼저, 핸드폰을 랩탑에 연결한다.빌드세팅에서 connected device에 기기가 뜬다면, 성공. 그다음, preferences에 들어가 sdk path를 복사 해준후, 명령 prompt를 열어서 cd [sdk path, 방금 본사한 folder path] 를 입력하여 폴더이동을 해준다. 그후 dir을 입력하여 platform-tools가 제대로 있는지 확인해준다. adb tcpip 5555 입력. adb connect 자신아이피:5555(포트) 를 입력해준다. 만약, 제대로 설치가 안되어 있거나 adb가 없다면, brew cask install android-platform-tools을 해준다. (필자는 버전이 바뀌었는지 brew install -cask android-platform-tools)로 ..