class_name Item extends Node3D var owned_by: Node3D func _init(idx: int, owned_by_: Node3D): match Multiplayer.item_names[idx]: var t: add_child(load("res://models/prefabs/map/bag.tscn").instantiate()) var mesh = MeshInstance3D.new() var text = TextMesh.new() var mat = ORMMaterial3D.new() text.text = t text.font = SystemFont.new() text.depth = 0 mesh.mesh = text mesh.position.y = 0.5 mesh.scale = Vector3(3, 3, 3) mat.billboard_mode = mat.BILLBOARD_ENABLED mat.shading_mode = BaseMaterial3D.SHADING_MODE_UNSHADED text.material = mat add_child(mesh) owned_by = owned_by_ func _ready(): position = owned_by.global_position func _process(delta): position = lerp(position, owned_by.global_position, delta * 30.0)