목록 전체 글 (281)
Transition - Mecanim으로 애니메이션을 처리하면서 각 모션 사이의 관계를 처리하는 방식으로 Transition 방식과 Blend Tree 방식 중 Transition 방식을 공부하였다. Transition - Transition 방식은 애니메이션 동작의 전이를 변수나 클립의 시간을 기준으로 하는 방식이다. - state machine를 이용하여 애니메이션간의 전이 관계를 설정한다. 한 노드를 오른쪽 마우스로 클릭 후 Make Transition을 눌러 원하는 다음 state에 두면, 화살표로 애니메이션간 관계가 표시된다. 화살표는 해당 transition을 누르고 delete 버튼을 누르는 것으로 삭제 가능하다. Parameter - Bool, Int, Float, Trigger 타입의 변..
Animation - Mecanim - 유니티에서 애니메이션을 지원하는 두가지 방식 (Legacy Animation / Mecanim Animation) 중 Mecanim 방식으로 애니메이션을 다루는 방법을 공부하였다. Legacy Animation - legacy는 메카님 애니메이션이 도입되기 이전에 사용된, 3D Animation Tool에서 제작한 애니메이션을 다루는 방식이다. 유니티 Docs에서는 새로운 프로젝트의 경우 Mecanim 방식을 사용하도록 권장하고 있으나 빠른 속도로 인해 아직도 많이 사용되고 있다. Mecanim Animation - Mecanim은 legacy보다 이후에 지원되는 애니메이션 제어 시스템이다. 메카님은 휴머노이드형 모델의 뼈대를 기준으로 애니메이션을 동작시켜, 뼈대 ..
Input Input Manager에 설정된 게임 입력 장치의 데이터를 입력받아 이를 접근하기 유리하도록 한 class이다. 이 클래스로 키보드의 버튼 값이나 터치의 유/무 또는 횟수, 조이스틱 조작 등의 데이터를 받아 게임을 조작할 수 있다. Input Manager - 게임 조작 장치의 가상 축과 버튼을 컨트롤 이름으로 맵핑시켜 관리한다. &nsbp; Edit - Project Setting - Input에서 기존의 축과 버튼을 설정하고, 새로운 입력 축을 추가할 수 있다. GetAxis - Input 클레스의 메소드로 InputManager에 맵핑된 가상 축을 읽는다. "Horizontal", "Vertical"은 조이스틱의 각각 수평과 수직에, "Mouse X", "Mouse Y"는 마우스에, "..
Network - 유니티에서 네트워크를 사용하는 방법을 공부하였다. Dedicated server / Host - Unity 네트워크 시스템에서도 멀티 플레이를 위해선 하나의 서버와 여러 클라이언트를 필요로 한다. 이때 서버가 게임 밖에서 클라이언트의 요청을 Read하고 접속된 클라이언트에 이 데이터를 뿌리는 것을 Dedicated Server 방식, 서버 없이 클라이언트 중 하나가 서버의 역할을 대신하는 방식, 그 클라이언트를 host라고 한다. host 방식은 서버를 따로 준비하지 않아도 되어 비용적으로 유리하지만, host가 되는 클라이언트의 PC 환경에 서버가 영향을 받는다는 위험 요소가 있다. 또한, host 방식은 직접 연결과 달리 클라이언트의 직접 요청 수행이 아닌 서버가 요청을 받고 다시 ..
Segmentation - 앞서 설명한 페이징 기법은 가상 메모리를 페이지, 즉 물리적인 블록 단위로 분할하여 프로세스의 측면에서 메모리를 관리하는 방식이다. 이번에 공부한 segment 역시 메모리를 더 효율적으로 관리하기 위한 기법 중 하나이다. segment - segment는 가상 메모리를 서로 다른 크기의 논리적인 영역으로 분할하고 메모리를 할당한다. 페이징 기법의 페이지 테이블 처럼 Segment table을 이용하여 사용자가 가상 메모리를 사용한 주소를 실제 주소에 맵핑하는 정보를 저장한다. Process segments - 프로그램이 메모리에 올라갈 때 세그먼트로 나눠지는 구성을 이야기한다. -Allocate in compile Code segment : 프로그램 코드 자체를 저장. Dat..
Memory Address - 메모리 공간은 메모리 주소를 식별자로 하여 의미를 갖는다. 이 주소로 메모리 공간이 식별되어 프로그램이나 하드웨어 장치가 os를 통해 데이터를 일정 공간에 저장하고, 읽어 올 수 있는 것이다. Physical Address - Physical Address는 RAM에 실제로 존재하는 메모리 공간 (Main memory)를 식별하기 위한 주소이다. Virtual Address - Virtual Adrress는 이와 반대로 실존하지 않는 메모리 공간 (Virtual memory)를 식별하기 위한 주소이다. 가상 메모리는 없는 공간을 마치 있는 것처럼 사용하기 위한 공간이다. 주기억 장치와 동시에 보조 기억 장치에 페이징 파일을 작성함으로써 이 둘을 동시에 하나의 메모리로 생각할..
Memory - 메모리는 정보를 읽고 쓰는 공간, 기억 장치를 의미한다. 이전에 Storage 포스팅에서 공부했듯, cpu가 직/간접 참조 가능 여부에 따라 크게 Main memory(primary storage)와 Secondary memory로 나뉜다. 일반적으로 메모리를 말할 때는 보통 Primary storage, 거기서도 RAM을 가리킨다. RAM - RAM은 Random Access Memory의 약자로 자유롭게 읽고 쓸 수 있는 휘발성 메모리이다. CPU가 처리한 연산 정보를 저장하고 읽는 공간 역할을 한다. Random Access는 임의의 정보를 할당할 수 있다는 의미에서 붙여졌다고 한다. 메모리 주소만 알면 어느 위치의 데이터든 같은 시간의 소비로 할당할 수 있다는 것을 의미한다. 다만..
Inter Process Communication IPC - 프로세스는 독립된 메모리 공간을 참조하기 때문에, 서로의 데이터에 독립적이다. 이런 독립된 프로세서가 서로 통신하는 방법(IPC)을 공부하였다. Unnamed Pipe - 파이프는 여러개의 프로세스의 입출력을 연결한다. 파이프는 단방향이기 때문에, 한 파이프는 한쪽 프로세스의 입장에서 읽기 혹은 쓰기 중 하나의 역할만으로 사용된다. 따라서 파이프를 이용해 양방향 통신을 위해선 두 파이프가 필요하고, 여러 프로세스와 통신할 경우 그에 따른 서로 다른 파이프를 필요로 한다. - unnamed pipe(익명 파이프)는 부모-자식 관계처럼 프로세스간의 관계가 명확할 때 사용된다. 또, 사용하는 프로세스가 실행 중일 때만 존재한다. Named Pipe ..
