well I almost got it working...I can seem to stop the camera from flying way off of the ship nor does the camera go back to it's original position.
this is the part of the code that I have been working on.
extends RigidBody
var speed = 1
var isshooting = false
var laserCount = 0
var laser = preload("res://assests/models/laser/laser.scn")
var laserArray = []
var delayArray = [Vector3(0,0,0),Vector3(0,0,0), Vector3(0,0,0)]
var camMov = Vector3(0,0,0)
func _ready():
set_fixed_process(true)
set_gravity_scale(0)
func _fixed_process(delta):
if Input.is_key_pressed(KEY_E):
speed = speed + .1
if Input.is_key_pressed(KEY_Q):
speed = speed - .1
if Input.is_key_pressed(KEY_S):
get_node("whole").rotate_x(delta/.8)
if camMov.y > .1:
camMov.y -= .01
else:
camMov.y += .01
elif not camMov.y == 0:
camMov.y -= .01
if Input.is_key_pressed(KEY_W):
get_node("whole").rotate_x(-delta/.8)
if camMov.y > .1:
camMov.y += .01
else:
camMov.y -= .001
elif not camMov.y == 0:
camMov.y += .01
if Input.is_key_pressed(KEY_A):
get_node("whole").rotate_z(delta/.7)
if camMov.x > .1:
camMov.x -= .01
else:
camMov.x += .01
elif not camMov.x == 0:
camMov.x -= .001
if Input.is_key_pressed(KEY_D):
get_node("whole").rotate_z(-delta/.7)
if camMov.x > .1:
camMov.x += .01
else:
camMov.x -= .01
elif not camMov.x == 0:
camMov.x += .01
if speed > 10:
speed = 10
get_node("whole/ship").translate(Vector3(0,0,delta*speed))
delayArray.push_back(Vector3(0,0,-delta*speed) + Vector3(camMov))
get_node("whole/Camera").translate(Vector3(delayArray[0]))
delayArray.pop_front()
If you have any ideas just let me know.