1.4 KiB
function_pickup.gd: Add nil check in func _pick_up_object(target: Node3D) 440: if target and target.has_method("pick_up"): target.pick_up(self)
Add (what) to singal dropped in snap_zone signal has_dropped(what) # Pickup Method: Drop the currently picked up object ... func drop_object() -> void: if not is_instance_valid(picked_up_object): return
# let go of this object
has_dropped.emit(picked_up_object)
picked_up_object.let_go(self, Vector3.ZERO, Vector3.ZERO)
picked_up_object = null
highlight_updated.emit(self, enabled)
viewport_2d_in_3d.tscn: Removed the baked ViewportTexture sub-resource (no viewport_path set, genuinely invalid) that was the default material on the Screen mesh. The script always builds and swaps in its own material at _ready(), so the baked one only existed to be briefly invalid before being discarded, printing a spurious "Viewport Texture must be set to use it" error on every instance (MainMenuPanel3D at boot, the player's shop_menu_3d on avatar spawn). Removed: [sub_resource type="ViewportTexture" id="ViewportTexture_ufe4n"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_fvml0"]
transparency = 1
cull_mode = 2
albedo_texture = SubResource("ViewportTexture_ufe4n")
texture_filter = 1
And the reference to it on the Screen node:
surface_material_override/0 = SubResource("StandardMaterial3D_fvml0")