Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
Godotのキーコンセプトの概要
すべてのゲームエンジンは、アプリケーションを作成するための抽象的な概念を軸に構築されています。Godotでは、ゲームは シーン のなかにグループ化されている ノード の ツリー で表されます。これらのノード同士はつなぐことができ、シグナル を使ってお互いに交信できます。
ここで学習できるコンセプトは4つあります。それらを大まかに見ていきながら、エンジンがどのように動くのかの感覚をつかんでいきましょう。入門シリーズでは、実際にそれらを使っていきます。
シーン
In Godot, you break down your game into reusable scenes. A scene can be a character, a weapon, a menu in the user interface, a single house, an entire level, or anything you can think of. Godot's scenes are flexible; they fill the role of both prefabs and scenes in some other game engines.
シーンを入れ子にすることもできます。たとえば、キャラクターをレベルに配置するために、キャラクターシーンをレベルシーンの子としてドラッグアンドドロップできます。
ノード
シーンは一つ以上の ノード で構成されています。ノードはゲームを構成する最小ブロックで、ツリー型に配置することが出来ます。キャラクターのノードはこのようになります。
このシーンは「Player」という名前にした CharacterBody2D ノードと、 Sprite2D 、 Camera2D 、 CollisionShape2D で構成されています。
注釈
ここでは2Dシーンなので、ノードの名前は末尾に「2D」が付きます。3D部分で使用するノードは名前が「3D」で終わります。Godot 4 以降、「空間」ノードは「Node3D」と呼ばれるようになったことに注意してください。
ノードとシーンはエディタでは同じように見えることに注意してください。ノードツリーはシーンとして保存されると単体のノードのように見えるようになり、エディタからは内部構造が見えなくなります。
Godot provides an extensive library of base node types you can combine and extend to build more powerful ones. You'll use these nodes for most things you build, whether that's 2D, 3D, or UI.
シーンツリー
ゲームシーンは、1つの シーンツリー (文字通りシーンの木構造)に収められます。シーンがノードのツリーで出来ているように、シーンツリーもノードのツリーで出来ています。シーンはゲームの中で、キャラクタ・武器・ドア・UIを表す事ができるもの、と考えるとわかりやすいでしょう。
シグナル
ノードはなにかイベントが発生すると、シグナルを発信します。この仕組みはノード同士がコードで密結合することなく、やり取りすることを可能にし、シーンの構築に柔軟さをもたらします。
注釈
シグナルは、Observer パターンの Godot バージョンです。Observerの詳細については、ここで読むことができます(英語): http://gameprogrammingpatterns.com/observer.html
例えば、ボタンが押されたときシグナルが発信されます。このシグナルに接続することで、(ボタンを押したという)イベントへの反応として、ゲームの開始やメニューを開く処理を実行することができるようになります。
他の組み込み済みのシグナルでは2つのオブジェクトの接触や、キャラクターやモンスターが一定のエリアに侵入したりといったことを通知することが出来ます。あなたのゲームに合わせた独自のシグナルを定義することも出来ます。
要約
ノード、シーン、シーンツリー、シグナルは Godot において 4 つの中核となる概念で、常に操作することになります。
ノードはゲームを構成する最小ブロックです。それらを組み合わせてシーンを作り、シーンツリーの中に入れ子にしていきます。シーンツリーの別の枝葉のノードへイベントに反応させるために、シグナルを使うことが出来ます。
After this short breakdown, you probably have many questions. Bear with us as you will get many answers throughout the Getting Started series.