俺に解るように説明する "Godot Engine 3.x" 入門+

ゲームエンジン Godot Engine に関すること。入門とか使い方とかチュートリアルとか、あれとかこれとか。日本語解説。

"Godot Engine" エアホッケー Part5 もうちょっと準備...シーンパネル

シーンパネルで適当にノードを追加してしまうと、めちゃくちゃなツリー構造になってしまう。ノードを追加する時の基本ルールと、ノードの移動の仕方を押さえておこうと思う。目標としては、写真のようにノードを並べてくれ、と言われてサクッと出来るようになることだ。

f:id:ore2wakaru:20170808130459p:plain

ノードの追加

シーンにノードが1つもない場合は、ルートノードを追加する。ルートノードは、ツリー構造の起点なので、ひとつしか置くとこは出来ない。「1シーン、1ルートノード」という厳格なルールがある。

f:id:ore2wakaru:20170808091459p:plain

ノードが1つでもあれば、選択されているノードのとして追加される。親子関係が形成される。

f:id:ore2wakaru:20170808092431p:plain

選択したノードに既に子ノードがあれば、次男として追加される。次男が長男と同じ名前であった場合は、Godot が勝手に末尾に数字を付る。元々あったノードとは兄弟関係となる。

f:id:ore2wakaru:20170808093216p:plain

さらに追加していけば、三男、四男・・・と兄弟が増えていく。兄弟で同じ名前を持てないのは、人間でも同じだす。

ノードの移動

追加する時、間違っちゃった場合は、移動させよう。ドラッグ&ドロップ(D&D)。あるノードの子にしたい場合は、目的のノードの上にD&Dする。移動先が四角に囲われたら、そのノードの子に出来る合図。(四角 > 親子)

f:id:ore2wakaru:20170808094920p:plain

兄弟関係の移動もD&Dで、ノードとノードの間にもっていく。行先に横線が入ったら、兄弟関係の移動が出来る合図。(線 > 兄弟)

f:id:ore2wakaru:20170808095807p:plain

ルートノードだけは移動させることは出来ない。よく考えて設置しよう。

ノードの削除

[Delete] キー。ルートノードを削除すると全部消えちゃう。慎重に。

ノードの選択

普通にクリック。また、エクスプローラー同様、[Ctrl] + クリック で複数選択、[Shift] + クリック で範囲選択が出来るので、一気に移動や削除が出来る。

ノードの名前

選択されているノードならクリックで、選択されていないノードならダブルクリックで、名前変えられます(ショートカットは [F2])。お好きな名前に変えてもいいとも思いますが、アイコンとノードのタイプが一致しないうちは、変えない方がイイかも。あれ? このノード、なんだっけ? となってしまったら、色から絞って探しましょう。

日本人的に考えると不思議なのですが、親子ノードで名前が同じなのはOKです。Godot が処理する時に何の障害もありません。しかし、兄弟ノードで同じ名前は付けられません。明確に区別してください。親が違えば同じ名前でもOKです。おそらく、パスで判断しているのではと思います。

  • 親の本名:   「Label」
    • 長男の本名: 「Label/Label」
    • 次男の本名: 「Label/Label2」

みたいな長い名前で区別してる?

右クリメニュー

シーンパネルに表示されているノードの上で右クリックすると、メニューが出てくる(右クリメニュー)。上で述べた事と関連が深い項目もあるので、簡潔に説明しておこうと思う。

f:id:ore2wakaru:20170808112728p:plain

  1. “Add Child Node": 選択したノードに子ノードを追加する。普通の追加方法 [+]
  2. “Instance Child Scene": シーンを追加する。シーンのインスタンス化。詳しくは後程。
  3. “Change Type": ノードのタイプを変える。ラベルノードをパネルノードとかにしちゃう。ルートノードは移動できないし、安易には消せないので、最悪これで、ノードのタイプを変えて対処。
  4. “Attach Script": ノードにスクリプトを追加する。スクリプトに関しては後程。
  5. “Clear Script": ノードに付いているスクリプトを外す。
  6. “Move Up": 兄弟ノードの中で、長男側に移動させる。D&Dで出来る。
  7. “Move Down": 兄弟ノードの中で、末っ子側に移動させる。D&Dで出来る。
  8. “Duplicate": ノードを複製する。
  9. “Reparent": D&Dで親ノードを変えるのと同じ。
  10. “Merge From Scene": 謎 シーンからノードを持ってきてくっつける?
  11. “Save Branch as Scene": 謎 ノードをシーンとして登録する? 
  12. “Copy Node Path": 謎 ツリー構造上のパスをコピーするぽい。一応、テキストエディタにペーストしてみると分かります。ルートは”.“?
  13. “Delete Node(s)": 削除!


これだけ覚えておけば、自由自在にシーンパネル上でノードを配置できるハズ。もうゲームに最適なツリー構造の構築ができる訳だ。試しにトップ画像のように並べてみてくれ。配置だけはプロレベル。やったね!

かなり前準備が長かったように思うが、やっと、次回は、エアホッケーゲームのスタート画面が作れるような気が・・・する・・・ような・・・しないような・・・。頑張れ、俺。