Godot4 AnimatableBody2D で動く地形の作成例1/3

無料・軽快な 2D / 3D 用のゲームエンジン Godot Engine 4 で、AnimatableBody2D ノードなどを使って動く地形を作成する例を紹介します。

パート1では、動く地形に用いる AnimatableBody2D, Polygon2D, CollisionPolygon2D, AnimationPlayer ノードをステージのシーンに追加して、ポリゴンの地形を作成して、アニメーションで変化させる position プロパティトラックを追加します。

※ GodotEngine 4.3 を使用しています。.NET 版ではありません。
※紹介するスクリプトは自己責任でお使いください。

前回の記事

前回は、StaticBody2DCollisionPolygon2DPolygon2D ノード群で、下からジャンプしてのることができるすり抜け床を作成します。

ステージのシーンに動く地形のトップノードを追加

前回以下のようなステージを StaticBody2D, Polygon2D, CollisionPolygon2D ノード群で作成しました。

Godot4 CharacterBody2D のスケルトンコードのジャンプ力を変更した結果

そのステージのシーンに、空中を左右に移動する四角形の「動く地形」を追加します。
「動く地形」は、以下のノード構成です。

ステージのシーンのルートノード右クリックして表示されるメニュー「子ノードを追加」を選択します。

Godot4 動く地形のトップに AnimatableBody2D ノードを作成します.

最初に、「動く地形」ノード群のトップノードの AnimatbleBody2D追加します。
※検索ボックスを用いると探しやすいです。

Godot4 動く地形のトップに AnimatableBody2D ノードを作成します2.

ノードの名前は MovingTerrain に変更します。
※ノードの名前を変えるには、ノードを右クリックして表示されるメニュー「名前の変更」を選択します。

Godot4 動く地形のトップに AnimatableBody2D ノードを作成します3.

次に、先ほど紹介した構成の通りに、MovingTerrain ノードの下に子ノードを追加します。

Godot4 動く地形に3つの子ノードを追加します1.

MovingTerrain ノードの下に、CollisionPolygon2D, Polygon2D, AnimationPlayer 子ノードを追加しました。

Godot4 動く地形に3つの子ノードを追加します2.

Polygon2D ノードの表示するポリゴンを設定

作成した子ノードのひとつ、 Polygon2D ノードシーンドックで選択して、 2D ワークスペースで、クリックするとポリゴンの頂点を追加でき、最後に始点をクリックするとポリゴン図形が完成します。
※ 2D ワークスペースはウィンドウ上部で 2D を選択してください。

Godot4 動く地形のPolygon2Dの設定1.

一定間隔で頂点を追加したい場合は、ツールバーのグリッドスナップを有効にすると簡単です。

ポリゴンの作図や、グリッドスナップについては、以下の記事を参照してください。

Godot4 ポリゴンで移動する地形の見た目を作成します。

「動く地形」をわかりやすくするために色を変更します。
表示するポリゴンの色は、 Polygon2D ノードシーンドックで選択して、インスペクタードックの Color プロパティで色を選択すると変えられます。

Godot4 動く地形のPolygon2Dの設定2.

以上で「動く地形」の見た目が完成しました。

「動く地形」ノードが移動するアニメーションを設定

次に「動く地形」ノード全体の位置をアニメーションさせて移動させるために、左右に移動するアニメーション要素を追加して、位置を変更するためのトラックをそのアニメーション要素に追加します。

アニメーションの要素を追加するには、 AnimationPlayer ノードをノードシーンで選択してから、下パネル「アニメーション」の上部の「アニメーション」メニューから「新規」を選択します。

Godot4 動く地形のAnimationPlayerにアニメーションを追加1.

左右に移動させるアニメーション要素の名前は move にしました。

Godot4 動く地形のAnimationPlayerにアニメーションを追加2.

AnimationPlayer ノードに、アニメーション要素 move を追加したら、そのアニメーション要素でアニメーションさせる対象を追加します。

アニメーションさせる対象は、トラック単位で追加します。
下パネル「アニメーション」の左上の「トラックを追加」メニューから、今回はノードの位置を表す Node2D.position プロパティを、プロパティトラックを用いて追加します。

Godot4 動く地形のAnimationPlayerにposition用のプロパティトラックを追加1.

「アニメーションするノードを選択」ダイアログが表示されたら、「動く地形」のトップノードの MovingTerrain ノードを選択して OK ボタンを押します。

Godot4 動く地形のAnimationPlayerにposition用のプロパティトラックを追加2.

引き続き、 MovingTerrain ノードのどのプロパティをアニメーションさせるかを選択します。
今回は左右に移動するために、位置を表す position プロパティを選択して「開く」ボタンを押します。
※検索ボックスを使うと探しやすいです。

Godot4 動く地形のAnimationPlayerにposition用のプロパティトラックを追加3.

「トラックを追加」の下側に、選択した MovingTerrain.position プロパティが、アニメーションで変化させるトラックとして追加されました。
表示されない場合は、下パネル「アニメーション」の下側のフィルターアイコンが有効になっていないか確認してください。

Godot4 動く地形のAnimationPlayerにposition用のプロパティトラックを追加4.

今回はここまで

今回は、無料・軽快な 2D / 3D 用のゲームエンジン Godot Engine 4 で、AnimatableBody2D ノードなどを使って「動く地形」を作成する例のパート1として、「動く地形」に用いる AnimatableBody2D, Polygon2D, CollisionPolygon2D, AnimationPlayer ノードをステージのシーンに追加して、ポリゴンの地形を作成して、アニメーションで変化させるノードの position プロパティトラックを追加しました。

参照サイト Thank You!

記事一覧 → Compota-Soft-Press

コメント

Ads Blocker Image Powered by Code Help Pro

お願い - Ads Blocker Detected

このサイトは広告を掲載して運営しています。

ポップアップを閉じて閲覧できますが、よろしければ

このサイト内の広告を非表示にする拡張機能をオフにしていただけませんか?

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

タイトルとURLをコピーしました