새소식

C#,Unity Programming

[Visual Scripting] 비주얼 스크립팅 사용 방법 1(설치, 기본사용방법)

  • -
728x90

 

Visual Scripting 이란?

 

  • 플로우차트와 같은 형태로 스크립팅 로직을 만들 수 있게 해주는 기능으로,
  • 보기쉽게, 이해하기 쉽게 개발이 가능하게 해준다.
  • 스크립트 작성이 구조화되므로 재사용성이 높아진다.

 

이전에는 Bolt 라는 에셋으로 추가하여 사용할 수 있었던 것인데, 유니티에서 Bolt를 인수하면서, 2021 버전부터 Visual Scripting 이라는 기능으로 에디터의 기본기능이 되었다.

여전히 에셋스토어에서 다운받을 수 있지만, 적용하면 레거시 에러가 발생한다

 

불필요하다는 의견에 대해서

 

  • 보기쉽다는 것은 협업에 도움이 된다는 것이고, 로직이 복잡해졌을때 스스로도 유지보수하기가 쉬워진다는 것이다.
  • 비주얼스크립팅이 무겁고 불편하다는 의견, 비주얼스크립트로 작업하면 최적화가 어렵다는 의견도 있는데,
  • 나는 초보개발자이기때문에, 실수도 잦고 리팩토링도 잘하지 못하기 때문에 조금만 복잡해져도 스파게티코드가 되어버리고 만다.
  • 나는 Visual Scripting을 사용하며 로직에 더 익숙해지고, 차차 실력이 올라서 스스로 비주얼스크립팅이 불편하다고 느껴질때, 그때 건너가기로하고
  • 지금은 의존하지말되 최대한의 업무효율성을 높이는 방법을 찾기위해 이를 사용해보고자 한다.

 

설치

  1. [Edit] - [Project Setting]으로 이동
  2. [Visual Scripting] 선택
  3. Initialize 버튼을 클릭
  4. 에셋 폴더에 Unity.VisualScripting.Generated 폴더가 생성된다.

 

 

사용 준비

  • Script Machine, State Machine, Variables, Listeners 네가지의 컴포넌트로 구성되어 있고
  • 스크립트를 붙여줄 오브젝트에 Script Machine 컴포넌트를 추가하면 사용할 준비가 완료된다.
  • Machine은 C# 스크립트 파일 하나와 같다고 이해하면 된다. 
    • Bolt 기준으로 만들어진 강의들에서 Flow Machine 이라고 하는 것과 동일하다.

사용 방법 알아보기

  1. 사용 방법을 알아보기 위해 Main Camera 에 Script Machine 컴포넌트를 추가해준다.
  2. Embed 와 Graph 선택할 수 있는 두가지 옵션이 있는데 이는 저장 방식이라고 한다.
    • Embed 는 별도의 Script 파일을 만들지 않고 컴포넌트로 삽입하는 방식이고,
    • Graph는 별도의 Script 파일을 만들고 컴포넌트가 이 크스립트를 참조하는 방식으로 구현된다.
    • 오브젝트 자신의 로컬 프로세스만 처리할 경우 간단하게 Embed 를 사용하면 된다.
    • 다른 오브젝트나 컴포넌트에서 참조하거나, 재사용할 필요성이 있는 스크립트라면 Graph로 생성하면 된다.

 

Script Graph 살펴보기

  1. 아래의 Edit Graph를 누르면
  2. Script Graph 창이 뜨는데, 우측 그래프의 네모를 노드라고 하고,
  3. 기본적으로 생성되어있는 노드는 새 스크립트를 생성했을 때 자동으로 생성되는 Start(), Update() 와 같다.
  4. 스크립트를 편집한다고 생각하고 작업을 진행하면 되겠다.

 

 

인터페이스에 대한 설명은 공식문서를 확인하자.

 

The interface | Visual Scripting | 1.7.8

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

 

노드 생성하기

1. 화면의 빈곳을 우클릭 - add Node 하면 생성할 수 있는 목록이 나오고, 아래처럼 직접 입력해서 찾아도 된다.

 

2. Debug log를 콘솔에 찍어보기위해서 Debug.Log 유닛을 추가한 후, 로직의 흐름을 제어하는 컨트롤(초록색 화살표)을 연결해준다.

 

3. 문자열을 선언해서 Debog.Log 의 Message 부분에 넣어주면 끝.

실행해보면 Debug.Log에 문자열이 찍힌것을 볼 수 있다.

 

 

소감

사실 코드를 모르면 비주얼스크립팅도 못하는건 맞을 것 같다.

스크립트의 흐름을 눈으로 볼 수 있다는 것이 가장 큰 매력이 아닐까 싶다.

물론 복잡해지면 아포칼립스가 펼쳐지겠지만..

그건 스크립트로 짜도 마찬가지니까ㅠㅠ

어떻게 짜든 스파게티가 되지 않도록 노력하는 개발자가 되자

Contents
  • -

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.