Make camera follow player by lerping towards their transform

This commit is contained in:
karl 2021-06-07 23:16:02 +02:00
parent a9d2afa576
commit c4e71b27c3
2 changed files with 23 additions and 6 deletions

11
LerpedFollow.gd Normal file
View File

@ -0,0 +1,11 @@
extends Spatial
export(NodePath) var target_node
onready var target = get_node(target_node)
export(float) var lerp_factor = 0.5
func _physics_process(delta):
transform = transform.interpolate_with(target.transform, lerp_factor)

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=24 format=2]
[gd_scene load_steps=25 format=2]
[ext_resource path="res://Player.gd" type="Script" id=1]
[ext_resource path="res://Planets.gd" type="Script" id=2]
@ -10,6 +10,7 @@
[ext_resource path="res://Materials/PerlinPlanetShader.shader" type="Shader" id=8]
[ext_resource path="res://Resources/gas_planet_flowmap.png" type="Texture" id=9]
[ext_resource path="res://Resources/gas_planet_base.png" type="Texture" id=10]
[ext_resource path="res://LerpedFollow.gd" type="Script" id=11]
[sub_resource type="CubeMesh" id=1]
size = Vector3( 4, 0.5, 4 )
@ -179,6 +180,16 @@ material/0 = SubResource( 15 )
[node name="CollisionShape" type="CollisionShape" parent="Planets/Saturn"]
shape = SubResource( 9 )
[node name="LerpedFollow" type="Spatial" parent="."]
script = ExtResource( 11 )
target_node = NodePath("../Player")
lerp_factor = 0.1
[node name="LerpedCamera" type="Camera" parent="LerpedFollow"]
transform = Transform( 1, 0, 0, 0, 0.866025, 0.5, 0, -0.5, 0.866025, 0, 14.5858, 21.6274 )
fov = 75.0
far = 500.0
[node name="Player" type="KinematicBody" parent="."]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, 0 )
script = ExtResource( 1 )
@ -193,11 +204,6 @@ material/0 = null
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0 )
shape = SubResource( 11 )
[node name="Camera" type="Camera" parent="Player"]
transform = Transform( 1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 14, 20 )
fov = 75.0
far = 500.0
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
environment = SubResource( 12 )