Visual Scripting 시작하기

Godot의 모든 기능처럼, Visual Scripting도 좋은 경험을 우선 순위로 두고 개발했습니다. 현재 작업 흐름에 잘 맞지 않는 제 3자 솔루션과 결합하거나 복사하는 것 이상으로 말이죠. 이렇게 해서 엔진에 가장 적합한 기능이라고 생각되는 독자적인 버전을 작성하게 됐습니다.

Godot에서 Visual Script는 일반 스크립트와 함께 편집기 탭에 잘 들어 맞습니다

../../../_images/visual_script1.png

실제로 Visual Scripting이 Godot와 아주 잘 통합해서 버전 3.0만에 추가되었다고 믿기 어려울 것입니다. 스크립트 편집 중에 Godot 패널과 독은 팔래트처럼 스크랩트 캔버스로 모든 종류의 정보를 드래그 앤 드롭할 수 있기 때문입니다:

../../../_images/visual_script2.png

스크립트 만들기(Creating a script)

스크립트 만들기는 다른 스크립팅 언어와 같은 방식입니다: 씬에서 아무 노드나 선택하고, 씬 트리 독의 오른쪽 위에 있는 "새 스크립트(New Script)" 버튼을 누르세요:

../../../_images/visual_script3.png

만들기 창이 열리면 스크립트 유형의 드롭 다운 메뉴에서 "Visual Script"로 선택해야 합니다. 스크립트 확장자 이름은 (Visual Script를 의미하는) ".vs"가 됩니다.

../../../_images/visual_script4.png

그러면 이제 Script 편집기가 열리고 Visual Script를 편집할 수 있게 됩니다:

../../../_images/visual_script5.png

함수 추가하기(Adding a function)

다른 Visual Scripting 구현 방식과 달리, Godot의 Visual Scripting은 함수와 깊게 연관되어 있습니다. 이는 다른 스크립팅 엔진처럼 엔진과 소통하도록 같은 인터페이스를 사용하기 때문입니다. Godot에서 스크립팅 인터페이스는 범용적이고 이 인터페이스 내에서 전부 구현합니다.

함수는 노드가 연결된 개별 캔버스입니다.

하나의 스크립트에는 많은 함수를 가질 수 있고, 각 함수는 고유의 캔버스를 갖고 있기 때문에 더 조직적으로 만들 수 있습니다.

스크립트에 함수를 추가하는 세 가지 주요 방법이 있습니다:

가상 함수 다시 정의하기(Override)

Godot의 대부분의 노드 유형과 객체의 유형은 가상 함수를 갖고 있습니다. 이벤트가 일어나면 함수는 호출되며 (코드를 실행하며), 그 이벤트는 참조에서 볼 수 있습니다. 가상 함수는 멤버(Members) 패널의 "다시 정의하기(Override)" 아이콘을 클릭하면 나열됩니다:

../../../_images/visual_script6.png

다음 예시는 노드를 불러오고 실행하는 씬에 추가될 때 실행하는 함수입니다. _ready() 가상 메서드가 다시 정의됩니다:

../../../_images/visual_script7.png

그러면 이제 이 함수의 캔버스가 나타나고, 재정의를 표시합니다:

../../../_images/visual_script8.png

일부 함수는 반환 값을 추측하기 때문에, 해당 값을 제공하도록 return 노드를 추가해야 합니다:

../../../_images/visual_script9.png

함수에 시그널(Signal) 연결하기

노드는 트리에서 무언가 발생하면 시그널을 방출합니다. Godot는 시그널로 모든 작업을 합니다. 전형적인 예제로 "pressed" 시그널을 방출하는 버튼으로, 버튼을 누를 때 방출합니다.

그렇게 하려면, 시그널을 방출할 노드를 선택한 채로 노드(Node) 탭을 여세요. 거기에는 시그널을 확인할 수 있습니다. 시그널을 확인한 뒤, "pressed" 시그널을 연결하세요:

../../../_images/visual_script10.png

그러면 연결 대화 상자가 열립니다. 대화 상자에서 시그널을 연결할 노드를 선택하고 시그널을 받는 함수를 선택해야 합니다:

../../../_images/visual_script11.png

잘 설정했다면, 새 함수가 스크립트에 만들어지고 자동으로 시그널이 연결됩니다:

../../../_images/visual_script12.png

수동으로 함수 만들기

함수를 만드는 마지막 방법은 수동으로 만드는 것입니다. 일반적으로 정말 필요한 경우가 아니라면 수동으로 만들지 않을 것입니다. 다른 (혹은 같은) 스크립트에서 함수를 수동으로 호출할 때 맞춤(Custom) 함수는 작동합니다. 주된 사용 예로는 커다란 함수를 여러 개의 덩어리로 만드는 것입니다. 관리하기 좋으면서도 다른 Visual 코드에 다시 쓸 수 있도록 만드는 것이죠.

함수를 수동으로 만들려면, 큰 "더하기" 버튼을 누르세요. 그러면 새 함수가 기본 이름으로 추가됩니다:

../../../_images/visual_script13.png

함수는 이름에서 더블 클릭하면 이름을 새로 지을 수 있습니다:

../../../_images/visual_script14.png

이 함수가 갖는 (함수를 호출할 때 값을 전달하는) "인수(Argument)"를 편집하려면, 간단히 Function(함수) 노드를 클릭하고 인스펙터(Inspector)를 확인하세요:

../../../_images/visual_script15.png

자세한 내용은 이 문서의 뒷부분에서 설명합니다.