diff --git a/LerpedFollow.gd b/LerpedFollow.gd new file mode 100644 index 0000000..078e581 --- /dev/null +++ b/LerpedFollow.gd @@ -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) diff --git a/World.tscn b/World.tscn index 55170be..4803bab 100644 --- a/World.tscn +++ b/World.tscn @@ -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 )