more tweaks, not perfect but way better than before
This commit is contained in:
@@ -65,7 +65,7 @@ func rotate_to_face2D(object,target,target_offset_angle,delta,turn_speed):
|
||||
var direction = (pos2d - target_pos2d)
|
||||
return lerp_angle(object.global_rotation.y,atan2(direction.x,direction.y) + deg_to_rad(target_offset_angle),delta * turn_speed)
|
||||
|
||||
func rotate_to_face3D(object,target,delta,turn_speed):
|
||||
func rotate_to_face3D(object : Node3D,target,target_offset_angle : Vector3,delta : float,turn_speed : float):
|
||||
if target == null:
|
||||
return
|
||||
|
||||
@@ -80,9 +80,9 @@ func rotate_to_face3D(object,target,delta,turn_speed):
|
||||
var current_rotation = object.global_rotation
|
||||
|
||||
#Interpolate each axis
|
||||
current_rotation.x = lerp_angle(current_rotation.x,desired_rotation.x,delta * turn_speed)
|
||||
current_rotation.y = lerp_angle(current_rotation.y,desired_rotation.y,delta * turn_speed)
|
||||
current_rotation.z = lerp_angle(current_rotation.z,desired_rotation.z,delta * turn_speed)
|
||||
current_rotation.x = lerp_angle(current_rotation.x,desired_rotation.x + target_offset_angle.x,delta * turn_speed)
|
||||
current_rotation.y = lerp_angle(current_rotation.y,desired_rotation.y + target_offset_angle.y,delta * turn_speed)
|
||||
current_rotation.z = lerp_angle(current_rotation.z,desired_rotation.z + target_offset_angle.z,delta * turn_speed)
|
||||
|
||||
#clamp pitch
|
||||
var max_downward_pitch = deg_to_rad(85)
|
||||
@@ -106,8 +106,11 @@ func velocity_computed(safe_velocity):
|
||||
func turret_look2D(delta):
|
||||
enemy.turret_look.global_rotation.y = rotate_to_face2D(enemy.turret_look,look_target,0,delta,turret_speed)
|
||||
|
||||
func turret_scan(target_offset : Vector3,delta):
|
||||
rotate_to_face3D(enemy.turret_look,look_target,target_offset,delta,turret_speed)
|
||||
|
||||
func turret_look3D(delta):
|
||||
rotate_to_face3D(enemy.turret_look,look_target,delta,turret_speed)
|
||||
rotate_to_face3D(enemy.turret_look,look_target,Vector3.ZERO,delta,turret_speed)
|
||||
|
||||
func turret_scan_look(target,scan_direction,delta):
|
||||
enemy.turret_look.global_rotation.y = rotate_to_face2D(enemy.turret_look,target,scan_direction,delta,turret_speed)
|
||||
|
||||
Reference in New Issue
Block a user