diff --git a/effects/hyperspace/hyperspace_effect.gd b/effects/hyperspace/hyperspace_effect.gd index 55c6296f..a8074e27 100644 --- a/effects/hyperspace/hyperspace_effect.gd +++ b/effects/hyperspace/hyperspace_effect.gd @@ -5,6 +5,7 @@ extends MeshInstance3D ## Besides being visually interesting, this effect also serves to hide the scene transition, where otherwise nodes would pop in and out. @export var hyperspace_controller: HyperspaceController +@export var hyperspace_viewport: SubViewport ## An audio clip to play when a hyperspace jump begins. @export var jump_out_audio: AudioStreamPlayer @@ -32,6 +33,7 @@ func _random_rotation() -> Vector3: ) func _on_jump_started(_destination: StarSystem) -> void: + self.hyperspace_viewport.render_target_update_mode = SubViewport.UPDATE_ONCE self.rotation = self.initial_rotation self.scale = self.initial_scale self.visible = true diff --git a/game.tscn b/game.tscn index a6f5a9a0..6045a8f6 100644 --- a/game.tscn +++ b/game.tscn @@ -117,7 +117,7 @@ script = ExtResource("2_v5hns") follow_target = NodePath("../Player") starfield_material = ExtResource("3_vksuy") -[node name="HyperspaceEffect" type="MeshInstance3D" parent="MainCamera" node_paths=PackedStringArray("hyperspace_controller", "jump_out_audio") groups=["hyperspace"]] +[node name="HyperspaceEffect" type="MeshInstance3D" parent="MainCamera" node_paths=PackedStringArray("hyperspace_controller", "hyperspace_viewport", "jump_out_audio") groups=["hyperspace"]] transform = Transform3D(1, 4.15924e-24, -6.97574e-16, -6.97574e-16, 1.19249e-08, -1, 4.15926e-24, 1, 1.19249e-08, 2.08165e-12, 2.08165e-12, -12) visible = false layers = 4 @@ -127,6 +127,7 @@ mesh = SubResource("SphereMesh_sndvt") skeleton = NodePath("../..") script = ExtResource("4_bmy66") hyperspace_controller = NodePath("../../HyperspaceController") +hyperspace_viewport = NodePath("../../HyperspaceViewport") jump_out_audio = NodePath("AudioStreamPlayer") [node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="MainCamera/HyperspaceEffect" groups=["hyperspace"]] @@ -174,6 +175,8 @@ far = 20.0 handle_input_locally = false gui_disable_input = true size = Vector2i(4096, 2048) +render_target_clear_mode = 1 +render_target_update_mode = 0 [node name="HyperspaceCamera" type="Camera3D" parent="HyperspaceViewport" groups=["hyperspace"]] transform = Transform3D(1, -6.97574e-16, 4.15926e-24, 4.15924e-24, 1.19249e-08, 1, -6.97574e-16, -1, 1.19249e-08, 2.08165e-12, 10, 2.08165e-12)