Fun with the body angular velocity things
This commit is contained in:
parent
c4e4bdf5a7
commit
d69a5c0c97
@ -31,9 +31,6 @@ func _physics_process(delta):
|
|||||||
apply_torque_impulse(rot_vector * current_angle * 7)
|
apply_torque_impulse(rot_vector * current_angle * 7)
|
||||||
apply_impulse(transform.basis.xform(Vector3.ZERO), -(transform.basis.y) * 0.05)
|
apply_impulse(transform.basis.xform(Vector3.ZERO), -(transform.basis.y) * 0.05)
|
||||||
|
|
||||||
if current_angle < 0.1:
|
# if current_angle < 0.1:
|
||||||
angular_velocity = Vector3.ZERO
|
# angular_velocity.x = 0
|
||||||
|
|
||||||
for axis in angular_velocity:
|
|
||||||
if axis > 10:
|
|
||||||
axis -= axis * 0.75
|
|
||||||
|
@ -16,6 +16,7 @@ mass = 1.73469
|
|||||||
gravity_scale = 1.5
|
gravity_scale = 1.5
|
||||||
contacts_reported = 5
|
contacts_reported = 5
|
||||||
contact_monitor = true
|
contact_monitor = true
|
||||||
|
angular_damp = 0.5
|
||||||
script = ExtResource( 1 )
|
script = ExtResource( 1 )
|
||||||
|
|
||||||
[node name="TorsoCollider" type="CollisionShape" parent="."]
|
[node name="TorsoCollider" type="CollisionShape" parent="."]
|
||||||
|
@ -19,7 +19,7 @@ func _is_animation_playing():
|
|||||||
|
|
||||||
func push(body):
|
func push(body):
|
||||||
# We multiply by 0.1 because we only want it to spin slightly, it should mostly go up
|
# We multiply by 0.1 because we only want it to spin slightly, it should mostly go up
|
||||||
var offset = transform.basis.xform(Vector3.ZERO) #transform.basis.xform(touch_area.global_transform.origin - base.global_transform.origin) * 0.5
|
var offset = transform.basis.xform(-touch_area.global_transform.origin + base.global_transform.origin) * 0.1
|
||||||
var direction = (base.transform.basis.y - base.transform.basis.z).normalized() * 20.0
|
var direction = (base.transform.basis.y - base.transform.basis.z).normalized() * 20.0
|
||||||
|
|
||||||
base.apply_impulse(offset, direction)
|
base.apply_impulse(offset, direction)
|
||||||
|
@ -16,20 +16,16 @@ func _is_animation_playing():
|
|||||||
func action():
|
func action():
|
||||||
anim.play("ArmatureAction")
|
anim.play("ArmatureAction")
|
||||||
|
|
||||||
# Apply a slight counter force
|
|
||||||
var offset = transform.basis.xform(Vector3.ZERO) #transform.basis.xform(touch_area.global_transform.origin - base.global_transform.origin) * 0.5
|
|
||||||
var direction = -(base.transform.basis.y - base.transform.basis.z).normalized() * 0.5
|
|
||||||
|
|
||||||
base.apply_impulse(offset, direction)
|
|
||||||
|
|
||||||
|
|
||||||
func push(body):
|
func push(body):
|
||||||
# We multiply by 0.1 because we only want it to spin slightly, it should mostly go up
|
# We multiply by 0.1 because we only want it to spin slightly, it should mostly go up
|
||||||
var offset = transform.basis.xform(Vector3.ZERO) #transform.basis.xform(touch_area.global_transform.origin - base.global_transform.origin) * 0.5
|
var offset = transform.basis.xform(touch_area.global_transform.origin - base.global_transform.origin) * 0.3
|
||||||
var direction = (base.transform.basis.y - base.transform.basis.z).normalized() * 10.0
|
var direction = (base.transform.basis.y - base.transform.basis.z).normalized() * 10.0
|
||||||
|
|
||||||
base.apply_impulse(offset, direction)
|
base.apply_impulse(offset, direction)
|
||||||
|
|
||||||
|
#base.apply_torque_impulse(base.transform.basis.y * 20.0)
|
||||||
|
|
||||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||||
#func _process(delta: float) -> void:
|
#func _process(delta: float) -> void:
|
||||||
# pass
|
# pass
|
||||||
|
Loading…
x
Reference in New Issue
Block a user