알아보자 시리즈

유니티 - Unity Visual Scripting에 대해 알아보자

근본넘치는개발자 2024. 9. 4. 21:58

 

Visual Script ? 

스크립트를 시각적으로 보여주는 방식으로서 

흐름을 한눈에 알아볼 수 있다는 장점이 있습니다.

이는 이해와 동시에 빠르게 개발을 할 수 있게 도와줍니다.

 

대표적으로 언리얼에서는 '블루프린트'라는 이름으로

비주얼 스크립팅( Visual Scrpting)을 해주는 기능이 있습니다.

 

유니티에서도 이와 관련하여 다양한 툴들이 존재합니다.

저는 그중에서 Unity에 내장된 Visual Script에 대해 알아볼까 합니다.

 

원래는 Bolt라는 이름으로 존재했었는데,

2021버전부터는 유니티 내 기본 기능으로 탑제 되었다고 합니다.

 

(예전에 공부할 때 Bolt에 대해서 들어서 알고는 있었는데,

이렇게 기본으로 탑재된지는 몰랐네요. )

 

만약 구 버전에서 Visual Scripting을 사용해야 하는 경우라면

Bolt혹은 다른 툴들을 추가해서 사용하시면 됩니다.

 

Visual Script 에셋 중에선 Playmaker가 가장 유명하고, 자주 사용되는 것 같습니다.

유니티 스토어에서 유료로 다운 받아 사용하실 수 있습니다.

 

사용하는 방법은 간단합니다. 

Hierarchy에서 원하는 대상을 선택한 후 AddComponent를 통해 추가하면 됩니다.

 

Visual Scripting의 4가지 종류

 

일반적으로 Visual Scripting을 진행할 때는 Script Machine을 사용합니다.

Script는 추가된 노드를 추가한 순서대로 수행하고,

State는 특정 조건을 만족하면 실행된다는 차이가 있습니다.

 

 

 

선택 창을 보면 Embed와 Graph가 있는 걸 확인 할 수 있습니다.

 

둘의 차이는 저장 방식입니다.

 

Embed는 뜻 그대로 컴포넌트에 내장되어 사용되는 반면,

Graph는 이후 만든 Visual 스크립트가 에셋으로 저장되어

다른 곳에서 재사용할 수 있다고 합니다. 

 

저는 Embed로 선택하여 Edit Graph 해 주었습니다.

 

 

생성하고 나면 다음과 같은 창이 뜨게 됩니다.

Graph를 선택했어도 똑같이 뜹니다.

 

화면을 보면 On Start와 OnUpdate라고 적힌 네모 상자를 찾을 수 있습니다.

이를 유닛이라고 부릅니다.

 

이제 이곳에서 원하는 유닛을 조합하며 동작하도록 만들면 됩니다.

 

유닛을 추가하는 방법은 간단합니다.

빈 공간 아무 곳에 우클릭을 누르면 됩니다.

 

 

다음과 같은 기능들을 확인 할 수 있습니다.

 

유닛의 화살표 옆  > 끼리 이어주면 유닛 기능에 맞게 동작하게 됩니다.

예시를 위해 RigidBody2D를 추가했습니다.

 

만약 화살표를 잘못 연결해서 취소하고 싶다면 선 위에서 우클릭을 누르면 해제가 됩니다.

 

 

각 유닛에 대한 정보를 알고 싶다면 유닛을 클릭한 후

좌측 상단에 (I)처럼 생긴 아이콘을 클릭하면 정보를 확인 할 수 있습니다.

좌측에서 RigidBody2D 에 대한 정보를 읽을 수 있었습니다.

 

 

(I)  옆에 <x>같이 생긴 버튼은 블랙보드 입니다. 

블랙보드는 Visual Script내에서 사용하는 모든 변수가 담긴 곳입니다.

 

 

Graph는 작업 중인 Graph에만 적용되고, 접근할 수 있습니다.

 

Object는 선택한 로직에만 적용되고,

해당 GameObject의 모든 스크립트나 State에서 접근이 가능합니다.

 

Scene은 같은 씬에 있다면 접근할 수 있으며,

App은 여러 씬에 접근이 가능합니다.

Save는 프로젝트 전체에서 접근이 가능합니다. 

 

예를 보여드리자면 

 

Object를 누르고 test라는 이름으로 변수를 하나 생성했습니다.

 

생성하고 나서 우리가 처음에 추가했던 게임 오브젝트를 확인해 보면

똑같이 test라는 변수가 추가된 걸 보실 수 있습니다.

이런 특성을 활용하여 변수를 설정하고, 원하는 곳에서 수정할 수 있습니다.

 

 

참고 하면 좋을 자료들 

 

https://www.youtube.com/watch?v=2X51U-quXwg

 

https://docs.unity3d.com/Packages/com.unity.visualscripting@1.9/manual/vs-interface-overview.html

 

The interface | Visual Scripting | 1.9.4

The interface Visual Scripting's main window is the Graph window. The Graph window has five main elements: The Graph Editor, where you create, arrange, and connect nodes. The fuzzy finder, which you can use to find nodes and add them to your graph. The Gra

docs.unity3d.com

 

 

개인적으로는 코드로 제어하는게 더 편해 여태 안 다루고 있다가,

DoTween과 함께 사용하는 내용의 영상을 보고

배워야겠다는 마음에 이렇게 간단하게 나마 사용 방법을 정리해봤습니다. 

 

DoTween과 함께 응용하는 내용 또한 빠른 시일 내 다뤄보도록 하겠습니다.