diff --git a/script/level/level_instance.gd b/script/level/level_instance.gd index afd8280..cb44903 100644 --- a/script/level/level_instance.gd +++ b/script/level/level_instance.gd @@ -31,7 +31,7 @@ var print_item: Callable = print_item_func func view_focus_on_func() -> void: grid_block_material.set_shader_parameter("is_focus", true) - set_focus() + set_focus_editor() func view_focus_off_func() -> void: @@ -129,6 +129,13 @@ func set_level_range_visible(value: bool) -> void: var level_range: CSGBox3D = $LevelRange as CSGBox3D level_range.visible = value +func set_focus_editor() -> void: + var level_range: CSGBox3D = $LevelRange as CSGBox3D + var level_size: Vector3 = level_range.size + var focus_min: Vector3 = get_global_position() + var focus_max: Vector3 = get_global_position() + level_size - Vector3(0, Setting.pixel_size * Setting.grid_pixel_size, Setting.pixel_size * Setting.grid_pixel_size) + grid_block_material.set_shader_parameter("focus_min", focus_min) + grid_block_material.set_shader_parameter("focus_max", focus_max) func set_focus() -> void: var level_range: CSGBox3D = $LevelRange as CSGBox3D diff --git a/script/manager/camera_manager.gd b/script/manager/camera_manager.gd index 36e8138..312c515 100644 --- a/script/manager/camera_manager.gd +++ b/script/manager/camera_manager.gd @@ -74,7 +74,7 @@ func update_global_effect(delta): func update_camera_pos(delta): - target_pos_lerp(0, delta, 6) + target_pos_lerp(0, delta, 2) target_pos_lerp(1, delta, 6) position.x = (target_pos_now.x + shake_offset_x) position.z = (target_pos_now.y + target_pos_y + offset) @@ -84,7 +84,7 @@ func update_camera_pos(delta): func target_pos_lerp(index: int, delta: float, delta_scale: float): var target_pos_real: Vector2 = target_pos var diff = abs(target_pos_now[index] - target_pos_real[index]) - if diff < Setting.pixel_size: + if diff < Setting.pixel_size /2: target_pos_now[index] = target_pos_real[index] else: var weight_min = Setting.pixel_size / 2 / diff