FIXED BULLETHOLE GLITCH

This commit is contained in:
derek
2024-10-02 11:48:53 -05:00
parent f021e3cea4
commit 5d2cd1a13e
5 changed files with 42 additions and 13 deletions

View File

@@ -57,7 +57,10 @@ func _process(delta):
#bullethole effect
ray.get_collider().add_child(instance_bullethole)
instance_bullethole.global_transform.origin = ray.get_collision_point()
instance_bullethole.look_at(ray.get_collision_point() + ray.get_collision_normal(), Vector3.UP)
if (abs(ray.get_collision_normal().y) > 0.99):
instance_bullethole.look_at(ray.get_collision_point() + ray.get_collision_normal(), Vector3(0,0,1))
else:
instance_bullethole.look_at(ray.get_collision_point() + ray.get_collision_normal())
#move rigidbodies
if ray.get_collider().is_in_group("scene_rigidbody"):

View File

@@ -27,16 +27,18 @@ func _ready():
timer.start()
func _physics_process(delta):
if player_follow != null and !pick_up:
despawning = false
position = lerp(position, player.item_holder.global_position, 25 * delta)
if abs(position - player.item_holder.global_position) < Vector3(.5,.5,.5):
await get_tree().create_timer(2).timeout
position = lerp(position, player.camera.global_position, .01 * delta)
await get_tree().create_timer(.01).timeout
picked_up()
if player_follow != null:
if !pick_up:
despawning = false
angular_velocity = lerp(angular_velocity, Vector3(0,0,0), delta)
position = lerp(position, player.item_holder.global_position, 25 * delta)
if abs(position - player.item_holder.global_position) < Vector3(.5,.5,.5):
await get_tree().create_timer(1).timeout
position = lerp(position, player.camera.global_position, .01 * delta)
await get_tree().create_timer(.01).timeout
picked_up()
func picked_up():
player.pickup_sound.pitch_scale = 1 + randf_range(-.3,.3)

View File

@@ -1,8 +1,10 @@
extends CharacterBody3D
const MAX_AIR_DASH = 1
var speed
var double_jump = true
var air_dash = MAX_AIR_DASH
var gravity = 9.8
var is_climbing = false
var ladder_center
@@ -125,6 +127,7 @@ func _physics_process(delta):
velocity.y -= gravity * delta
else:
double_jump = true
air_dash = MAX_AIR_DASH
# Handle jump.
if Input.is_action_just_pressed("jump") and is_on_floor() and !is_climbing:
@@ -140,10 +143,11 @@ func _physics_process(delta):
var direction = (self.transform.basis * Vector3(input_dir.x, 0, input_dir.y)).normalized()
# Handle Sprint
if Input.is_action_just_pressed("sprint") and !is_on_floor():
if remaining_stamina >= DASH_STAM_REQ:
if air_dash > 0:
velocity.x += direction.x * DASH_SPEED
velocity.z += direction.z * DASH_SPEED
remaining_stamina -= 180
air_dash -= 1
print("AIR DASH " +str(air_dash))
if is_on_floor() and !is_climbing:
if direction: