분류 전체보기 (30) 썸네일형 리스트형 [유니티] 4. 콜라이더(collider), 트리거 본 내용은 필자가 공부한 내용을 정리한 것으로 틀리거나 잘못된 내용이 있을 수 있습니다. 콜라이더는 유니티에서 가장 많이 쓰이는 것 중 하나로, 충돌을 감지할 때 쓰입니다. 3D에서는 Box Collider, Sphere Collider, Capsule Collider, 2D에서는 Box Collider2D와 Circle Collider2D가 대표적으로 쓰입니다. 콜라이더의 형태가 간단할수록 기기에 부하를 주지 않습니다. 위 그림은 콜라이더가 충돌을 감지하는 영역을 나타냅니다. 콜라이더의 요소 1. Box Collider isTrigger은 나중에 설명할 예정이니 지금은 무시합시다. Material은 물체 표면의 물리적 특성을 나타냅니다. 물체 표면의 마찰계수, 탄성계수, 정지마찰력 등을 설정할 수 있습.. [유니티 C#] 10. 반복문(2) foreach 본 내용은 필자가 공부한 내용을 정리한 것으로 틀리거나 잘못된 내용이 있을 수 있습니다. foreach문의 기본 구조는 다음과 같습니다. 형식이 제한되어 있지는 않습니다. foreach문은 whlie, for문과는 달리 끝을 지정해주지 않습니다. 알아서 한 바퀴 다 돌고 옵니다. foreach(자료형 element in 그룹형 변수명){ //실행문 } 아래는 예시입니다. int[] array = {1, 2, 3, 4, 5}; foreach(int number in array){ Debug.Log(number); } 출력 결과 1 2 3 4 5 배열의 크기인 5번 반복합니다. 또, 배열의 첫 요소부터 마지막 요소까지 차례로 number에 대입됩니다. 실행문 안에는 break, continue, return.. [유니티] 3. 이동시키기 본 내용은 필자가 공부한 내용을 정리한 것으로 틀리거나 잘못된 내용이 있을 수 있습니다. 오브젝트를 움직이기 위해 트랜스폼의 값을 건드려 움직여보겠습니다. 우선, 바닥과 구 하나를 준비했습니다 Transform.position 구를 움직이게 할 스크립트를 작성해보겠습니다. void Update() { transform.position = new Vector3(1, 1, 1); } 이렇게 작성하면 오브젝트가 (1, 1, 1)의 위치로 순간이동합니다. 또, 아래처럼 작성할 수도 있습니다. void Update() { transform.position += new Vector3(1, 0, 0); } 위와 같이 순간이동하듯이 움직이는 것을 볼 수 있습니다. (컴퓨터의 성능 탓에 조금 이상하게 나와버렸습니다만) .. [유니티] 2. 키보드 입력받기 (Input) 본 내용은 필자가 공부한 내용을 정리한 것으로 틀리거나 잘못된 내용이 있을 수 있습니다. Input을 이용하면 키보드, 마우스를 눌렀을 때 값을 입력받을 수 있습니다. 이번에는 값을 입력받을 수 있는 함수를 소개해보고자 합니다. 1. GetAxis, GetAxisRaw InputManager에 입력된 키를 누를 때, 값을 반환합니다. 이때, 반환되는 값은 -1 ~ 1사이가 반환됩니다. nagative button을 누르면 음수가, positive button을 누르면 양수가 반환됩니다. 아무것도 누르지 않는다면 0이 반환됩니다. 물체를 이동시키고 싶을 때 사용합니다. GetAxis() -1 ~ 1까지의 실수를 반환 GetAxisRaw() 버튼을 눌렀을 때 1, -1을 반환. 그렇지 않다면 0을 반환 2... [유니티] 1. 리지드바디 (Rigidbody) 본 내용은 필자가 공부한 내용을 정리한 것으로 틀리거나 잘못된 내용이 있을 수 있습니다. c# 기초 카테고리에 있는 글들은 문법에 관한 글이었다면, 스크립팅에서는 스크립트를 짤 때 쓰이는 툴에 관해 작성하고자 합니다. Rigidbody(이하 리지드바디)는 오브젝트의 물리적 동작을 가능하게 해주는 주요 컴포넌트 중 하나입니다. 1. Add Component를 통해 리지드바디 추가 2. 추가된 리지드바디 리지드바디의 요소는 각각 다음을 의미합니다. 요소 기능 Mass 오브젝트의 질량 (단위 kg) Drag 공기저항 (값이 클수록 속도가 빨리 감소) Angular Drag 회전 시의 공기저항 (값이 클수록 회전속도가 빨리 감소) Use Gravity 오브젝트에게 작용하는 중력의 영향 여부 (체크 시 중력 작용.. [유니티 C#] 9. 조건문(2) switch case 본 내용은 필자가 공부한 내용을 정리한 것으로 틀리거나 잘못된 내용이 있을 수 있습니다. 이번에는 if문과 비슷한 switch case에 대해 알아보겠습니다. switch case 문은 아래의 형태를 가집니다. switch (caseSwitch) { case label1: //실행문 break; case label2: //실행문 break; default: //실행문 break; } switch case 문은 switch문에 저장된 인자(caseSwitch)와 case에 지정된 값(label)과 비교합니다. 만일 두 값(caseSwitch와 label)이 일치하다면 case문의 실행문을 실행합니다. 코드가 break를 만난다면 switch문을 빠져나옵니다. case문의 break는 생략할 수 없습니다. .. [유니티 C#] 8. 함수 본 내용은 필자가 공부한 내용을 정리한 것으로 틀리거나 잘못된 내용이 있을 수 있습니다. 함수는 반복된 코드를 재사용하기 위해서 분리해낸 덩어리입니다. 콘솔 창에 출력하기 위한 Debug.Log도, 비주얼 스튜디오를 열면 자동으로 짜여진 Start와 Update도 모두 함수입니다. 함수를 선언하는 방법의 예시입니다. 반환값이 없을 경우 반환값 자료형은 void 로 작성하며 함수명 뒤의 괄호 안을 비웁니다. 함수에게 건네는 값을 인수, 돌려받는 값을 반환값이라 합니다. 인수는 여럿일 수 있어도, 반환값은 하나입니다. return을 만나면 함수를 종료하고 값을 반환합니다. 이렇게 선언된 함수는 다음과 같이 쓸 수 있습니다. 3과 4의 값을 함수에게 전달해주고, Sum 함수는 함수 내에서 두 인수를 더한 값인.. [유니티 C#] 7. 배열, 리스트, enum 열거형 본 내용은 필자가 공부한 내용을 정리한 것으로 틀리거나 잘못된 내용이 있을 수 있습니다. 만약 100개의 변수가 필요한 상황이 온다면 100개의 변수를 모두 선언해야 할까요? 그럴 때에는 그룹형 변수를 사용하여 선언하면 간단합니다. 이번에는 간단하게만 하고 나중에 더 자세히 작성해보겠습니다. 1) 배열 배열은 다음과 같이 선언합니다. int[] array; 그리고 배열을 초기화하는 방법은 두 가지가 있습니다. 첫 번째 int[] array = new int[5]; //배열 크기 10, 추후 대입 데이터를 담을 수 있는 크기를 설정하여 선언하는 방법이 있습니다. 두 번째 int[] array = {1, 2, 3, 4, 5}; //크기가 5로 자동설정됨 크기를 설정하지 않은 채 값을 미리 대입하여 초기화를 .. 이전 1 2 3 4 다음