Godot_Bouncy_Ball_Prototype/Ball/ball_random_vector_node.gd

24 lines
542 B
GDScript

extends Node3D
@onready var ball = owner
var random_offset : Vector3
func _ready():
ball.ball_collision_started.connect(_get_random_offset)
func _get_random_offset():
# Align rotation to collision normal
look_at(ball.collision_normal + ball.global_position, Utilities.LOOK_AT_OFFSET_FIX)
# Compose a random vector
var x = randf_range(-0.5, 0.5)
var y = randf_range(-0.5, 0.5)
var z = randf_range(0, 1)
var random_vector = Vector3(x, y, z)
$VectorPosition.position += random_vector
random_offset = $VectorPosition.position