シーンとカメラ

シーン

シーンはこんな感じ
CSGで床とスロープを作り、GridMapで緑の部分を作った。
Kenneyさんのアセットだとキャラと比べると少し小さいので3倍にしてGridのセルは3mにしてある。
樹木や草などのオブジェクトは単体でノードにして配置する。

それと非表示にしてあるけど、段差から落ちないようにCSGで壁を配置している。
Collisionが設定されていれば非表示でも衝突すると止まる。

カメラ

カメラはシーンに配置して適当な位置に置いてキャラの動きを見る
キャラを追従するスクリプトは以下

extends Camera3D

@export var lerp_speed = 3.0
@export var target: Node3D
@export var offset = Vector3.ZERO

func _physics_process(_delta):
	if !target:
		return

	var target_xform = target.global_transform.translated_local(offset)
	global_transform = global_transform.interpolate_with(target_xform, lerp_speed * _delta)

	look_at(target.global_transform.origin, target.transform.basis.y)

https://kidscancode.org/godot_recipes/4.x/3d/interpolated_camera/index.html

上の画像でoffsetとなっている箇所が実際の表示アングルになる。
キャラからオフセット分離れて追従する
LerpSpeedはカメラの動きだが、3.0だと酔いそうなので10.0

コメントを残す 0

Your email address will not be published. Required fields are marked *