728x90
반응형
유니티 인터페이스
인스펙터 | 선택한 게임 오브젝트의 정보와 컴포넌트가 나열되는 곳. |
컴포넌트 | 게임 오브젝트 중 다양한 부품들을 일컫는 말. |
트랜스폼 | 3D 공간에서의 위치를 결정하는 컴포넌트. |
리지드바디 | 게임 오브젝트가 물리와 중력의 영향을 받게 하는 컴포넌트. |
단축키
툴(Tool) | 단축키 | 설명 |
핸드(Hand) | Q | 씬 카메라 이동 |
평행이동(Translate) | W | 오브젝트 이동 |
회전(Rotate) | E | 오브젝트 회전 |
스케일(Scale) | R | 오브젝트 크기 조정 |
렉트(Rect) | T | UI와 2D 오브젝트의 크기 조정 |
트랜스폼(Transform) | Y | 평행이동, 회전 , 스케일 툴을 하나로 합친 툴 |
커스텀 에디터 | 개발자가 원하는 기능을 구현하여 할당할 수 있는 버튼 |
using 메서드
using mathF | 유니티의 수학 메서드. 제곱근과 같은 수학적 계산이 가능하다. |
https://docs.unity3d.com/kr/2021.3/Manual/class-Mathf.html
메서드
메서드 이름 | 기능 |
using 경로이름 | 사용할 라이브러리의 경로를 지정하면 해당 라이브러리에 들어있는 코드를 가져와서 사용할 수 있다. |
Start(void) | 대표적인 이벤트 메서드로써 코드가 실행되는 시작점을 제공. 게임이 시작될 때 자동으로 한번 실행된다. |
Update(void) | 특정 시점에 자동으로 실행되는 이벤트 메서드이다. 한 프레임에 한 번, 매 프레임 마다 반복 실행된다. |
Debug.Log("문자열") | 인자로 받은 문자열을 디버그 창에 출력한다. |
new 클래스이름 | 어떤 클래스의 오브젝트를 새로 하나 생성한다. 따라서 new 연산자 뒤에는 실행 할 클래스의 생성자가 온다. |
AddForce(x,y,z) | 힘을 주는 기능으로 x, y, z방향으로의 힘을 지정할 수 있다. 참조(.)를 통해 오브젝트의 힘을 지정한다. |
Input.GetKey(KeyCode.key) | 키보드의 식별자를 KeyCode 타입으로 받는다. 실행될 때 해당 키를 누르고 있으면 true, 아니면 false를 반환한다. |
Input.GetKeyDown(KeyCode.key) | 해당 키를 '누르는 순간' true, 그 외에는 false 반환한다. |
gameObject | 컴포넌트 입장에 자신이 추가된 게임 오브젝트를 가리키는 변수. 참조의 대상. |
SetActive(station) | 인스펙터 창에서 게임 오브젝트를 활성화 또는 비활성화하는 메서드. |
GetComponent<Type>() | 원하는 타입의 컴포넌트를 자신의 게임 오브젝트에서 찾아오는 메서드. 좌변에 원하는 컴포넌트를 할당한다. 실패 시 null을 반환한다. |
Input.GetAxis()(string axisName) | 축의 이름을 받고 그다음 경우에 따라 감지된 입력값을 반환한다. |
Vector3(x,y,z) | 원소 x,y,z를 가지는 타입. 위치, 속도, 크기 등을 나타낼 때 주로 사용한다. |
Component.velocity | 컴포넌트의 속도를 설정한다. |
Destroy(Object ojt,float time) | 두 번째 인자 값으로 파괴되는 딜레이를 줄 수 있으며 두 번째 인자가 없으면 즉시 파괴된다. |
component.tag | 게임 오브젝트나 컴포넌트를 tag라는 변수를 제공하여 자신의 게임 오브젝트의 태그가 무엇인지 알려준다. |
Random.Range(form x,form y) | x,y 사이의 값을 랜덤으로 반환한다. 이때 인자로 받은 서식지정자의 범위를 따른다. |
FindObjectOfType<Type>() | 꺽쇠<>안에 어떤 타입을 명시하면 씬에 있는 모든 오브젝트를 검색하여 해당 타입의 오브젝틀 가져온다. 참조를 이용하여 트랜스폼 컴포넌트에 접근할 수 있다. 단 처리비용이 크므로 한번만 실행하자. |
Time.deltaTime | Time.deltaTime에는 이전 프레임과 현재 프레임 사이의 시간 간격이 할당된다. 프레임의 주기이자 초당 프레임에 역수를 취한 값이다. |
Instantiate(원본,위치,회전) | 원본 오브젝트를 주면 해당 오브젝트를 복제한 오브젝트를 생성한다. 인자로 원본의 변수의 이름과 위치, 회전을 넣어 초기화 할 수 있다. |
component.transfrom.LookAt(target) | 사용하여 복제 생성된 component 이라는 변수가 target을 보도록 설정한다. |
Vector3
[ Vector3의 메서드 ]
사칙연산 | Vector3 v3 = v1+v2; |
거리 계산 | Vector3.Distance(vec1,vec2); |
정규화 | Vector3.normarlized; |
크기 | Vector3.magnitude; |
내적 | Vector3.Dot(vec1,vec2); |
외적 | Vector3.Cross(vec1,vec2); |
[Vector3의 속기]
Vector3.forward | 전 | Transform.forward: new Vector3(0,0,1) |
Vector3.back | 후 | Transform.back: new Vector3(0,0,-1) |
Vector3.right | 우 | Transform.right: new Vector3(1,0,0) |
Vector3.left | 좌 | Transform.left: new Vector3(-1,0,0) |
Vector3.up | 상 | Transform.up: new Vector3(0,1,0) |
Vector3.down | 하 | Transform.down: new Vector3(0,-1,0) |
Transform: 위치 벡터
▶ 오브젝트의 위치 구하기
void Start()
{
Vector3 pos;
pos = transform.position;
Debug.Log(pos.y);
}
트랜스폼 컴포넌트를 표현하는Transform 타입은 자신의 앞쪽, 뒤쪽, 오른쪽 등을 나타내는 방향 벡터를 즉시 접근할 수 있는 변수를 제공.
Transform.forward | 자신의 앞쪽을 가리키는 방향 벡터 |
Transform.right | 자신의 오른쪽을 가리키는 방향 벡터 |
Transform.up | 자신의 위쪽을 가리키는 방향 벡터 |
Translate: 평행 이동
[자신의 앞쪽으로 평행 이동]
transform.Translate(new Vectoer3(0,1,0));
transform.position = transform.position + transform.up*1;
[전역 공간 앞쪽으로 평행이동]
transform.Translate(new Vectoer3(0,1,0),Space.World);
C언어와 차이점
형식 | 언어 | 기능 |
출력 | C | printf("%자료형",변수); |
C# | Debug.Log("문자열"+변수); | |
서식 지정 | C | float num = 10; |
C# | float num = 10f; | |
배열 | C | int num[5]; |
C# | int[] num = new int[5];클래스 이름 |
GetAxis() 메서드
float xInput = Input.GetAxis("Horizontal"); //평행의
float zInput = Input.GetAxis("Vertical"); //수직의
축의 음의 방향으로 대응되는 버튼 입력 | -1.0 |
아무것도 누르지 않음 | 0 |
축의 양의 방향으로 대응되는 버튼 입력 | +1.0 |
Horizontal 축과 Vertical 축의 대응 입력키와 출력되는 입력값
Horizontal 축 | Horizontal(수평) 축에 대응되는 키 | - 음의 방향: ⬅️, A - 양의 방향: ➡️,D |
Input.GetAxis("Horizontal")의 출력값 | - 음의 방향: -1.0 - 아무것도 누르지 않음: 0 - 양의 방향: +1.0 |
|
Vertical 축 | Vertical(수직) 축에 대응되는 키 | - 음의 방향: ⬇️,W - 양의 방향: ⬆️,S |
Input.GetAxis("Vertical")의 출력값 | - 음의 방향: -1.0 - 아무것도 누르지 않음: 0 - 양의 방향: +1.0 |
충돌처리
[이벤트 발생]
OnCollisionEnter 계열: 일반 충돌 | OnCollisionEnter(Collision collision) | 충돌한 순간 |
OnCollisionStay(Collision collision) | 충돌하는 동안 | |
OnCollisionExit(Collision collision) | 충돌했다가 분리되는 순간 | |
OnTriggerEnter 계열: 트리거 충돌 | OnTriggerEnter(Collider other) | 충돌한 순간 |
OnTriggerStay(Collider other) | 충돌하는 동안 | |
OnTriggerExit(Collider other) | 충돌했다가 분리되는 순간 |
[통과 여부]
OnCollisionEnter 계열: 일반 충돌 | 충돌한 두 콜라이더는 서로 통과하지 않고 밀어냄 |
OnTriggerEnter 계열: 트리거 충돌 | 충돌한 두 콜라이더는 서로 통과하여 지나감 |
728x90
반응형