Visual Script는 크게 두가지로 분류된다. 이를 설명하기 이전에 Visual Script는 멋지게 구조화된 스크립트 작성이 용이하고 재사용성의 개념이 잘되어 있다는 장점이 있지만 단점은 초보자들이 초기에 개념정립을 하기에 헷갈린다는 것이다.

나름 이해를 돕기위해 아래와 같은 도표를 작성해 보았다.

 

* Machine은 프로그래밍 파일(C#, C++ 등등) 하나로 간주 하면 좋을 듯 하다.

 

* Script Machine은 기본적인 프로그래밍 코드들이 작성되는 파일이다. 

 

* State Machine은 조금 상위 개념의 구조화된 코드들이 작성되는 파일로 생각하면 될 듯 하다. 게임을 예로 들었을 때, Player 캐릭터가 '기본 상태 일때', '공격을 받아서 1초간 무적일 상태' 그리고 '죽었을 때'에 따라서 다른 처리가 될텐데, 이렇게 Player 캐릭터의 상태를 정의하고 상태에 맞는 처리를 해줄 수 있도록 한다.

 

* 저장 방식(Embed, Graph)에서 Embed는 Script File들이 별도의 저장파일로존재하지 않고 Component에 삽입된다는 의미이다. 반면에 Graph는 별도의 Script File로 존재하고 Component가 이를 참조하는 것이다. 매우 국소적인 로컬 프로세스를 처리할 경우에 즉, 다른 Component에서 참조 혹은 재사용할 일이 전혀 없다면 Embed를 사용하면 된다. 또한 Embed는 특정 오브제트에 대해 커스터마이징(Customization)할 때도 유용하다. Embed와 Graph 상태는 서로 변경가능하다. 하지만 Embed에서 Graph로 변경할 경우 기존에 작성된 스크립트는 사라지게 된다. 반대로 Graph를 Embed로 변경할 경우 사라지지는 않는다.

 

 

* Unit : 아래 이미지에서 보이는 모든 그래프 하나하나가 Unit이다. Visual Script는 이러한 Unit들의 집합인 것이다. 마우스 우클릭을 하면 퍼지 파인더(Fuzzy Finder)창이 나타나며 이를 이용해 필요한 Unit을 선택하게 된다.

 

* Super Unit : 일련의 Unit들의 집합니다. 복합한 스크립트 구조를 단순화 시킬 수 있으며 Visual Script를 재사용할 수 있도록 해준다. 

 

* Super State Unit : State Machine에서 사용하는 State Unit들의 집합이다.

"Bolt Visual Script"로 오브젝트(Object)를 활성화/비활성화 시키는 방법에 대해 알아보겠습니다.

버튼을 클릭했을 때 타겟오브젝트(TargetObject)가 활성화/비활성화 되어지는 스크립트 입니다.

 

위 스크립느는 아래와 같은 결과가 나타나게 됩니다.

 

 

추가적으로 버튼의 텍스트(Button Text)도 동시에 교체되도록 하는 스크립트입니다.

 

위 스크립느는 아래와 같은 결과가 나타나게 됩니다.

 Button Text가 "Target On" / "Target Off"로 교체됩니다.

 

 

'VS 기본' 카테고리의 다른 글

그래프(Graphs), 상태(States) 그리고 머신(Machines)  (0) 2021.08.07
유닛(Units)  (0) 2021.08.06
비주얼 스크립팅의 기본 개념  (0) 2021.08.06
Machines - Graph, Embed, Units  (0) 2021.07.23
오브젝트 이동(Object Movement)  (0) 2021.07.23

Object를 이동시키는 매우 단순한 Visual Script입니다.

 

위 스크립트는 X축으로 Update Frame마다 0.01씩 움직입니다.

참고) 오브젝트를 이동시키는 방법은 여러가지가 있다. 여기서는 쉽게 이해할 수 있도록 가장 단순한 개념인 Transform.position을 이용하였다. 다른 방법들은 다른 글을 통해 소개하였다.

 

+ Recent posts