game: add bullet and impacts

This commit is contained in:
2025-08-15 04:08:08 +02:00
parent 4ccc962e34
commit 3d54d70e44
19 changed files with 411 additions and 10 deletions

View File

@@ -9,6 +9,8 @@ const FOV_LERP = 0.2
var gravity = ProjectSettings.get_setting("physics/3d/default_gravity")
var bullet = load("res://bullet.tscn")
@onready var head = $Head
@onready var camera = $Head/PlayerCamera
@onready var player_debug = $Head/PlayerCamera/PlayerDebug
@@ -94,10 +96,9 @@ func play_shoot_effect():
muzzle_flash.restart()
muzzle_flash.emitting = true
var collider = pistol_raycast.get_collider()
var col_point = pistol_raycast.get_collision_point()
if col_point and collider:
var b = bullet_decal.instantiate()
pistol_raycast.get_collider().add_child(b)
b.global_transform.origin = col_point
b.look_at(col_point + pistol_raycast.get_collision_normal(), Vector3.UP)
var parent = get_parent()
if parent:
var instance: Node3D = bullet.instantiate()
instance.position = pistol_raycast.global_position
instance.transform.basis = pistol_raycast.global_transform.basis
parent.add_child(instance)