Polish world, shop, and artwork presentation

This commit is contained in:
Alexander Sellite 2026-08-13 14:53:39 -04:00
parent 7d38bc962b
commit 117fdbfdaa
94 changed files with 1771 additions and 579 deletions

View file

@ -5,7 +5,7 @@ render_mode unshaded, cull_back;
// base color and the red, green, and blue channels select the three authored
// accent colors. Alpha is intentionally ignored so artists may leave unused
// UV space transparent.
uniform sampler2D pattern_texture : filter_linear_mipmap_anisotropic, repeat_disable;
uniform sampler2D pattern_texture : filter_nearest, repeat_disable;
uniform vec4 base_color : source_color = vec4(1.0);
uniform vec4 red_zone_color : source_color = vec4(0.9, 0.8, 0.6, 1.0);
uniform vec4 green_zone_color : source_color = vec4(0.4, 0.2, 0.1, 1.0);

View file

@ -23,10 +23,12 @@ visible = false
[node name="HeldArtKitSprite" type="Sprite3D" parent="HeldArtKitDisplay"]
unique_name_in_owner = true
rotation = Vector3(0, 0, 4.71239)
pixel_size = 0.008
flip_h = true
shaded = false
double_sided = true
texture_filter = 1
texture_filter = 0
[node name="CatchDisplay" type="Node3D" parent="."]
unique_name_in_owner = true

View file

@ -350,6 +350,7 @@ var _held_item_attachment: BoneAttachment3D
var _held_fish_display: Node3D
var _held_fish_attachment_offset: Vector3 = Vector3(0.0, 0.08, 0.04)
var _held_fish_sprite: Sprite3D
var _held_art_kit_display: Node3D
var _held_art_kit_sprite: Sprite3D
var _catch_attachment_offset: Vector3 = Vector3(0.0, 0.08, 0.04)
@ -510,6 +511,7 @@ func _initialize_held_item_attachment() -> void:
_held_fish_sprite = attachment.get_node(
"HeldFishDisplay/HeldFishSprite"
) as Sprite3D
_held_art_kit_display = attachment.get_node("HeldArtKitDisplay") as Node3D
_held_art_kit_sprite = attachment.get_node(
"HeldArtKitDisplay/HeldArtKitSprite"
) as Sprite3D
@ -1710,6 +1712,8 @@ func set_active_art_kit(icon: Texture2D, should_show: bool) -> void:
_held_art_kit_visible = true
_held_art_kit_sprite.texture = icon
_held_art_kit_sprite.visible = true
if not previous_show_pose:
_held_art_kit_display.visible = false
_fishing_rod.visible = false
if item_changed:
_begin_pocket_visual(
@ -1717,8 +1721,11 @@ func set_active_art_kit(icon: Texture2D, should_show: bool) -> void:
previous_show_pose,
true,
Callable(),
false,
_apply_active_art_kit_visual,
)
else:
_apply_active_art_kit_visual()
_update_character_animation()
@ -1798,6 +1805,7 @@ func _apply_pending_held_fish() -> void:
func _clear_active_art_kit() -> void:
var was_visible: bool = _held_art_kit_visible
_held_art_kit_visible = false
_held_art_kit_display.visible = false
_held_art_kit_sprite.texture = null
_held_art_kit_sprite.visible = false
if was_visible:
@ -1807,6 +1815,12 @@ func _clear_active_art_kit() -> void:
_update_character_animation()
func _apply_active_art_kit_visual() -> void:
if not _held_art_kit_visible or _held_art_kit_sprite.texture == null:
return
_held_art_kit_display.visible = true
func _begin_pocket_visual(
target: PocketVisualTarget,
starts_in_show_pose: bool,

View file

@ -304,6 +304,7 @@ static func _runtime_fur_pattern_material(
static func _configure_matte_material(material: StandardMaterial3D) -> void:
if material == null:
return
material.texture_filter = BaseMaterial3D.TEXTURE_FILTER_NEAREST
# Character artwork is deliberately graphic and flat. Unshaded rendering
# keeps the authored fur and facial colors invariant across world weather,
# time of day, and the isolated Profile preview.