35 lines
1,002 B
GDScript
35 lines
1,002 B
GDScript
extends CharacterMovementComponent
|
|
class_name AI
|
|
|
|
|
|
var h_rotation :float
|
|
var v_rotation :float
|
|
|
|
var direction := Vector3.FORWARD
|
|
|
|
var Previousrotation_mode
|
|
func _ready():
|
|
super._ready()
|
|
|
|
|
|
func _physics_process(delta):
|
|
super._physics_process(delta)
|
|
|
|
|
|
#------------------ Input Movement ------------------#
|
|
h_rotation = $CameraRoot.HObject.transform.basis.get_euler().y
|
|
v_rotation = $CameraRoot.VObject.transform.basis.get_euler().x
|
|
|
|
|
|
add_movement_input(Vector3(0.0,0.0,1.0), current_movement_data.walk_speed,current_movement_data.walk_acceleration)
|
|
|
|
#------------------ Look At ------------------#
|
|
match rotation_mode:
|
|
Global.rotation_mode.velocity_direction:
|
|
if input_is_moving:
|
|
ik_look_at(actual_velocity + Vector3(0.0,1.0,0.0))
|
|
Global.rotation_mode.looking_direction:
|
|
ik_look_at(-$CameraRoot/SpringArm3D.transform.basis.z * 2.0 + Vector3(0.0,1.5,0.0))
|
|
Global.rotation_mode.aiming:
|
|
ik_look_at(-$CameraRoot/SpringArm3D.transform.basis.z * 2.0 + Vector3(0.0,1.5,0.0))
|
|
|