Files
Papay-Shooter/characters/player_skin.gd
T
2026-08-02 02:20:02 -04:00

26 lines
1.3 KiB
GDScript

extends Resource
class_name PlayerSkin
## A player skin defines the visual appearance of the character.
## Can be either a color tint (for the default procedural model)
## or a full GLB model replacement.
@export var skin_name: String = "Default"
@export var description: String = ""
@export var model_path: String = "" # Path to .glb file, empty = use procedural
@export var color_tint: Color = Color(0.2, 0.4, 0.8) # For procedural model
@export var is_unlocked: bool = true
## The first-person arms use lightweight procedural geometry, but their
## palette and sleeve coverage still identify the selected character.
@export_group("Viewmodel Arms")
@export var viewmodel_sleeve_color: Color = Color(0.16, 0.34, 0.72)
@export var viewmodel_accent_color: Color = Color(0.28, 0.72, 1.0)
@export var viewmodel_skin_color: Color = Color(0.96, 0.80, 0.72)
@export var viewmodel_glove_color: Color = Color(0.10, 0.11, 0.16)
@export var viewmodel_nail_color: Color = Color(0.92, 0.68, 0.72)
## bare: exposed hand + nails; fingerless: glove palm with exposed fingertips;
## glove: fully covered; android: segmented synthetic hand.
@export_enum("bare", "fingerless", "glove", "android") var viewmodel_hand_style := "bare"
@export_range(0.2, 0.9, 0.01) var viewmodel_sleeve_ratio: float = 0.68