유니티(Unity)/기본

유니티 개발 공부(4) 컴포넌트, 동작 원리

Whiny 2021. 4. 20. 12:44

이번 포스팅에서는 에디터 상에서 컴포넌트가 어떻게 보이는지, 그리고 유니티의 대표적인 컴포넌트의 기능 동작 원리에 관해 설명하겠습니다.

 

whiny.tistory.com/3?category=980350

 

유니티 개발 공부(2) 유니티 인터페이스

이번 포스팅에서는 유니티 인터페이스에 대해 설명하겠습니다. 처음 프로젝트를 열면 위와 같은 모습의 인터페이스를 하고 있습니다. 현재 레이아웃은 Default를 사용하고 있는데, 우측 상단에서

whiny.tistory.com

우선 유니티 인터페이스 포스팅에서 씬에 큐브 하나를 추가했었습니다.

 

인스펙터 창에서 큐브가 어떤 컴포넌트로 구성되어있는지 확인할 수 있습니다.

 

Transform, Mesh Filter, Mesh Renderer, Box Collider 이렇게 4가지로 구성되어있네요.

 

각 컴포넌트의 특징을 살펴보자면,

인스펙터 

Transform 

  1. 씬 상에 존재하는 모든 게임 오브젝트들이 가지는 컴포넌트
  2. Position, Rotation, Scale을 확인하고 수정할 수 있다.

Mesh Filter

  1. 에셋에서 메쉬를 취득하여, 렌더링하기위해 Mesh Renderer에 전달한다.

Mesh Renderer

  1. Mesh Filter로 받은 정보로, Transform에서 정의된 위치에서 렌더링합니다.

Box Collider

  1. 상자의 형태를 한 충돌 기본형

 

 

 

docs.unity3d.com/kr/530/Manual/UnityManual.html

 

유니티 - 매뉴얼: Unity 매뉴얼

유니티를 사용하면 최고의 인터렉티브 엔터테인먼트와 멀티미디어 경험을 만들어낼 수 있습니다. 귀하는 이 매뉴얼을 통해서 유니티를 어떻게 사용하는 지를 기초부터 고급 테크닉까지 배울

docs.unity3d.com

상세한 기능과 특징은 위의 매뉴얼에서 확인할 수 있습니다.

 

 


이번에는 유니티 컴포넌트의 동작 원리에 관해 설명하겠습니다.

 

유니티의 모든 컴포넌트는 MonoBehaviour 클래스를 상속합니다.

 

MonoBehaviour 클래스는 유니티에서 미리 만들어 제공하고, 컴포넌트에 필요한 기본 기능을 제공합니다.

 

따라서, MonoBehaviour 클래스를 상속해 만든 클래스는 게임 오브젝트에 컴포넌트로서 추가될 수 있습니다.

 

이렇게 Monobehaviour의 기능을 가진 컴포넌트들은 유니티로부터 메시지를 받을수 있게 됩니다.

 

Monobehaviour는 Start(), Update() 등의 메서드를 가지고 있는데, 

 

Start - 게임 오브젝트가 처음 활성화 될때 한번 실행

Update - 게임의 한 프레임당 한 번 실행

 

유니티 이벤트 메서드들은 이름 철자만 똑같이 구현해두면 유니티의 메시지에 의해 자동으로 실행됩니다.

 

예를 들면

 

게임 오브젝트가 처음 활성화 될 때 유니티에서 자동으로 Start를 호출해주고,

 

게임이 1초에 60프레임일때 1 프레임마다 Update를 유니티에서 호출해줍니다.

 

실제로 사용할때에는, Start메서드에는 컴포넌트를 초기화 하는 기능을 구현하고, Update메서드에는 주로 게임의 상태(애니메이션, 각종 수치 등등)가 변화하도록하는 기능을 구현합니다.

 

 

다음 포스팅에서는 위에서 확인했던 큐브 오브젝트를 움직이는 컴포넌트를 직접 제작해보도록 하겠습니다.