본문 바로가기
반응형

Unity5

[UNITY] 코루틴이란? 코루틴이란? 코루틴은 동시성 프로그래밍을 가능케 하도록 만든 개념(동시에 발생하지는 않는다.)으로 쓰레드와 비교가 많이 되지만 함수이다. 별도의 쓰레드 없이 메인 쓰레드 상에서 별도의 쓰레드가 있는것 처럼 번갈아 가며 병렬처리나 유사한 동작을 수행할 수 있다. 쓰레드와 비슷하게 동시성을 보장하기위한 기술이다. 하지만 쓰레드와 코루틴은 다른 개념이다. 여러개의 작업을 동시에 수행할 때 Thread는 각 작업에 해당하는 메모리 영역을 할당하는데, 여러 작업을 동시에 수행해야 하므로 OS레벨에서 스케쥴링을 필요로 한다. 코루틴은 lightweight Thread라고 불리며 작업을 효율적으로 분배하여 수행함에 있어 각 작업에 대해 Thread할당이 아닌 Object만을 할당하고, 이 Object를 자유자재로 스.. 2022. 6. 7.
[디자인 패턴]Singleton 패턴 Singleton 유니티에서 자주 쓰이는 singleton 패턴 객체를 하나만 생성, 생성된 객체는 어디서든 참조가 가능하다. 시스템에서 전역으로 관리가 되고, 단 하나의 클래스에서만 정보가 유지되는것을 원할 때 사용한다(ex. manager) 싱글톤의 장.단점 모든 데이터를 전역으로 관리할 수 있기 때문에 쉽게 접근이 가능하며, 중복 생성 및 메모리 낭비를 방지할 수 있으나, 정적 메모리에 할당된 객체이므로 너무 큰 메모리가 쌓일 경우 프로그램 성능이 낮아진다. 너무 많은 데이터를 공유시킬 경우 싱글톤 인스턴스와 다른 클래스 인스턴스들 간의 결합도가 높아져, 개방 폐쇄 원칙에 위배될 수 있다. 병렬처리나 동기화 같이 여러 방법으로 메모리에 접근하는데 문제가 발생하나 Synchronized키워드를 이용해.. 2022. 6. 7.
[UNITY] 프로젝트 생성 (2021.3.2f) 취미로 만드는 횡방향 게임,... 만들기 전 프로젝트 생성 및 기본 세팅을 하는 방법을 알아보자. 프로젝트를 만드려는 에디터 버전 선택, 프로젝트 템플릿 선택(코어), 프로젝트 이름 변경 후 프로젝트 생성 클릭 유니티는 프로젝트 생성시부터 기본적인 에셋 및 dll을 다운받기 때문에 프로젝트 생성 시 시간이 좀 걸린다. 사담이지만 스플래쉬 이미지 이쁘게 잘 바뀐 것 같다. 예전버전 사용할 때는(2019이전 버전) 기냥 그랬는디 변경된건 진짜 3D툴 느낌..? 내가 익숙한 화면 구성대로 UI를 변경했다. Models, Prefabs, Resources, Scripts를 생성한다. 물론 추후 더 추가될 내용도 있겠지만, 개발하면서 차차 추가하면 된다. 빌드를 하기위해 씬을 추가해보자 현재 열려 있는 씬(Sam.. 2022. 5. 18.
데이터 통신 프로토콜 TCP, UDP TCP란 데이터 통신을 위한 프로토콜의 일종, Transport Layer에서 사용하는 프로토콜로 하위 계층에 사용되는 IP와 엮어 TCP/IP라고도 표현한다. TCP는 Point To Point Service로 양끝에 연결되었다는 정보만 알고있다. 물리적인 자원은 하위 계층인 Ip를 통해 할당되어진다. 또한 Connection Oriented Service로 가상 회선방식을 제공하고 Flow Control, Congestion Control를 제공한다. 이를 통해 TCP는 높은 신뢰성을 보장한다. UDP는 Connectionless Oriented Serive로 데이터그램 방식을 제공, 헤더의 CheckSum 필드를 통해 최소한의 오류만 검출한다. 또한 별도의 연결 설정이나 해제 과정이 존재하지 않다... 2021. 4. 21.
[UNITY] 인스톨 파일 만들기 여기저기 다 검색해서 봤지만 inno setup만한게 없다. 저 별로 안친절하니깐 알아서 inno setup 구글에 검색해서 다운받고 진행하세요. 인스톨 전 필요한 파일&프로그램 inno setup, 유니티로 빌드한 프로그램(유니티가 아니어도 가능) 똑같이 하고 OK버튼 next browse를 열어 내가 유니티로 빌드 한 exe파일을 넣는다. add file로 [UnityPlayer.dll]을 넣는다. add folder로 program name_Data를 넣는데! 여기서 주의 할 게 그 폴더의 상위폴더를 넣어야한다. 예로들자면 데이타가 있는 폴더의 상위 폴더인 Build를 넣어야한다. 그러면 아래와 같은 창이 뜨는데, 예 누르면 된다. 순서대로 라이센스 파일, 인스톨 하기 전에 보여줄 정보 파일, 인스.. 2020. 4. 14.
반응형