![[C#] 마샬링 (Marshalling)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FEbzze%2FbtsGqQP9chL%2F9JLfdYwV0jIaPYPdwU1qxK%2Fimg.jpg)
★KEYWORD★형식이 다른경우에 형식에 맞춰서 직렬화를 하기위한 기술 (직렬화 하기 전에 실행)마샬링이란?마샬링이란 한 객체의 메모리에서의 표현방식을 저장 또한 전송에 적합한 다른 데이터 형식으로 변환하는 과정이다. 이는 데이터를 서로 다른 프로그램간에 전달할 필요가 있을 경우 사용한다.즉, 이는 직렬화와 유사하며 직렬화된 한 객체로, 멀리 떨어진 객체와 통신하기 위해 사용한다.이렇듯 복잡한 통신을 단순화하여 쉽게 데이터를 주고받을 수 있도록 해주는 것이 마샬링이다.여기에는 고수준 프로그래밍 언어 형식의 데이터를 저수준 이진 표현으로 변환하거나 한 프로그래밍 언어의 데이터 구조에서 다른 언어의 데이터 구조로 변환하는 작업이 포함될 수 있다. 컴퓨터 과학에서 마샬링 컴퓨터 과학에서 마샬링은 일반적으로 분..
![[유니티] 간단한 방법으로 공격 콤보 구현하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbbB8wd%2FbtsGppe1q7f%2FvK7xh91xKRwW5ER67DYy2k%2Fimg.jpg)
간단한 애니메이션 이벤트로 공격 콤보 구현대충 이론은 다음과 같다 1번 째 애니메이션 |--------|---------------------|---------|-------------| 여기서 다음콤보입력 새이벤트 콤보입력이 없으면 플레이종료 2번 째 애니메이션 |--------|---------------------|---------|-------------| 이벤트 넘어옴 여기서 다음콤보입력 새이벤트 콤보입력이 없으면 플레이종료 3번 째 애니메이션 |--------|---------------------|---------|----..
![[컴퓨터 구조] Race Condition (경쟁 상태)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbfrUce%2FbtsG4i6KoSl%2FRBRTj5Xx6v9CCGworYkbqK%2Fimg.jpg)
★KEYWORD★레이스 컨디션 / 경쟁하는 상태 / 두 개 이상의 프로세스가 공통 자원을 병행으로 읽거나 쓰는 동작을 할 때 순서에 따라 실행결과가 달라지는 것 / 상호배제 / 데드락 / 기아상태 / 세마포어 / 뮤텍스 Race Condition 이란?두 개 이상의 프로세스가 공통 자원을 병행적으로(concurrently) 읽거나 쓰는 동작을 할 때, 공용 데이터에 대한 접근이 어떤 순서에 따라 이루어졌는지에 따라 그 실행 결과가 같지 않고 달라지는 상황을 말한다.Race의 뜻 그대로, 간단히 말하면 경쟁하는 상태, 즉 두 개의 스레드가 하나의 자원을 놓고 서로 사용하려고 경쟁하는 상황을 말한다.경쟁 프로세스의 경우, 세 가지 제어 문제에 직면한다.Mutual exclusion, deadlock, sta..
![[유니티] Scriptable Object (스크립터블 오브젝트) & 을 이용한 적 랜덤스폰](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbsZUfi%2FbtsGoqXzXko%2FBueKORQ2c3ybN8Xoqkve6k%2Fimg.jpg)
Scriptable Object (스크립터블 오브젝트) 란?우리는 Unity 프로젝트를 진행하면서 고정된 데이터를 저장하고 사용할 일이 많다.예를 들어, 게임 캐릭터의 스텟이나 아이템 정보 등을 저장해야 하는 경우가 있다. 이러한 데이터를 효율적으로 관리하기 위해 Unity에서는 ScriptableObject라는 개념을 제공한다.ScriptableObject는 클래스 인스턴스와 독립적으로 대량의 데이터를 저장할 수 있는 데이터 컨테이너로, 중복 데이터를 최소화하여 메모리 사용량을 줄이는 데 도움이 된다.ScriptableObject는 MonoBehaviour와 같이 Unity 객체에서 파생되지만, GameObject에는 첨부할 수 없다. 대신, 프로젝트의 Assets에 저장하여 사용한다.이를 활용하면 P..
![[유니티] 스프라이트 시트(sprite sheet)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWgIWt%2FbtsGkrcdbBI%2F2ZLnP7ua8TJIZ92ociNhRK%2Fimg.jpg)
Unity : 스프라이트 시트(sprite sheet)스프라이트 시트란?스프라이트 시트(sprite sheet)는 여러 개의 작은 그래픽을 그리드(grid)에 정렬하여 구성한 비트맵 이미지 파일이다.게임 개발에서 캐릭터의 연속적인 키 포즈를 한장의 이미지에 구성하여 2D 애니메이션 제작에 사용된다. 유니티에서 스프라이트 시트(sprite sheet)를 사용한 2D 애니메이션1) 유니티에서 스프라이트 시트 이미지를 가져오기한 다음, Sprite Mode를 Single에서 Multipe로 변경한다. import settings에서 텍스처 유형(texture type)을 sprite(2D and UI), 스프라이트 모드(sprite mode)를 multiple로 설정하고 Sprite Editor을 눌러준다. ..
![[유니티] 게임 오브젝트의 생명주기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmkBD4%2FbtsGiAMP2oo%2Fw2WiASuMjpLQkyXVm2Y8C1%2Fimg.jpg)
Unity : 게임 오브젝트의 생명 주기 (Life Cycle) 게임 오브젝트의 생명 주기는 초기화 - (활성화) - 물리연산 - 게임로직 - (비활성화) - 해체 순으로 구성된다.초기화 - Awake(), Start()물리연산 - FixedUpdate()게임로직 - Update(), LateUpdate()해체 - OnDestroy()Awake()와 Start()Awake() 함수는 제일 먼저, 1번 실행되는 함수이며, 모든 변수를 초기화, 즉 게임의 상태를 초기화한다.Start() 도 한번만 실행되는 것은 같으나, Update() 보다 빠르지만, Awake() 보다 늦게 실행되며 스크립트가 활성화 되어 있어야한다.즉, Awake - Start - Update 순으로 실행된다.Update 계열 함수Upd..