its better now*= decline

This commit is contained in:
Ententerminator 2020-02-01 11:27:04 +01:00
parent e1789160d4
commit 3a7febe17a

View File

@ -1,32 +1,48 @@
extends Spatial extends Spatial
const ROT_MOD = 10 const ROT_MOD = 500
const ROT_DECLINE = 0.1
var _viewRot = false var _viewRot = false
var _prev_mouse_pos var _prev_mouse_pos
var _velx = 0
var _vely = 0
var _torso : RigidBody
# Called when the node enters the scene tree for the first time. # Called when the node enters the scene tree for the first time.
func _ready(): func _ready():
PhysicsServer.area_set_param(get_viewport().find_world().get_space(), PhysicsServer.AREA_PARAM_GRAVITY, 0) PhysicsServer.area_set_param(get_viewport().find_world().get_space(), PhysicsServer.AREA_PARAM_GRAVITY, 0)
_torso = get_node("Torso")
func _process(delta):
func _physics_process(delta):
if _viewRot: if _viewRot:
var mouse_pos = get_viewport().get_mouse_position() var mouse_pos = get_viewport().get_mouse_position()
var x_dif = mouse_pos.x - _prev_mouse_pos.x _velx = (mouse_pos.x - _prev_mouse_pos.x) * delta
var y_dif = mouse_pos.y - _prev_mouse_pos.y _vely = (mouse_pos.y - _prev_mouse_pos.y) * delta
print (x_dif)
print (y_dif)
rotate_x(x_dif * ROT_MOD * delta * PI/180 - global_transform.basis.get_euler().y)
rotate_y(y_dif * ROT_MOD * delta * PI/180 - global_transform.basis.get_euler().y)
_prev_mouse_pos = mouse_pos _prev_mouse_pos = mouse_pos
if not(_velx < 0.001 and _velx > -0.001) or not(_vely < 0.001 and _vely > -0.001) or _viewRot:
_torso.rotate_x(_vely * ROT_MOD * delta * PI/180 - global_transform.basis.get_euler().x)
_torso.rotate_y(_velx * ROT_MOD * delta * PI/180 - global_transform.basis.get_euler().y)
var decline = (1 - ROT_DECLINE * (delta*100))
if decline > 1:
decline = 1
elif decline < 0:
decline = 0
_velx *= decline
_vely *= decline
func _physics_process(delta):
pass
# Get the camera # Get the camera
#var camera = get_node("GUI/HBoxC/ViewportContainer/Viewport/Camera") #var camera = get_node("GUI/HBoxC/ViewportContainer/Viewport/Camera")