mieki256's diary



2020/11/14() [n年前の日記]

#3 [godot] Godot Engineで背景シーンを作成

Godot Engine 3.2.3 x64 を使って3D表示の簡単なシューティングゲームっぽいものを作る。

今回は背景(BG)に相当するシーンを仮で作って表示してみる。

BGシーンを作成。 :

以下のようなシーンを作って、res://assets/ 以下に Bg.tscn として保存する。

3d_tuto05_add_bg_ss01.png

ルートノードとして Spatialノードを置いて、その下に Spatialノード(BgModelというノード名に変更)や MeshInstance ノードを追加して作成。あくまで仮なので、形状や配置はテキトーでいい。

ただ、スクロールモドキの処理を入れたいので…。
  • ルートノード(Bg)の下に BgModel という名前の Spatial を作成して、その中に全体を入れておく。
  • z軸方向にパターン(?)が繰り返すような形にしておく。
Bg (Spatial)
│
└─ BgModel (Spatial)
       │
       ├─ Spatial1
       ├─ Spatial2 (Spatial1 を複製)
       └─ Spatial3 (Spatial1 を複製)

Spatial1 の下に MeshInstance を置きまくって、ある程度それらしい形になったら、その Spatial1 を右クリック → 複製して、複製後の Spatial のz値だけをずらしてやれば、パターンを繰り返しているような見た目にできる。

Mainシーンを開いて、Bgシーンのインスタンスを追加。

3d_tuto05_add_bg_ss02.png


Bg の位置を調整。テンキーの5キーを押すと平行投影と透視投影の切り替え、テンキーの3キーを押すと右側面表示になるので、側面を表示しながら調整すれば作業がしやすい。あるいは、右上の「x」と書かれた赤丸をクリックしても側面図になる。

3d_tuto05_add_bg_ss03.png


スクリプトファイル res://scripts/Bg.gd を追加してスクリプトを記述。

3d_tuto05_add_bg_ss04.png

スクリプトの内容は以下。

_Bg.gd
extends Spatial

export var scroll_speed = 30
export var limit_z = 40
export var add_z = -40

func _ready():
    pass # Replace with function body.

func _process(delta):
    $BgModel.translation.z += scroll_speed * delta
    if $BgModel.translation.z >= limit_z:
        $BgModel.translation.z += add_z

_process(delta) が呼ばれるたびに、BgModel のz座標を変化させて、ある程度変化したら座標を巻き戻す(?)ようにしている。

Mainシーンを開いて、F6キーを押して動作確認。



スクロールしているような感じで動いてくれた。

カメラからの見た目を確認。 :

Godot Engine では、画面左上の「プレビュー」という項目にチェックを入れると、カメラからの見え方を確認できる。

Camera ノードを選択。画面左上に「プレビュー」という項目が表示されるのでチェックを入れる。

3d_tuto05_add_bg_ss06.png


3Dウインドウ上の見た目が、カメラからの見た目になった。

3d_tuto05_add_bg_ss07.png

この状態で、カメラの位置や角度、Bgの位置を調整すれば作業が楽。

次回はプレイヤーキャラから弾を撃ってみる。

以上です。

過去ログ表示

Prev - 2020/11 - Next
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project