continued work on attack
This commit is contained in:
@@ -9,7 +9,7 @@ func Physics_Update(delta):
|
|||||||
update_player_target()
|
update_player_target()
|
||||||
#move and look at location
|
#move and look at location
|
||||||
move_to_nav_point(delta)
|
move_to_nav_point(delta)
|
||||||
turret_look2D(delta)
|
turret_look3D(delta)
|
||||||
else:
|
else:
|
||||||
Transitioned.emit(self,"idle") #when search is working make this search
|
Transitioned.emit(self,"idle") #when search is working make this search
|
||||||
|
|
||||||
|
|||||||
@@ -65,7 +65,7 @@ func rotate_to_face2D(object,target,target_offset_angle,delta,turn_speed):
|
|||||||
var direction = (pos2d - target_pos2d)
|
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)
|
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,target_offset_angle,delta,turn_speed):
|
func rotate_to_face3D(object,target,delta,turn_speed):
|
||||||
#to allow both nodes and positions to be passed to this function, test the target and use Vector3 coords
|
#to allow both nodes and positions to be passed to this function, test the target and use Vector3 coords
|
||||||
var target_transformed
|
var target_transformed
|
||||||
if target == null:
|
if target == null:
|
||||||
@@ -75,7 +75,20 @@ func rotate_to_face3D(object,target,target_offset_angle,delta,turn_speed):
|
|||||||
elif target is Node3D:
|
elif target is Node3D:
|
||||||
target_transformed = target.global_position
|
target_transformed = target.global_position
|
||||||
|
|
||||||
|
var y_pos = Vector2(object.global_position.x,object.global_position.z)
|
||||||
|
var y_target_pos = Vector2(target_transformed.x,target_transformed.z)
|
||||||
|
var y_direction = (y_pos - y_target_pos)
|
||||||
|
var y_angle = atan2(y_direction.x,y_direction.y)
|
||||||
|
|
||||||
|
var x_pos = Vector2(object.global_position.y,object.global_position.z)
|
||||||
|
var x_target_pos = Vector2(target_transformed.y,target_transformed.z)
|
||||||
|
var x_direction = (x_pos - x_target_pos)
|
||||||
|
var x_angle = atan2(x_direction.x,x_direction.y)
|
||||||
|
|
||||||
|
#object.global_rotation.y = lerp_angle(object.global_rotation.y,y_angle,delta * turn_speed)
|
||||||
|
object.global_rotation.x = lerp_angle(object.global_rotation.x,x_angle,delta * turn_speed)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
func move_to_nav_point(delta):
|
func move_to_nav_point(delta):
|
||||||
var destination = enemy.nav_agent.get_next_path_position()
|
var destination = enemy.nav_agent.get_next_path_position()
|
||||||
@@ -91,7 +104,9 @@ func velocity_computed(safe_velocity):
|
|||||||
|
|
||||||
func turret_look2D(delta):
|
func turret_look2D(delta):
|
||||||
enemy.turret_look.global_rotation.y = rotate_to_face2D(enemy.turret_look,look_target,0,delta,turret_speed)
|
enemy.turret_look.global_rotation.y = rotate_to_face2D(enemy.turret_look,look_target,0,delta,turret_speed)
|
||||||
|
|
||||||
|
func turret_look3D(delta):
|
||||||
|
rotate_to_face3D(enemy.turret_look,look_target,delta,turret_speed)
|
||||||
|
|
||||||
func turret_scan_look(target,scan_direction,delta):
|
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)
|
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