목록전체 글 (279)
ecsimsw
User system commands - 기본적인 리눅스 시스템 기본 명령어를 공부하였다. option - 명령어 뒤에 -x, --x 이 붙어 부가 옵션을 주는 것을 "옵션 또는 파라미터를 주다"라고 표현한다. manual - man + (command) 를 이용하여 명령어의 디테일한 도움말을 확인할 수 있다. manual page에서는 방향키로 라인을 넘길 수 있고, b와 space키로 페이지를 전환한다. /(something) 을 입력시 페이지 내에서 검색하고자 하는 something을 탐색할 수 있다. n을 이용하여 다음 단어로 넘긴다. q로 페이지를 종료한다. - option으로 명령어 뒤에 -h, --help를 입력하는 것으로 도움말을 얻을 수 있다. autolisting - 명령어 사용시 ta..
object / var / dynamic object - object 클래스는 모든 클래스 중에서 기본 클래스로, 모든 데이터 타입의 루트형이다. object는 모든 데이터형을 참조할 수 있지만, 해당 데이터 형의 특성을 잃어 해당 데이터형의 특성을 살리기 위해선 캐스팅을 필요로한다. 또 바꿔말하면 어떤 형으로든 캐스팅 가능하다. "object" static void Main(string[] args) { int int_integer = 3; string str_string = "Hello"; object obj_integer = int_integer; // boxing Console.WriteLine(obj_integer + int_integer); // error Console.WriteLine((i..
Iterators/ IEnumerator, IEnumerable / Yield Iterators - Iterators(반복기)는 리스트나 배열과 같은 컬렉션을 단계별로 실행, 반복 조사할 때 유용한 개념이다. IEnumerator / IEnuerable - foreach문이 컬렉션 속 개별 객체들을 하나 꺼내와 처리하고 다른 객체를 꺼내와 처리하는 것이 반복될 수 있는 까닭은, 컬렉션을 반복하는 데 필요한 코드를 생성하기 위해 .NET Core 라이브러리에 정의된 IEnumerable/ IEnumerator Interface 를 상속하였기 때문이다. IEnumerable은 메소드로 GetEnumerator를 갖고 있어 컬렉션의 Enumerator를 반환하고, "IEnumerable" class Progr..
Linux - 리눅스를 공부해보고 싶어 우분투를 설치하였다. 아직 잘 모르지만 기본 시스템 사용, 시스템 관리, 네트워크 서버 구축, 보안/ 해킹을 공부해보고자 한다. Ubuntu - 우분투는 리눅스의 여러 배포판 중 현재 가장 인기있는 것으로 서버 / 데스크탑 두 버젼이 존재한다. - 우분투 데스크탑을 선택하여 18.04 LTS를 설치하였다. LTS는 long term support의 약자로 장기 지원 버전을 의미한다. Ubuntu Ref - 아래 책과 강의를 참고하였다. 리눅스의 모든 것 -서자룡 Linux & Unix shell programming - David tansley
Socket connection - 유니티에서 소켓 통신으로 멀티 플레이를 구현하는 방법을 공부해왔다. -클라이언트에서 받은 입력으로 직접 게임을 동작시키는 것이 아니라 주체와 입력을 byte로 서버에 보내고 서버는 연결된 모든 클라이언트에 데이터를 수신. 그 후 다시 클라이언트는 데이터를 무한히 받기만 하는 다른 스레드를 만들어 데이터를 수신하고, 받은 데이터를 정류하여 어떤 주체가 어떤 입력을 했는지 확인 후 이를 처리하도록 하였다. using Socket - 소켓을 다루기 위해 System.Net.Sockets Namespace를 선언한다. using System.Net.Sockets; - Tcpclient 객체와 받은 데이터를 저장할 string 변수를 private으로 선언한다. "Global"..
Blend Tree - Blend Tree는 여러가지 애니메이션이 혼합되어 각가 다른 비중으로 합쳐져 매끄러운 동작을 수행하도록 하는 작업 방식이다. 예를 들면, 캐릭터가 달리면서 회전할 때, 입력 정도에 따라 꺾는 애니메이션과 달리는 애니메이션을 혼합하여 더 부드럽게 표현할 수 있는 것이다. Transition 방식은 변수나 시간을 기준으로 한 애니메이션에서 다음 애니메이션으로 전이되는 데 사용되고, Blend Tree 방식은 모션이 블렌딩 파라미터에 따른 비중으로 혼합되어 최종 모션으로 결정되어 동작하도록 작업하는 방식이다. Add Motion field - 먼저 컨트롤 창의 빈 공간에 우클릭하여 Create State -> From new blend tree 를 선택하는 것으로 새로운 blend t..
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보다 이후에 지원되는 애니메이션 제어 시스템이다. 메카님은 휴머노이드형 모델의 뼈대를 기준으로 애니메이션을 동작시켜, 뼈대 ..