feat: real per-weapon reload/recoil choreography + knife slash, fully matte hair
Weapons no longer reload by spinning the gun 360 (that was the upside-down
flip; nothing detached). New ViewmodelAnim module drives per-style manual-of-
arms sequences on the existing model_root + named arm pivots, with a temporary
magazine/shell/rocket/cell prop that visibly leaves and returns to the gun:
- mag (M4/AK/MP7/DMR): roll gun to present the well, hand rips the mag
down and away, fresh mag up, seat, charge. Gun stays UPRIGHT.
- boltmag (AWP): mag swap + a distinct bolt-cycle rock.
- break (double barrel): hinge open, flick both shells out, drop fresh
shells in, snap shut.
- tube (rocket launcher): tip the tube in, shove a rocket home, shoulder.
- cell (plasma/nail gun): glowing energy cell swapped on the side.
Per-shot viewmodel recoil kick (ViewmodelAnim.apply_kick) scaled by each
weapon's recoil_amplitude, so an AWP slams and an MP7 chatters — replaces the
old flat model behaviour. Weapons expose reload_style; base classes call
play_reload / stop (on unequip) / apply_kick.
Knife: the old barely-visible flick is now a real diagonal slash that
alternates backhand/forehand, whips the blade through screen centre, and
fires the third-person melee arm-swing action (synced to other players).
Hair/materials: specular fully to 0 (even a 2% stepped glint swept as shine
across Taila's hair when the camera moved); rim trimmed to a whisper. Fully
matte cloth/hair now.
Verify: debug/fp_weapon_capture.gd screenshots each weapon's reload phases,
the knife slash, and the fire kick.
Co-Authored-By: Claude Fable 5 <[email protected]>
This commit is contained in:
co-authored by
Claude Fable 5
parent
d46530bd8c
commit
df0bf18e0f
@@ -16,12 +16,11 @@ uniform float band_edge : hint_range(-1.0, 1.0) = 0.05; // NdotL where light b
|
||||
uniform float band_softness : hint_range(0.001, 0.5) = 0.04;
|
||||
uniform float mid_band_edge : hint_range(-1.0, 1.0) = 0.55; // second, brighter band
|
||||
uniform vec4 shadow_color : source_color = vec4(0.62, 0.65, 0.78, 1.0); // cool shadow tint
|
||||
// Matte-anime defaults: a whisper of rim and near-zero specular. Anything
|
||||
// hotter reads as wet plastic / patent leather on dark surfaces and makes
|
||||
// light hair look shiny.
|
||||
uniform float rim_strength : hint_range(0.0, 2.0) = 0.08;
|
||||
uniform float rim_width : hint_range(0.0, 1.0) = 0.32;
|
||||
uniform float specular_strength : hint_range(0.0, 1.0) = 0.025;
|
||||
// Matte-anime defaults: zero specular (any stepped glint reads as shine
|
||||
// sweeping across hair/cloth when the camera moves), whisper of rim.
|
||||
uniform float rim_strength : hint_range(0.0, 2.0) = 0.05;
|
||||
uniform float rim_width : hint_range(0.0, 1.0) = 0.28;
|
||||
uniform float specular_strength : hint_range(0.0, 1.0) = 0.0;
|
||||
uniform float specular_shininess : hint_range(1.0, 128.0) = 64.0;
|
||||
|
||||
varying vec3 world_pos;
|
||||
|
||||
Reference in New Issue
Block a user