유니티 버튼 기초[01] – 클릭 이벤트 사용하는 법

오늘은 유니티 버튼 사용하는 방법에 대해 알아보려고 합니다. 게임이나 혹은 다른 서비스 등을 만들 때 가장 많이 사용하는 UI들이 바로 텍스트 혹은 버튼인 것 같습니다. 텍스트의 경우에는 유저들에게 필요한 정보를 표시해주기 위해 자주 사용하고 버튼은 유저와 상호 작용하기 위해 자주 사용되기 때문이죠.

버튼을 이용하여 여러 메뉴를 열거나 닫고 혹은 게임에 영향을 주도록 만들 수도 있습니다. 이렇게 다양한 곳에서 사용되기 때문에 게임 엔진 뿐만 아니라 다른 다양한 개발 도구들에서 버튼을 사용하기 위한 다양한 옵션을 제공하고 있습니다.

유니티 버튼 사용하는 방법

유니티 버튼은 지난번에 설명드렸던 텍스트와 마찬가지로 LEGACY 버전과 TMP(TextMeshPro) 버전이 나누어져 있습니다. 레가시 버전은 말 그대로 버튼에 기본적으로 들어가 있는 텍스트 객체가 레가시 버전이며 TMP 버전은 TextMeshPro 객체가 들어가 있습니다. 이점 염두에 두시고 사용하시면 될 것 같습니다.

사실 저 두가지 버전의 차이는 자식으로 들어가 있는 텍스트 객체의 버전 차이 뿐이기에 오늘 포스팅에서 사용할 내용들은 크게 영향을 주지 못합니다. 그러니 원하시는 버전으로 사용하시면 될 것 같습니다. 포스팅에서는 TMP 버전을 사용하려고 합니다.

유니티 버튼과 상호 작용 할 수 있도록 만드는 법

유니티 버튼 생성하는 방법

먼저 유니티에서 버튼을 생성해줘야겠죠. 버튼 생성을 원하시는 씬을 선택하신 뒤 Hierarchy 창에서 우클릭하고 “GameObject=>UI=>Button”을 선택하여 생성해주시면 됩니다.

유니티 버튼 스크립트를 생성

그러면 위처럼 씬에 버튼이 하나 추가됩니다. 버튼의 자식으로 들어가 있는 텍스트 객체를 수정하거나 삭제하고 원하는 이미지를 넣어 꾸밀 수 있습니다. 이에 대한 자세한 내용은 다음에 알아보도록 하고 이번에는 버튼과 상호 작용할 수 있도록 만들어보도록 하겠습니다.

버튼을 원하는 대로 수정하셨다면 이제 상호 작용하였을 때 실행될 코드를 작성해 주어야 합니다. 프로젝트 창에서 코드를 생성해줍니다. 이후 코드에 실행시킬 함수를 추가하고 저장해주시면 됩니다. 저는 아래와 같이 코드를 생성하였습니다.

using UnityEngine;
public class Practice00401 : MonoBehaviour
{
    public void OnClick()
    {
        Debug.Log("Button Clicked");
    }
}

저는 간단하게 위처럼 클릭하였을 때 “Button Clicked” 라는 문구가 출력되도록 만들어 보았습니다.

버튼에 스크립트 추가

이후 생성한 코드를 넣고 싶은 객체 끌어와서 추가해줍니다. 저의 경우 버튼에 추가하였으나 다른 객체에 추가한 뒤 버튼에서 불러와 실행하는 것 또한 가능합니다.

버튼 객체의 OnClick() 부분의 우측 하단에 있는 “+” 버튼을 누른 뒤 검은 색으로 된 칸에 생성한 스크립트를 가지고 있는 객체를 넣어주시면 됩니다.

유니티 버튼에 함수 할당

이후 인스펙터의 “Runtime Only” 우측에 있는 메뉴를 열고 자신이 생성한 클래스 이름의 원하는 함수를 선택해주시면 됩니다.

그런 다음 게임을 실행하고 버튼을 눌러보면 아래와 같이 작동합니다.

유니티 버튼 튜토리얼 실행 모습

문구가 콘솔 창에 제대로 출력되는 모습입니다.


이렇게 오늘은 유니티 버튼 사용 방법에 대해 알아보았습니다. 간단한 사용방법만 알아보았고 다음에 버튼의 이미지나 버튼을 눌렀을 때 이미지가 바뀌도록 만드는 방법에 대해 알아보도록 하겠습니다.

아래에서 다른 튜토리얼 또한 찾아보실 수 있습니다. (UI 튜토리얼의 목차 또한 이곳에 정리되어 있습니다.)

유니티 프로그래밍 정보 총정리[유니티 튜토리얼] – PostiveGround

유니티의 버튼에 대한 자세한 내용은 아래에서 찾아보실 수 있습니다.

위로 스크롤