ノードとシーン

Godotのキーコンセプトの概要 では、Godotゲームはシーンのツリーで構成され、各シーンはノードのツリーで構成されることを知りました。このレッスンでは、それらについてもう少し詳しく説明します。また、最初のシーンを作成します。

ノード

ノードとは、ゲームの基礎的な構成要素のことです 。ノードはレシピの材料のようなものです。ノードには、画像を表示したり、音を鳴らしたり、カメラを表現したりと、様々な種類があります。

../../_images/nodes_and_scenes_nodes.webp

すべてのノードには次の特性があります。

  • 名前。

  • 編集できるプロパティ。

  • 毎フレーム、更新するためのコールバックを受け取ります。

  • 新しいプロパティと関数を使用して拡張できます。

  • 別のノードを子として追加できます。

最後の特性が重要です。 ノードは集まってツリーを形成します 。これは、プロジェクトを構成するための強力な機能です。 異なるノードには異なる機能があるため、それらを組み合わせるとより複雑な動作が実現できます。 前に説明したように、カメラが追従するプレイアブルキャラクターを、 CharacterBody2D ノード、 Sprite2D ノード、 Camera2D ノード、および CollisionShape2D ノードを使って作成することができます。

../../_images/nodes_and_scenes_character_nodes.webp

シーン

このキャラクタのようにツリー内のノードを編成したものをシーンと呼びます。保存すると、シーンはエディタの新しいタイプのノードのように動作し、既存のノードの子として追加できます。シーンのインスタンスは、内部が非表示になっている単一のノードとして表示されます。

シーンを使用すると、ゲームのコードを好きなように構成できます。 ノードを構成 して、走ったりジャンプしたりするゲームキャラクター、ライフバー、操作できるチェストなど、独自で複雑なノードタイプを作成できます。

../../_images/nodes_and_scenes_3d_scene_example.webp

Godotエディタは基本的に シーンエディタ です。2Dや3Dのシーンを編集するためのツールや、ユーザーインターフェースなどが充実しています。1つのGodotプロジェクトには、必要なだけのシーンを含めることができます。エンジンが最低限で必要とするのは、アプリケーションの メインシーン の1つだけです。これは、あなたやプレイヤーがゲームを実行したときに、Godotが最初にロードするシーンです。

ノードのように機能することに加えて、シーンには次の特性があります。

  1. この例の「Player」のように、常に1つのルートノードがあります。

  2. ローカルドライブに保存しておいて、後で読み込むことができます。

  3. シーンのインスタンスはいくつでも作成できます。5人でも10人でも、キャラクターシーンから、キャラクターをゲームに保持することが出来ます。

最初のシーンを作る

それでは、最初のシーンをノード1つだけで作成してみましょう。そのためには、最初に 新しいプロジェクト を作成する必要があります。 プロジェクトを開くと、空のエディタが表示されるはずです。

../../_images/nodes_and_scenes_01_empty_editor.webp

空のシーンでは、左側の シーン ドックに、ルートノードを素早く追加するための選択肢がいくつか表示されます。 2D シーンNode2D ノードを追加し、 3D シーンNode3D ノードを追加し、 ユーザーインターフェースControl ノードを追加します。これらのプリセットは便宜上用意されており、必ずしもこのボタンを使わなければならないというわけではありません。 その他のノード では、任意のノードをルートノードとして選択できます。空のシーンでは、 その他のノード は、シーンドックの左上にある 子ノードを追加 ボタンを押すのと同じで、通常、現在選択されているノードの子として新しいノードを追加します。

ここでは、Label ノードを1つシーンに追加します。このノードの役割は、スクリーンにテキストを描くことです。

子ノードを追加 ボタンまたは その他のノード を押してルートノードを作成します。

../../_images/nodes_and_scenes_02_scene_dock.webp

ノードを新規作成 ダイアログが開き、利用可能なノードの長いリストが表示されます。

