fixed death cam fov and added damage numbers

This commit is contained in:
derek
2024-08-07 15:57:48 -05:00
parent 795e1ae7f6
commit fb1dd498b4
12 changed files with 258 additions and 46 deletions

View File

@@ -9,8 +9,12 @@ extends Node3D
@onready var camera = $Camera3D
@onready var timer = $Timer
@onready var level_control = get_tree().current_scene
@onready var whiteout = $Whiteout
@onready var animation_player = $AnimationPlayer
var focus_dist
var target : Node
var focus_target
var respawn_position
var respawn_rotation
var respawn_fov
@@ -19,35 +23,52 @@ var respawn = false
# Called when the node enters the scene tree for the first time.
func _ready():
#set FOV
camera.fov = respawn_fov
#start timer
timer.start()
for i in target.outline_meshes:
print(i)
i.visible = true
#highlight target
if target != null:
for i in target.outline_meshes:
i.visible = true
#set whiteout to size of screen
var viewportWidth = get_viewport().size.x
var viewportHeight = get_viewport().size.y
whiteout.size = Vector2(viewportWidth,viewportHeight)
whiteout.color = Color(1, 1, 1, 0)
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
var focus_dist = camera.global_position.distance_to(target.global_position)
print("focus dist " + str(focus_dist))
if target != null:
focus_dist = camera.global_position.distance_to(target.global_position)
else:
focus_dist = 10.0
camera.attributes.dof_blur_far_distance = focus_dist + 2
camera.attributes.dof_blur_near_distance = focus_dist - 2
if target == null:
respawn = true
# Move towards and look at target
if target != null and respawn == false:
if respawn == false:
#calculate move direction
var target_pos_adjusted = Vector3(target.position.x -2,target.position.y + 4,target.position.z -2)
#camera.fov = lerp(respawn_fov,DEAD_CAM_FOV,delta*100)
var target_pos_adjusted = Vector3(target.position.x -4,target.position.y + 4,target.position.z -4)
position = lerp(position,target_pos_adjusted,delta * MOVE_SPEED)
look_ray.look_at(Vector3(target.global_position), Vector3.UP)
camera.rotation = lerp(camera.rotation,look_ray.rotation,delta * CAMERA_LOOK_SPEED)
camera.fov = lerp(camera.fov, 40.0, delta * 5)
print(camera.fov)
elif respawn == true:
position = lerp(position,respawn_position,delta * MOVE_SPEED)
camera.global_transform.basis = lerp(camera.global_transform.basis,respawn_rotation,delta * CAMERA_LOOK_SPEED)
#camera.fov = lerp(DEAD_CAM_FOV,respawn_fov,delta * FOV_CHANGE_SPEED)
if abs(position.x - respawn_position.x) <=.2:
reload_level()
position = lerp(position,respawn_position,delta * MOVE_SPEED * 1.5)
camera.global_transform.basis = lerp(camera.global_transform.basis,respawn_rotation,delta * CAMERA_LOOK_SPEED * 1.5)
camera.fov = lerp(camera.fov, respawn_fov, delta * 10)
if global_position.distance_to(respawn_position) <= .5:
animation_player.play("whiteout")
if Input.is_action_just_pressed("escape"):
get_tree().quit()