본문 바로가기
Programming/Godot

Godot 엔진 시작하기 - Node 와 Scene

by Wilkyway 2022. 1. 12.
반응형

Node(노드)

노드는 게임 구축의 기본 블록입니다. 이미지를 표시하고, 사운드를 재생하고, 카메라 뷰를 표현하는 등 수행할 수 있는 기능에 따라 수십가지 종류가 있습니다.

모든 노드에는 다음 속성이 있습니다.

  • 이름.
  • 편집 가능한 속성.
  • 매 프레임마다 업데이트될 콜백함수
  • 새로운 속성과 기능으로 확장
  • 다른 노드에 자식으로 추가

마지막 속성이 키포인트입니다. 여러 다른 기능의 노드를 결합하면 더 복잡한 동작을 하는 노드가 생성됩니다. 이전에 보았듯이 "Character" 노드는 KenematicBody2D 노드, Sprite2D 노드, Camera2D 노드 및 CollisionShape2D 노드를 사용하여 카메라가 따라가며 뷰가 전환되는 캐릭터를 만들 수 있었습니다.

Scene(장면)

캐릭터 씬과 같이 하나의 씬이 저장되면 해당 씬은 편집기에서 새로운 노드처럼 작동하며, 다른 노드의 자식으로 추가할 수 있습니다. 이 경우 씬은 '인스턴싱되었다'고 하며, 해당 인스턴스의는 내부 노드는 숨겨진 단일 노드로 나타납니다.

씬에서 게임 코드를 작성할 수 있습니다. 캐릭터의 라이프 바(게이지), 달리기, 점프 등의 기능을 스크립트로 작성할 수 있습니다.

Godot 편집기는 본질적으로 씬 편집기 입니다. 2D 및 3D 씬편집과 사용자 인터페이스씬 구축을 위한 많은 도구가 있습니다. Godot 프로젝트는 이러한 씬을 사용자가 원하는 만큼 얼마든지 포함할 수 있습니다. Godot 게임이 실행되기 위해서는 메인씬(main scene) 하나가 필요합니다. 메인씬은 게임이 실행될 때 처음 로드하는 씬입니다.

그 외에도 씬에는 다음과 같은 속성이 있습니다.

  1. 항상 하나의 루트 노드 존재.
  2. 하드 드라이브에 저장하고, 로드가능.
  3. 씬의 인스턴스를 원하는 만큼 생성 가능. 즉, 캐릭터 씬 하나를 이용하여 새로운 캐릭터를 얼마든지 복제/생성할 수 있습니다.

씬 만들기

장면을 만들어 보겠습니다. 새 프로젝트를 생성합니다. 프로젝트를 열면 빈 편집기가 표시됩니다.

빈 장면에서 왼쪽의 장면 독에는 루트 노드를 빠르게 추가할 수 있는 몇 가지 옵션이 표시됩니다. "2D Scene"은 Node2D 노드를 추가하고, "3D Scene"은 Spatial 노드를 추가하고, "사용자 인터페이스"는 Control 노드를 추가하고, "Other Node"를 선택하면 노드 전체 리스트 화면이 나타나고 원하는 노드를 선택할 수 있습니다.   "자식 노드 추가"(+) 버튼을 선택하는 방법도 있습니다.

씬에 Label노드 하나를 추가하겠습니다. Label노드의 기능은 화면에 텍스트 그리기입니다.

장면 독의 왼쪽 상단에 있는 "자식 노드 추가" 버튼을 눌러 노드를 만듭니다. 아무런 노드가 없는 상태에서 이 버튼을 클릭하면 루트 노드를 생성하고, 여러 노드가 있을 때에는 선택된 노드의 자식으로 노드를 추가합니다.

대화상자가 열리면 사용 가능한 노드 리스트가 나열되고, 이중에서 필요한 노드를 선택할 수 있습니다.

Label 노드를 선택합니다. 검색창에 이름을 타이핑하여 필터링이 가능합니다.

Label 노드를 클릭하여 선택하고 창 하단에 있는 Create 버튼을 클릭합니다.

Label노드는 2D 노드 유형이기 때문에 Scene이 2D 작업 공간으로 변경됩니다. Label이 뷰포트(편집창)의 놔측 상단에 선택된 상태로 나타납니다. 그리고 왼쪽의 Scene 도크에 노드가 표시되고, 노드의 세부 속성은 오른쪽의 Inspector 도크에 나타납니다.

노드 속성 변경

화면에 표시되는 텍스트를 변경해 보겠습니다. 우리가 입력할 텍스트는 "Hello World"입니다.

뷰포트 오른쪽에 있는 Inspector 도크로 이동하여 Text 속성 아래의 필드 내부를 클릭하고 "Hello World"를 입력합니다.

입력할 때 뷰포트에 텍스트가 그려지는 것을 볼 수 있습니다.

도구 모음에서 이동 도구를 선택하여 뷰포트의 레이블 노드를 이동할 수 있습니다.

레이블을 선택한 상태에서 뷰포트의 아무 곳이나 클릭하고 끌어 직사각형으로 구분된 뷰의 중앙으로 이동합니다.

씬 실행

씬을 실행할 준비가 되었습니다. 화면 우측 상단의 Play Scene 버튼을 클릭합니다. (단축키 F6)

실행에 필요한 씬을 저장하라는 팝업이 나타납니다.

Yes 버튼을 클릭하면 나타나는 파일 브라우저에서 저장 버튼을 눌러 "Label.tscn"으로 저장합니다.

 

응용 프로그램이 새 창에서 열리고 "Hello World" 텍스트가 표시됩니다.

정상적으로 확인되었으면 실행 중인 씬을 종료합니다.(단축키 F8)

 

씬 주요 설정

씬을 실행하기 위해 Play Scene 버튼을 사용했습니다. 옆에 있는 또 다른 버튼을 사용하면 프로젝트의 메인씬을 설정하고 실행할 수 있습니다. (단축키 F5)

팝업 창이 나타나고 메인 장면을 선택하도록 안내문구가 나타납니다.

선택 버튼을 클릭하고 나타나는 파일 대화 상자에서 Label.tscn을 두 번 클릭합니다.

씬이 다시 실행됩니다. 앞으로 이 프로젝트를 실행할 때마다 Godot는 지금 지정한 Label.tscn 씬을 시작점으로 사용하게 됩니다.

 

참고 : Main Scene 지정 방법

1. "Project -> Project Settings" 에서 설정 변경.

2. project.godot 파일에서 직접 텍스트 편집.

반응형

댓글