31 lines
874 B
GDScript
31 lines
874 B
GDScript
extends RigidBody3D
|
|
|
|
@onready var collision_shape = $CollisionShape3D
|
|
@onready var audio_drop = $DropSound
|
|
|
|
var rng = RandomNumberGenerator.new()
|
|
var random_rotation = true
|
|
|
|
# Called when the node enters the scene tree for the first time.
|
|
func _ready():
|
|
if random_rotation == true:
|
|
var lv_x = rng.randf_range(5.0,7.0)
|
|
var lv_y = rng.randf_range(0.0,3.0)
|
|
var lv_z = rng.randf_range(0.0,2.0)
|
|
var av_x = rng.randf_range(-50.0,50.0)
|
|
var av_y = rng.randf_range(-50.0,50.0)
|
|
var av_z = rng.randf_range(-50.0,50.0)
|
|
|
|
linear_velocity += transform.basis * Vector3(lv_x, lv_y, lv_z)
|
|
angular_velocity += transform.basis * Vector3(av_x,av_y,av_z)
|
|
|
|
|
|
func _on_timer_timeout():
|
|
collision_shape.disabled = true
|
|
await get_tree().create_timer(1).timeout
|
|
queue_free()
|
|
|
|
|
|
func _on_body_shape_entered(body_rid, body, body_shape_index, local_shape_index):
|
|
audio_drop.play()
|