프로그래밍 농장

Unity - 비주얼스크립팅 본문

Unity

Unity - 비주얼스크립팅

Tennessee201 2022. 9. 19.
728x90

유니티에서는 스크립트를 사용하지 않고도 기능 구현이 가능한 비주얼스크립팅이 존재한다. 21년버전부터는 유니티가 해당 기능을 제공하는 Bolt사를 인수하여 언리얼엔진의 BluePrint와 같이 제공하며 이전버전에서는 외장 설치를 통해 사용할수있다. 


아래와 같이 Delog.log에 오브젝트의 Transform을 연결해주면 아래와 같이 현재위치가 실시간으로 디버그 및 Sript Graph를 통해 확인할수있다. 


비주얼 스크립팅 구현을 위해서는 기본적으로 New -> Visual Script  혹은 오브젝트 클릭후 컴포넌트에서 add component -> script machine -> new 응 통하여 아래와 같이 스크립팅 창을 생성하여 구현할수 있다.


아래와 같이 기존 스크립트에서 가져와 사용하던 다양한 오브젝트의 값들을 불러와서 계산하고 기능들을 구현할수있다. 

 

 

또한 스크립트 머신의 Source에서 아래와 같이 Embed / Graph 두가지 옵션이 있는데 Embed는 해당 오브젝트에만 종속되기 때문에 오브젝트가 없어지면 같이 삭제되고, Graph는 생성시 파일이 따로 남아서, 다른 오브젝트에 재사용이 가능하다는 차이점이 있다. 

 

아래와 같이 값의 Output을 오브젝트(item)으로 뽑아줄수도 있으며 List로 받아 그안의 오브젝트를 뽑아줄수도 있다 .


그렇다면 이번에는 위에서 구현한 로직들을 이용하여 Prefab화 된 맵을 자동으로 Instantiate해주는 기능을 구현해보겠다.

빨간 공(Player)를 제외한 아래의 프리팹 맵을 플레이어의 이동방향(우측)을 따라 계속 Instantiate해주고자 한다.

 

아래는 프리팹 맵을 생성해줄 LandLoader 이다.

 

LandLoader #1
LandLoader #2

 

 

 

 

 

 

728x90