補間カメラ
課題
対象物を滑らかに追従できる3Dカメラが必要となります(補間機能が必要となります)。
解決策
情報
Godotに標準搭載されているInterpolatedCameraノードは非推奨となっており、Godot 4.0リリース時に廃止される予定です。
以下のスクリプトをシーン内のCamera3Dノードにアタッチしてください。3つのexportプロパティにより、以下のように選択できます。
lerp_speed- カメラの移動速度。値を小さくすると「動きが鈍い」印象になりますtarget- カメラのターゲットノードを選択しますoffset- ターゲットに対するカメラの相対位置設定です
以下に、実際にカメラを使用した例をご紹介します。
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)
_physics_process()関数内では、カメラの位置をtargetの位置(と、offsetを加算した値)に補間します。
使用例
lerp_speed: 3.0offset: (0, 7, 5)