LANTERN feel pass (DR-052 + gap list): SoD facing, underwater feel, Bathynaut kit, walk/run gait, suit lamp + new Synty anim packs
- SoD facing: PlayerFacing = body-yaw only (move-facing / cast-turn / idle-hold); every fire direction re-sourced to FacingMath.ResolveAim (pre-code review blocking catch); TickWindowMath shared windows with Movement-skip; reticle/FX coupled to the damage direction; cursor-dash kept. - Underwater feel: sharpness 15->6, turn 720->360, MoveSpeed 6->4.2; TuningKnob 26-28 (0 = no-override sentinels, dev-protocol bump on DebugTuningReport); stride footsteps + silt + cadence floor; bubbles; underwater ambience bed + distant groans; camera drag + dev scroll zoom. - Bathynaut kit in-engine: dome/tank/shoulder-lamp + bare head grafted (GraftSmr rigid rebase, RecalculateTangents); EmissiveGloamSkinned shader (Rukhanka deformation); shoulder lamp CASTS (warm steady spot on body yaw). - Gait: two-ring walk/run FreeformDirectional tree (walk @0.35, run @1.0) + blended-natural StrideScale; additive Posture(Bank) + Lead(chest-lead) layers; idle = AnimationIdles Base; banking driven from facing turn rate; flat terrain (Env_SeabedKit seabed squashed - CC is planar). - New packs: Synty AnimationIdles + AnimationSwordCombat (combat pass queued) + SyntyPropBoneTool; four authored clips (sway/trudge/banks/lean) + Anim_Player_Underwater.blend + suit-kit FBX. - Validation: 411/411 EditMode green; Play smokes (server==client facing, Aim-true projectile, bank/stride live-sampled, lamp beam verified); pre-code + post-impl adversarial reviews applied. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -116,12 +116,44 @@ namespace ProjectM.Client
|
||||
public static float MeleeConnectVolume;
|
||||
/// <summary>Kill-pop colored flash density on an enemy death.</summary>
|
||||
public static int KillFlashBurstCount;
|
||||
/// <summary>Soft footstep SFX volume.</summary>
|
||||
/// <summary>Footstep SFX volume (07-15: deep muffled underwater thud).</summary>
|
||||
public static float FootstepVolume;
|
||||
/// <summary>Seconds between footsteps while the local player is moving.</summary>
|
||||
public static float FootstepIntervalSec;
|
||||
/// <summary>Planar meters travelled per footstep — stride-DISTANCE stepping, so cadence tracks the
|
||||
/// real (drifting) velocity instead of a fixed timer (07-15 underwater feel).</summary>
|
||||
public static float FootstepStrideMeters;
|
||||
/// <summary>Local player speed (u/s) above which footsteps play.</summary>
|
||||
public static float FootstepMinSpeed;
|
||||
/// <summary>Per-step random volume jitter (±fraction) — breaks the metronome read.</summary>
|
||||
public static float FootstepJitter;
|
||||
/// <summary>Silt-puff particles per footstep (0 = off).</summary>
|
||||
public static int FootstepPuffCount;
|
||||
|
||||
// ---- 07-16 underwater feel (gap-list): bubbles, ambience, camera weight, banking ----
|
||||
/// <summary>Seconds between dome bubble-exhaust puffs (0 = off).</summary>
|
||||
public static float BubbleIntervalSec;
|
||||
/// <summary>Bubbles per exhaust puff.</summary>
|
||||
public static int BubbleBurstCount;
|
||||
/// <summary>Underwater ambience bed volume (Music bus).</summary>
|
||||
public static float AmbienceVolume;
|
||||
/// <summary>Mean seconds between distant groans (0 = off; ±40% jitter).</summary>
|
||||
public static float GroanIntervalSec;
|
||||
/// <summary>Distant-groan volume (Music bus).</summary>
|
||||
public static float GroanVolume;
|
||||
/// <summary>Camera follow-sharpness multiplier (<1 = the camera drags through the water).</summary>
|
||||
public static float CameraDragMult;
|
||||
/// <summary>The facing turn rate (deg/s) at which the additive body bank reaches full (±1).</summary>
|
||||
public static float BankFullTurnDegPerSec;
|
||||
/// <summary>The WALK ring's natural travel speed (u/s; measured off the pack's root-motion variant).
|
||||
/// StrideScale fine-corrects playback against the walk→run blended natural (07-16b/e).</summary>
|
||||
public static float TrudgeNaturalSpeed;
|
||||
/// <summary>The RUN ring's natural travel speed (u/s; measured).</summary>
|
||||
public static float RunNaturalSpeed;
|
||||
/// <summary>Shoulder-lamp spot intensity (0 = lamp off). LANTERN: light is territory — the suit lamp CASTS.</summary>
|
||||
public static float ShoulderLampIntensity;
|
||||
/// <summary>Shoulder-lamp beam range (m).</summary>
|
||||
public static float ShoulderLampRange;
|
||||
|
||||
|
||||
/// <summary>Master gate for gamepad rumble (no-op on KBM).</summary>
|
||||
public static bool RumbleEnabled;
|
||||
/// <summary>Rumble strength on a local hit taken / dealt.</summary>
|
||||
@@ -228,9 +260,24 @@ namespace ProjectM.Client
|
||||
MeleeConnectFovKick = 0.8f;
|
||||
MeleeConnectVolume = 0.55f;
|
||||
KillFlashBurstCount = 20;
|
||||
FootstepVolume = 0.16f;
|
||||
FootstepIntervalSec = 0.32f;
|
||||
FootstepMinSpeed = 1.5f;
|
||||
FootstepVolume = 0.30f; // 07-15: heavier, more present underwater thud
|
||||
FootstepStrideMeters = 1.5f; // one step per ~1.5m of planar travel
|
||||
FootstepMinSpeed = 1.0f;
|
||||
FootstepJitter = 0.12f;
|
||||
FootstepPuffCount = 5;
|
||||
BubbleIntervalSec = 1.6f; // 07-16: dome bubble exhaust cadence
|
||||
BubbleBurstCount = 2;
|
||||
AmbienceVolume = 0.14f; // underwater bed (Music bus)
|
||||
GroanIntervalSec = 24f; // distant groans, ±40% jitter
|
||||
GroanVolume = 0.35f;
|
||||
CameraDragMult = 0.8f; // heavier camera through the water (multiplies FollowSharpness)
|
||||
BankFullTurnDegPerSec = 270f;
|
||||
TrudgeNaturalSpeed = 1.46f; // measured: A_Walk_FwdStrafeF_RootMotion_Masc averageSpeed (walk ring)
|
||||
RunNaturalSpeed = 2.6f; // measured: A_Run_FwdStrafeF_RootMotion_Masc averageSpeed (run ring)
|
||||
ShoulderLampIntensity = 8f; // 07-16e: the suit lamp actually lights (3 got lost in the murk ambient)
|
||||
ShoulderLampRange = 12f;
|
||||
|
||||
|
||||
RumbleEnabled = true;
|
||||
RumbleHit = 0.25f;
|
||||
RumbleKill = 0.45f;
|
||||
|
||||
Reference in New Issue
Block a user