Visual Scripting 시작하기

Godot의 모든 기능과 마찬가지로, 우리는 현재 워크플로에 적합하지 않을 수 있는 타사 솔루션을 복사하거나 통합하는 것에 대한 좋은 경험을 우선순위로 둡니다. 이것으로 우리는 이 기능이 엔진에서 가장 잘 작동할 것이라고 생각하는 우리의 설명을 적을 수 있었습니다.

Godot에서, Visual Script가 편집기 탭의 일반 스크립트와 매끄럽게 호환합니다

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

사실, Visual Scripting이 Godot에 잘 통합되기 때문에 버전 3.0에 추가되었다고 보기 어렵습니다. 왜냐하면 Visual Script를 편집할 때, Godot 패널과 독의 나머지 부분이 모든 종류의 정보를 스크립트 캔버스로 끌어다 놓을 수 있는 팔레트처럼 작동하기 때문입니다:

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

스크립트 생성하기

스크립트 생성은 다른 스크립팅 언어와 동일하게 작동합니다: 씬의 아무 노드나 선택하고 씬 트리 독의 오른쪽 상단 모서리에 있는 "새 스크립트" 버튼을 누릅니다:

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

열리면 드롭 다운 목록에서 스크립트 타입 "Visual Script"를 선택해야 합니다. 스크립트 확장은 ".vs"(Visual Script를 위해!) 이어야 합니다.

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

마침내, Script 편집기가 열리고, Visual script 편집을 시작할 수 있습니다:

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

함수 추가하기

다른 시각적 스크립팅 실행과 달리 Godot의 Visual Scripting은 함수를 기반으로 합니다. 왜냐하면 다른 스크립팅 엔진처럼 엔진과 통신하는 동일한 인터페이스를 사용하기 때문에 일어납니다. Godot에서는 스크립팅 인터페이스가 보편적이며 모든 실행이 이 인터페이스를 준수합니다.

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

단일 스크립트에는 많은 함수를 포함할 수 있으며, 각각 고유의 캔버스를 갖고 있고, 더 많은 구성을 할 수 있습니다.

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

가상 함수 재정의하기(Override)

Godot에 있는 대부분의 타입의 노드와 다른 타입의 객체는 가상 함수를 포함합니다. 이들은 무언가가 발생했을 때 (코드를 실행하여) 호출될 함수로 참조에서 볼 수 있습니다. 멤버 패널에서 "재정의" 아이콘을 누르면 가상 함수가 나열됩니다:

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

다음 예시에서는, 노드를 불러와서 실행 씬에 추가될 때 함수가 실행될 것입니다. 이를 위해 _ready () 가상 메서드가 재정의 될 것입니다:

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

마침내, 이 함수를 위해 재정의를 보여주는 캔버스가 나타났습니다:

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

일부 함수는 값을 반환할 것을 예상하며, 그들에게는 반환 노드를 추가하여 해당 값을 제공해야 합니다:

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

함수에 시그널 연결하기

트리의 노드는 무언가가 발생하면 시그널을 방출(emit)합니다. Godot는 모든 종류의 시그널을 사용합니다. 전형적인 예로 버튼이 실제로 눌렀을 때 "pressed"(눌렸음) 시그널을 내보내는 것이 있습니다.

이를 위해, 노드를 선택하고 Node 탭을 열어줍니다. 이렇게 하면 시그널을 볼 수 있습니다. 일단 보여지면, "pressed" 시그널을 연결하십시오:

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

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

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

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

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

수동으로 함수 만들기

마지막 방법으로는 함수를 수동으로 생성하는 것입니다. 일반적으로 정말로 필요한 경우가 아니라면 수동 생성은 쓰이지 않습니다. 커스텀 함수는 다른 (또는 같은) 스크립트가 수동으로 호출할 때 작동합니다. 주요 사용 사례로는 함수를 더 작게 분리하는 것이나, 시각적 코드를 재 사용하는 것입니다.

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

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

이름을 더블 클릭하여 이름을 바꿀 수 있는 새 함수가 추가됩니다:

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

이 함수가 가질 수 있는 "인수(arguments)"를 편집하려면 (이 함수를 호출할 때 전달하는 값), 함수 노드를 클릭하고 인스펙터를 확인하세요:

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

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