티스토리 뷰

728x90
반응형

 

타이틀 이미지

UnityEngine.UI 버튼으로 캐릭터 조작하기

유니티(UI) 프로젝트에서 화면의 버튼으로 캐릭터를 이동하거나, 공격 등 다양한 인터랙션을 처리할 수 있습니다. 이번 글에서는 UnityEngine.UI의 버튼을 사용하여 간단한 캐릭터 조작을 구현하는 방법을 설명합니다.

1. 버튼 제작 및 연결

먼저 유니티 에디터의 하이어라키 창에서 UI > Button 을 생성하세요. 생성된 버튼에는 기본적으로 Button 컴포넌트가 포함되어 있으며, 여기에 사용자 정의 C# 스크립트를 연결할 수 있습니다.

이 버튼을 사용해 캐릭터를 이동시키기 위해서는, 버튼의 OnClick 이벤트에 스크립트 함수를 연결해야 합니다.

2. 캐릭터 조작 스크립트 작성

다음은 버튼 클릭 시 캐릭터를 특정 방향으로 이동시키는 스크립트의 예입니다.

using UnityEngine;
using UnityEngine.UI;

public class CharacterController : MonoBehaviour
{
    public float moveSpeed = 5f;    // 캐릭터 이동 속도
    public Button moveButton;       // 이동 버튼 (UI 버튼)

    private void Start()
    {
        // 이동 버튼에 MoveCharacter 함수를 클릭 이벤트로 등록
        moveButton.onClick.AddListener(MoveCharacter);
    }

    private void MoveCharacter()
    {
        // 캐릭터를 앞으로 이동시킴 (Z축 방향)
        transform.Translate(Vector3.forward * moveSpeed * Time.deltaTime);
    }
}

위 코드에서 캐릭터는 버튼이 클릭될 때마다 Vector3.forward 방향으로 일정 속도로 이동합니다. onClick.AddListener 를 사용하여 버튼 클릭 시 호출될 함수를 지정합니다.

3. 유용한 팁

Tip: 다양한 버튼에 각각 다른 기능을 할당하고 싶다면, 함수를 여러 개 만들어 각 버튼의 onClick 에 다른 함수를 할당하세요. 이렇게 하면 단일 스크립트로 여러 동작을 쉽게 처리할 수 있습니다.

4. 최종 체크리스트

1. UI 캔버스를 활용해 버튼을 추가합니다.
2. C# 스크립트를 작성하고 동작할 함수를 정의합니다.
3. 버튼의 OnClick 이벤트에 원하는 함수를 연결합니다.

⚠️ 주의: 모든 UI 요소는 캔버스 하위에 있어야 정상적으로 렌더링됩니다. 버튼의 위치와 캔버스 사이즈를 확인하여 의도한 위치에 버튼이 배치되는지 체크하세요.
728x90
반응형
LIST
글 보관함
최근에 올라온 글
160x600