Godot Version
v4.3
Question
I’m new to Godot and not sure what i’m doing wrong here.
even though my print says tether_target has a value. it does not show up in the inspector view,
tether_target is using the @export, it shows up in the inspector, but does not update even though my print command says it has. I am in remote view during playmode.
extends StaticBody3D
# Tether Properties
@export var tether_range: float = 3.0
@export var tether_target: RigidBody3D = null
@onready var tether_joint: Generic6DOFJoint3D = $TetherJoint
func _ready() -> void:
tether_joint.node_a = get_path()
tether_joint.node_b = ""
func _process(delta: float) -> void:
FindNearestTetherableObject()
func _physics_process(delta: float) -> void:
pass
func FindNearestTetherableObject():
# Find the closest tetherable object
var min_distance = INF
if current_tethered == null:
for object in get_tree().get_nodes_in_group("tetherable"):
var distance = self.global_transform.origin.distance_to(object.global_transform.origin)
if distance <= tether_range and distance < min_distance:
# Update tether_target to the new closest target
min_distance = distance # Set the new min_distance
tether_target = object
print("Tether Target = ", tether_target.name)
# If tether_target is out of tether_range, it's no longer an eligible tether_target
if tether_target != null:
var distance = global_position.distance_to(tether_target.global_position)
if distance > tether_range:
tether_target = null