본문 바로가기
Godot

[GodotDocs][Step by step] 1. 노드와 씬

by 채식금지 2023. 12. 22.
728x90

본 게시글은 고도엔진 공식문서에 작성된 Nodes and Scenes를 정리하였습니다.

 

노드(Node)

  • 게임의 기본 구성 요소
  • 유니티의 GameObject, Component와 유사한 역할을 한다.
  • 언리얼 엔진의 Actor와 유사한 역할을 한다.
  • 특징
    • 속성을 수정할 수 있다.
    • 매 프레임마다 업데이트를 위한 콜백(이벤트)를 받는다.
    • 새 속성과 기능(함수)를 확장할 수 있다.
    • 다른 노드를 자식으로 추가할 수 있다.

 

씬(Scene)

  • 노드의 트리
  • 저장된 씬은 에디터에서 새로운 노드처럼 작동하며 기존 노드의 자식으로 추가할 수 있다.
  • 씬을 사용하여 원하는 대로 구조를 만들 수 있다.
  • Godot 에디터 = 씬 편집기
  • 유니티의 씬과 프리팹 역할을 동시에 한다.

 

실습

첫 번째 프로젝트 만들기

  • 처음 고도 엔진을 실행하면 Project ManagerAsset Library 탭으로 이동할지 물어보는 메시지 박스가 열린다.
  • 메시지 박스는 Cancel을 선택하여 닫는다.
  • 창 상단에 있는 New 버튼을 선택한다.
  • Create New Project 창이 열리면 원하는 경로(Project Path)를 선택한 후 프로젝트 이름(Project Name)을 작성한다.
  • 아래 그림처럼 노란색 텍스트의 메시지가 출력된다면 Create Folder 버튼을 선택하여 프로젝트 이름과 동일한 이름의 빈 폴더가 생성된다.
  • Renderer 설정은 원하는 아래 내용을 보고 원하는 설정을 한다.
    • Forward+
      • 데스크톱만 지원
      • 고급 3D 그래픽을 제공
      • 대규모 복잡한 씬에 대응할 수 있다.
      • (개발자가 렌더링 장치 선택 가능하다는 건지, DirectX/Metal/Vulkan/OpenGL 다 들어 있어 하드웨어에 맞춰 자동 선택된 다는 건지 아직 모름)
      • 씬의 렌더링이 상대적으로 느림
      • Mobile
        • 데스크톱, 모바일 지원
        • 덜 고급화된 3D 그래픽을 제공
        • 복잡한 씬에 대한 확장성 낮다.
        • (개발자가 렌더링 장치 선택 가능하다는 건지, DirectX/Metal/Vulkan/OpenGL 다 들어 있어 하드웨어에 맞춰 자동 선택된 다는 건지 아직 모름)
        • 씬 렌더링이 빠름
      • Compatibility
        • 데스크톱, 모바일, 웹 지원
        • 가장 진보되지 않은 3D 그래픽(작업중)
        • 저사양 혹은 오래된 기기를 대상으로 한다.
        • OpenGL 3를 백엔드로 사용(OpenGL 3.3, ES 3.0, WebGL2)
        • 씬 렌더링이 가장 빠름
  • 설정을 모두 맞췄다면 창 하단에 있는 Create & Edit 버튼을 선택한다.
  • 프로젝트가 생성되면 아래와 같은 창이 열리게 된다.

첫 번째 씬 만들기

  • 처음에는 [empty] 씬이 열려있다.
  • [empty] 씬은 루트 노드가 없기 때문에 저장할 수 없다.
  • 윈쪽에 있는 Scene 도크(Dock)를 선택하여 루트 노드를 빠르게 추가할 수 있다.
  • Other Node를 선택하여 Create New Node 팝업창을 연다.
  • 검색창(Search:)에 Label이라고 입력한다.
  • Label 노드를 선택한다.
  • Create 버튼을 선택하여 Label 노드가 루트 노드로 생성되도록 만든다.
  • 루트 노드가 생성되면 Scene 도크의 화면이 변한다.
    • 유니티 엔진의 하에라키 창과 유사한 모습으로 변한다.
  • 생성한 Label 노드는 자동 선택되어 있다.
  • 중앙에 있는 뷰포트는 자동으로 2D 모드로 선택되어 Label 노드의 위치, 크기, 방향등을 조작할 수 있는 상태로 변한다.
  • 오른쪽에 있는 Inspector 도크는 Label 노드의 속성을 출력한다.

 

노드 속성 수정

텍스트 입력
  • Inspector 도크의 Text 속성 아래있는 텍스트 입력창에 원하는 내용의 텍스트를 입력한다.
  • 입력하는 동안 뷰포트에서 내가 입력한 텍스트가 출력되는 것을 확인할 수 있다.

노드 이동
  • 뷰포트 상단 툴바에서 이동 도구를 선택한다.
  • 뷰포트에서 출력되고 있는 Label 노드를 드래그하여 원하는 위치로 이동시킬 수 있다.
  • 이동하지 않는다면 Scene 도크에서 Label 노드를 선택한다.

씬 실행

  • 단축키 Ctrl + S를 입력하거나, 상단 메뉴의 Scene>Save Scene를 선택하여 씬을 저장한다.
  • Save Scene As... 팝업창이 열리면 label.tscn으로 이름을 입력한 후 Save 버튼을 선택하여 저장한다.
  • 오른쪽 상단의 Run Current Scene를 선택한다.
  • 어플리케이션 창이 열리고 입력된 텍스트가 출력되는 것을 확인할 수 있다.

매인 씬 설정

  • 오른쪽 상단의 Run Project를 선택하면 메인 씬을 실행할 수 있다.
  • 처음에는 메인 씬이 설정되어있지 않아 Please Confirm... 팝업창이 출력된다.
  • Select Current 를 선택하여 지금 열려있는 씬을 메인 씬으로 설정한다.
  • 앞으로 씬을 더 추가하더라도 Run Project를 선택할 때마다 메인 씬을 가장 먼저 실행하게 된다.