../../_images/nodes_and_scenes_03_create_node_window.webp

Labelノードを選択します。名前を入力して、リストを絞り込むことができます。

../../_images/nodes_and_scenes_04_create_label_window.webp

Labelノードをクリックして選択し、ウィンドウの下部にある 作成 ボタンをクリックします。

../../_images/nodes_and_scenes_05_editor_with_label.webp

シーンの最初のノードを追加すると、多くのことが起こります。[Label]が 2D ノード タイプであるため、シーンは 2D ワークスペースに変わります。ビューポートの左上隅に[Label]が表示されます。ノードは左側のシーン ドックに表示され、ノードのプロパティは右側のインスペクター ドックに表示されます。

ノードのプロパティの変更

次のステップは Label の Text プロパティを変更することです。「Hello world」に変えてみましょう。

ビューポートの右側にあるインスペクターを確認します。 Text プロパティの下の入力フィールドをクリックし「Hello World」と入力します。

../../_images/nodes_and_scenes_06_label_text.webp

入力すると、ビューポートにテキストが描画されるのがわかります。

参考

Text プロパティで行ったように、インスペクターに表示されたプロパティを編集することができます。インスペクター ドックの詳細なリファレンスについては Inspector Dock をご覧ください。

ビューポート内のLabelノードを移動するには、ツールバーの移動ツールを選択します。

../../_images/nodes_and_scenes_07_move_tool.webp

クリックアンドドラッグで選択した [Label] を、ビューポート内の任意の場所に動かせるので、長方形で区切られたビューの中心に移動させます。

../../_images/nodes_and_scenes_08_hello_world_text.webp

シーンの実行

シーンを実行する準備が整いました。画面の右上にある 現在のシーンを実行 ボタンを押すか、 F6 (macOS の場合は Cmd + R) を押してください。

../../_images/nodes_and_scenes_09_play_scene_button.webp

シーンを実行するには保存が必要です。ポップアップが表示され、シーンの保存を促すメッセージが表示されます。ファイルブラウザの 保存 ボタンをクリックして、 label.tscn という名前で保存してください。

../../_images/nodes_and_scenes_10_save_scene_as.webp

注釈

名前を付けてシーンを保存 ダイアログは、エディタ内の他のファイルダイアログと同様に、プロジェクト内のファイルのみを保存できます。ウィンドウ上部の res:// パスはプロジェクトのルートディレクトリを表し、「リソースパス」を意味します。Godotのファイルパスの詳細については、ファイルシステム をご覧ください。

アプリケーションが新しいウィンドウで開き、"Hello World"のテキストが表示されるはずです。

../../_images/nodes_and_scenes_11_final_result.webp

ウィンドウを閉じるか、 F8`(macOS では :kbd:`Cmd + .)を押すと、実行中のシーンを終了します。

メイン シーンの設定

To run our test scene, we used the Run Current Scene button. Another button next to it, Run Project, allows you to set and run the project's main scene. You can also press F5 (Cmd + B on macOS) to do so.

../../_images/nodes_and_scenes_12_play_button.webp

注釈

プロジェクトの メインシーン を実行するのは 現在のシーン を実行するのとは異なります。予期せぬ動作をした場合は、正しいシーンを実行しているか確認してください。

ポップアップウィンドウが表示され、メインシーンを選択するように促されます。

../../_images/nodes_and_scenes_13_main_scene_popup.webp

Click the Select button, and in the file dialog that appears, double click on label.tscn.

../../_images/nodes_and_scenes_14_select_main_scene.webp

デモが再び実行されるはずです。今後、プロジェクトを実行するたびに、Godot はこのシーンを開始点として使用します。

注釈

The editor saves the main scene's path in a project.godot file in your project's directory. While you can edit this text file directly to change project settings, you can also use the Project > Project Settings window to do so. For more information, see プロジェクト設定.

次のパートでは、ゲームとGodotのもう1つの重要な概念、シーンのインスタンスの作成について説明します。