mirror of
https://gitlab.com/open-fpsz/open-fpsz.git
synced 2026-01-19 19:44:46 +00:00
Fix explosion impulses to apply against the rigidbody's center of mass
This commit is contained in:
parent
cf7796bf48
commit
2667830183
|
|
@ -20,7 +20,8 @@ class_name ExplosiveDamageComponent extends Area3D
|
|||
func _physics_process(_delta : float) -> void:
|
||||
for body in get_overlapping_bodies():
|
||||
if body is RigidBody3D:
|
||||
var direction : Vector3 = (body.global_position - global_position).normalized()
|
||||
var center_of_mass_global_position : Vector3 = body.center_of_mass + body.global_position
|
||||
var direction : Vector3 = ( center_of_mass_global_position - global_position).normalized()
|
||||
body.apply_central_impulse(direction * impulse_force)
|
||||
|
||||
for area in get_overlapping_areas():
|
||||
|
|
|
|||
|
|
@ -28,6 +28,8 @@ axis_lock_angular_y = true
|
|||
axis_lock_angular_z = true
|
||||
mass = 40.0
|
||||
physics_material_override = SubResource("PhysicsMaterial_4ymrw")
|
||||
center_of_mass_mode = 1
|
||||
center_of_mass = Vector3(0, 0.5, 0)
|
||||
continuous_cd = true
|
||||
script = ExtResource("1_y7d3d")
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue