유니티 컴포넌트는 무엇일까요?
자 유니티에 대해서 잘 모르시는 분들도 있을 수 있기 때문에 간략하게 설명하고 넘어가도록 하겠습니다.
유니티는 게임을 만들 수 있는 엔진입니다. 쉽게 게임 만드는 도구죠
그 안에 구성 요소 중에는 컴포넌트가 있습니다.
그렇다면 컴포넌트는 뭘까요? 컴포넌트는 바로 기능 추가 역할을 하는 요소입니다.
우리가 게임 안에서 NPC나 괴물을 만들고 "주변을 계속 이동하게 만들어줘!" 이런 움직임에 대한 컴포넌트를 추가하거나 할 때 컴포넌트를 이용합니다.
우리는 오늘 컴포넌트가 왜 중요한지 알아보도록 하겠습니다.
유니티 컴포넌트가 왜 중요한가
유니티에서 모든 오브젝트는 '컴포넌트'로 구성되어 있습니다.
우리가 레고나 모형을 조립한다고 예시를 들어볼게요 그냥 순서 없이 막 머리랑 몸을 이어 붙이고 팔이랑 다리를 이어 붙일 순 없잖아요?
그렇기 때문에 필요한 기능을 하나하나 이어 붙이고 이걸 완성하는 과정이 필요하겠죠
이때 필요한 게 바로 컴포넌트입니다.
컴포넌트에 있는 걸 간단하게 살펴보도록 하겠습니다.
Transform 컴포넌트: 오브젝트의 위치, 회전, 크기 등을 정해줍니다.
Position은 위치, Rotation은 회전, Scale은 크기를 담당합니다.
Ridgidbody 컴포넌트: 물리 효과를 주는 역할을 합니다.
물리 효과 중에 대표적으로 중력과 충돌 같은 게 있겠네요
바닥에 공을 강하게 튕기면 다시 공이 떠오르죠. 그리고 너무 유명한 사과나무에서 사과가 아래로 떨어지고요 이런 물리 효과를 담당하는 게 Ridgidbody 입니다.
Audio Source 컴포넌트: 소리를 담당합니다. 오브젝트에 소리를 넣을 때 필요합니다.
Script 컴포넌트: 직접 우리가 만든 코드를 넣어서 특별한 행동을 하게 할 수 있습니다.
간단하게 예시로 살펴볼게요
이건 간단하게 만든 스크립트를 추가해서 작동하게 만든 건데요
스크립트를 만들어서 추가해서 WASD키를 누르면 이동하게 만든 상태입니다.
자 그래서 중요한 게 뭐냐면요 "컴포넌트가 없으면 아무 기능을 할 수 없습니다."
컴포넌트 어떻게 활용하나
모든 컴포넌트는 반드시 게임 오브젝트에 붙습니다.
게임 오브젝트는 장면을 구성하는 모든 항목을 말합니다.
예를 들면 캐릭터와 캐릭터가 누울 침대, 캐릭터가 착용할 칼 등 모든 게 오브젝트입니다.
그리고 이 오브젝트에 기능을 넣기 위해서는 컴포넌트를 추가해야 합니다.
Transform: 위치, 크기, 회전 조절
Sprite Render: 2D 이미지 보여주기
Ridgidbody: 물리 효과 적용
Collider: 충돌 감지
Audio Source: 소리 재생
Camera: 화면을 보여주는 역할
Light: 빛을 만들어서 밝게 해주는 역할
자 간단하게 컴포넌트가 어떤 게 있는지 알아봤습니다.
그리고 개인적으로 가장 중요한 건 C# 스크립트 같습니다.
그게 있어야 움직이거나 하는 등의 역할을 부여할 수 있거든요
지금까지 읽어주셔서 감사합니다.
추가로 궁금하신 게 있으시다면 하단의 링크를 참고해 주세요