push project up sabs assets
This commit is contained in:
41
scenes/individual_parts/balls/balls_base.gd
Normal file
41
scenes/individual_parts/balls/balls_base.gd
Normal file
@@ -0,0 +1,41 @@
|
||||
class_name BallsBase extends Node3D
|
||||
|
||||
|
||||
@onready var bodies: Node3D = $bodies
|
||||
|
||||
@onready var ball_sounds: AudioStreamPlayer = $ball_sounds
|
||||
@onready var white_ball_marker: Marker3D = $white_ball_marker
|
||||
@onready var white_ball: RigidBody3D = $bodies/white_ball
|
||||
|
||||
@export var ball_mass: float = 0.17
|
||||
|
||||
@export var min_speed: float = 0.0008
|
||||
@export var max_speed: float = 0.5
|
||||
|
||||
@export var min_pitch: float = 0.6 # slower = deeper
|
||||
@export var max_pitch: float = 1.6 # faster = higher
|
||||
|
||||
@export var min_volume_db: float = -30.0 # slower = quiet
|
||||
@export var max_volume_db: float = 0.0 # faster = loud
|
||||
|
||||
var balls_moving: bool = false
|
||||
|
||||
func _set_ball_physics(ball: RigidBody3D) -> void:
|
||||
var phy_mat = PhysicsMaterial.new()
|
||||
|
||||
phy_mat.set_bounce(0.90)
|
||||
phy_mat.set_friction(0.12)
|
||||
phy_mat.set_rough(false)
|
||||
|
||||
ball.set_physics_material_override(phy_mat)
|
||||
|
||||
ball.axis_lock_linear_y = true
|
||||
ball.set_mass(ball_mass)
|
||||
ball.set_linear_damp(2.04)
|
||||
ball.set_angular_damp(1.44)
|
||||
ball.set_use_continuous_collision_detection(true)
|
||||
|
||||
ball.body_entered.connect(_on__ball_body_entered)
|
||||
|
||||
func _on__ball_body_entered(_ball: Node) -> void:
|
||||
assert(false, "This method needs to be overridden...")
|
||||
Reference in New Issue
Block a user