無料・軽快な 2D / 3D 用のゲームエンジン Godot Engine 4 で、StaticBody2D、CollisionPolygon2D、Polygon2D ノード群で作成したポリゴン地形で、下からジャンプしてのることができるすり抜け床を作成します。
キャラクターを動かす CharacterBody2D のジャンプ力の調整も行います。

※ GodotEngine 4.3 を使用しています。.NET 版ではありません。
※紹介するスクリプトは自己責任でお使いください。
前回の記事
前回は、Polygon2D ノードで作ったポリゴンの表示と、当たり判定領域をポリゴンで設定する CollisionPolygon2D ノード間で、位置・角度・拡大率も一致させることで、正しく当たり判定が行えるようにしました。
すり抜け床にするための CollisionPolygon2D の設定
前回追加した地形を空中に移動させて、すり抜け床にします。
CollisionPolygon2D ノードで当たり判定領域を設定している場合は、 One Way Collision プロパティをオンにすることですり抜け床に変えられます。

ジャンプすると下側からすり抜けていますが、ジャンプ力が足りず、飛び乗れていません。
※スペースキーでジャンプ、←→キーで左右に移動できます。

ジャンプ力の変更
CharacterBody2D ノードにスクリプトを新規作成で割り当てた場合、左右の移動とジャンプが実装されたスケルトンコードが作られます。
スクリプトは、ウィンドウ上部の Script ワークスペースを選択した後、CharacterBody2D ノードに割り当てたスクリプト名を選択することで編集できます。
そのスクリプト内にある JUMP_VELOCITY 変数の値を変更することでジャンプ力が変えられます。
ジャンプ力はマイナスの値で設定されていて、マイナス方向に大きい値を設定するほどジャンプ力も増えます。

今回は、既定値の -400.0 から -700.0 にジャンプ力を増やしました。
#const JUMP_VELOCITY = -400.0 # デフォルトのジャンプ力
const JUMP_VELOCITY = -700.0 # 増やしたジャンプ力
テスト
ステージのシーンを選択して F6 キーでシーンを再生すると、ジャンプ力が増えて、すり抜け床に下からジャンプして飛び乗ることができました。
※スペースキーでジャンプ、←→キーで左右に移動できます。


まとめ
今回は、無料・軽快な 2D / 3D 用のゲームエンジン Godot Engine 4 で、StaticBody2D、CollisionPolygon2D、Polygon2D ノード群で作成したポリゴン地形で、下からジャンプしてのることができるすり抜け床を作成しました。
キャラクターを動かす CharacterBody2D のジャンプ力の調整も行いました。
参照サイト Thank You!
- Godot Engine – Free and open source 2D and 3D game engine
- Node2D — Godot Engine (4.x)の日本語のドキュメント
- StaticBody2D — Godot Engine (4.x)の日本語のドキュメント
- Polygon2D — Godot Engine (4.x)の日本語のドキュメント
- CollisionPolygon2D — Godot Engine (4.x)の日本語のドキュメント
- Using CharacterBody2D/3D — Godot Engine (4.x)の日本語のドキュメント
- CharacterBody2D — Godot Engine (4.x)の日本語のドキュメント
- Sprite2D — Godot Engine (4.x)の日本語のドキュメント
- CollisionShape2D — Godot Engine (4.x)の日本語のドキュメント
記事一覧 → Compota-Soft-Press
コメント