목록분류 전체보기 (277)
ecsimsw
Prefab - prefab은 객체지향에서의 class와 비슷한 친구이다. 오브젝트의 컴포넌트 / 프로퍼티를 에셋으로 저장하고, 이런 설계도를 필요에 따라 간단히 인스턴스 하는 기능이다. Using prefab - 오브젝트를 Hierarchy에서 project 뷰로 드래그 하는 것으로 프리펩 에셋으로 만들 수 있다. 또 반대로 프리펩 에셋을 Scene이나 Hierarchy로 드래그 하는 것으로 프리펩 에셋을 인스턴스 할 수 있다. 프리팹 에셋을 편집하면 모든 packing된 오브젝트는 해당 편집이 적용된다. 이렇게 프리팹 에셋으로 packing되어 있는 오브젝트는 청색으로 이름을 갖고, 오브젝트를 우클릭 후 Unpacking prefab 하는 것으로 프리팹 에셋과의 연결을 끊을 수 있다. 이름이 청색인 ..
Rigidbody / AddForce / AddTorque Rigidbody - Rigidbody(강체)는 gameObject가 유니티 물리 엔진에 제어 받게 한다. 한마디로 힘과 질량을 갖고 움직일 수 있도록 하는 것이다. Mass : 오브젝트의 질량 Drag : 오브젝트가 받는 공기 저항 값 Angular Drag : 오브젝트가 토크로 회전 시 받는 공기 저항 값 Use Gravity : 중력의 영향 유무 Is Kinematic : 활성화 시 물리엔진의 제어없이 Transform으로만 조작됨 Interpolate : 오브젝트의 움직임 부드러움 옵션 처리 Collision Dectection : 오브젝트 충돌 감지 / 감지 옵션 처리 Constraints : 오브젝트의 움직임 고정 위는 대표적인 rig..
Accessing - 다른 오브젝트, 컴포넌트를 엑세스 하는 방법을 공부하였다. GameObject.GetComponent - 해당 게임 오브젝트의 컴포넌트 타입을 인자로 받아 반환하고, 없다면 null을 리턴한다. Rigidbody rb = this.gameObject.GetComponent(); GameObject.Find - 게임 오브젝트의 이름을 파라미터로 받아 찾고, 그 오브젝트를 리턴한다. 없다면 null을 리턴한다. 이름에 "/"을 이용해서 주소처럼 오브젝트 안의 자식 오브젝트를 명시할 수 있다.(Parent_objcet /Child_ object) docs에선 성능에 저하를 야기하므로 매 프레임 마다 호출되는 경우를 최대한 피하고, startup에 사용하여 변수로 저장하는 것을 추천한다. ..
Rotate Euler angle - 유니티에서 회전은 크게 Euler angle / Quaternion 으로 표현된다. 오일러(Euler) 방식은 X,Y,Z 축을 기준으로 회전 값 만큼 회전 시키는 우리에게 익숙한 방식이다. 하지만 이는 "짐벌락" (세 회전을 차례로 적용 시 이전 두 회전의 결과로 세 번째 축이 이전 축 중 하나와 같은 방향을 가리킬 수 있다는 문제)을 야기하므로, 유니티 내부에서는 쿼터니언(Quaternion) 방식을 취한다. 위처럼 inspector에서 직접 rotation 값을 변경하는 방식은 오일러 방식이지만 실제로 유니티 내부에서는 쿼터니언 방식으로 저장된다. Quaternion - 유니티 내부에서 오브젝트 회전을 표기하는 방식으로 x,y,z,w 네 개의 값으로 표현되지만, ..
Translate Vector3 - Vector3는 3차원 공간에서의 위치와 벡터를 표현하기 위해 사용되는 "구조체"이다. (좌표를 구조체로 표현하는 이유는 C#-class/struct 포스팅에서 정리하였다.) Vector3 v = new Vector3(1, 1, 1); 위와 같이 생성자를 통해 생성하여 사용하거나 Vector3.forward(= Vector3.(0,0,1))처럼 static 변수를 통해 간단히 사용할 수 있다. 쓰임이 많고 중요하다고 생각하기 때문에 Vector3만을 따로 공부 후 포스팅 할 생각이다. transform.position - 오브젝트의 transform의 position 값을 변경하여 물체의 위치를 바꿀 수 있다. transform.position = new Vector3..
Data Transmission / Reception Encapsulation - 데이터가 송신될 때, 수신 시 동일한 계층에서 필요할 정보를 기존 데이터에 덧붙여 다음 계층으로 넘기는 과정을 Encapsulation, 반대로 데이터가 수신될 때, 송신 시에 동일한 계층에서 덧붙여준 필요 정보를 데이터에서 꺼내 해석하는 것을 de-Encapsulation 이라고 한다. 송신 시 추가된 정보는 수신 시 그 역순으로 해석된다. 송신 시 A 계층에서 추가된 정보는 수신 시 A 계층에서만 사용될 수 있고 다른 계층은 볼 수 없다. Header / Trailer - 송수신을 위한 데이터는 각 계층에서 필요한 정보를 앞, 뒤에 붙여 전송되고, 해석된다. 이때 앞에 붙는 데이터를 헤더, 뒤에 붙는 데이터를 트레일러라..
Tcp/ip - tcp/ip는 전 세계적으로 통용된 통신 프로토콜이다. 아래는 OSI 7 layer와 TCP/ip 5 layer 으로, OSI는 IOS에서 컴퓨터 네트워크 프로토콜을 7 계층으로 나누어 모델화 한 것이다. Tcp/Ip 는 5단계로 나누어 모델링 했는데 트랜스 포트 층에 Tcp 프로토콜이 존재하고 네트워크 층의 프로토콜로 존재하기 때문에 이와 구별하여 위 5단계를 갖는 전체 계층을 tcp/ip protocol family라고도 한다. - 각 계층은 다음의 역할을 한다. Application - 사용자에게 가장 가까운 층으로 애플리케이션에 맞춰 통신을 수행할 수 있도록 한다. (ex, HTTP SMTP POP3 FTP TELNET NNTP RCP) Transport - 송신되는 데이터를 수신..
Network / Protocol Network - 네트워크란 자원을 서로 주고 받을 수 있는 상태를 의미하며, 컴퓨터끼리 케이블이나 적외선, 전파 등을 이용해서 다양한 데이터를 주고 받을 수 있음을 말한다. - 네트워크의 규모에 따라 비교적 좁은 공간의 기기끼리 연결한 네트워크는 Local Area Network를 줄여 LAN이라고 하고, 지리적으로 먼 기기끼리 연결한 대규모의 네트워크는 Wide Area Network를 줄여 WAN이라고 한다. 이런 LAN,WAN 들을 연결한 전 세계 규모의 네트워크가 인터넷인 것이다. Protocol - 네트워크 안에서 서로 다른 기기가 데이터를 주고 받으려면 미리 정해진 약속을 따라야 한다. 이러한 규정, 약속을 protocol 이라고 하고 특별히 통신을 위한 약..