본문 바로가기

💫유니티 메서드💫

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

 

중요 클래스 - Mathf - Unity 매뉴얼

Unity의 Mathf 클래스는 게임 및 앱 개발에 일반적으로 필요한 삼각 함수, 로그 함수, 기타 함수를 비롯한 일반적인 수학 함수 컬렉션을 제공합니다.

docs.unity3d.com

메서드

메서드 이름 기능
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];클래스 이름

 

 

[Unity Composition]#2. C#과 C언어와 차이점

출력 C printf("%자료형",변수); C# Debug.Log("문자열"+변수); C언어와는 다르게 C#은 Unity의 콘솔창에 출력하기 위해서는 Debug.Log() 함수를 사용한다. 이때 자동으로 엔터가 출력된다. C언어는 printf("%d",

udangtangtang-cording-oldcast1e.tistory.com

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
반응형