S7: first person at 107°, the placeholder rifle and the lean

Play as Client on L_S7Range: a dedicated server world and two clients, 9 October 2026. Client 1 is the player; client 2 watches. Placeholder lighting, materials and arms throughout.

New: the rifle's own shadow, and every item on the body. From your own view the rifle in your hands now casts its shadow under the lamp and in the sun (below, 27 and 28). It is a rule, not a rifle fix: anything held, slung or worn on the body gets the same shadow-only copy, so later gear and clothing inherit it. Client 2 still sees one shadow (29, 30). The rifle's copy costs about 0.01 ms of shadow depth.
Kept, your call: the body's shadow on the first-person arms and rifle stays, to be judged again once the hand IK is in (card 92676b59). Its measurements are further down.
What works. First person at 107° (the rifle drawn at 82° and scale 0.4), eye 162 cm above the feet. The rifle in the hands in first person and in the body's hands for everyone else, with one rifle each (the player no longer sees his own world rifle). Lean left and right, 20 cm, on Q and E: the view moves, and the other client sees the body lean (replicated in 0.25 cm steps, read back as −80 and +80). Crouch. The body holds Lyra's rifle pose on every client.

First person

First person at the hip
At the hip. Client 2 stands 5 m away in the door frame.
Leaning left
Leaning left. The view moves 20 cm left; the horizon stays level (no camera roll, by design).
Leaning right
Leaning right.
Crouched
Crouched, client 2 now 2 m away.

Shadows

Own shadow in sun
His own shadow in sun, before the copy (the engine's sun-only path). The first-person arms and rifle cast none, so there is one shadow.
Under the street lamp
Under the street lamp, before the copy, sun off in client 1's world and the exposure raised for this one picture. Client 2's lamp shadow is there; client 1's own is not.
Under the lamp with the copy
Under the street lamp, with the copy (15). His own shadow is there now. The body's shadow holds no rifle yet (below, not in this round).
Client 2 under the lamp
Client 2's view under the lamp (16): client 1's shadow once.
Sun, copy and engine path
In sun, the copy and the engine's sun path both on (17): still one shadow, because the darker of the two is kept.
Sun, copy only
In sun, the copy with the engine's path off (20), the setting now in the project: the same one shadow, for 0.07 ms more shadow depth than no copy, against 0.43 ms with both on.
Client 2 in sun
Client 2's view in sun (18): client 1's shadow once; client 2's own, from his copy, at the lower left.
Sun behind
The sun behind him, with the copy (19): the shadow runs ahead.

The rifle's own shadow

Client 1's view, pose frozen. In each strip: the rifle's shadow copy casting, then not, then in red what changed. Under the lamp 4,132 pixels change (two identical frames: 65); in the overhead sun 5,062 (identical: 196). The shadow is the rifle in the body's right hand; the body has no rifle hold yet, so it stands upright.

27 strip
27, the street lamp behind and above. The rifle's shadow rises from the hand in the body's shadow.
28 strip
28, the sun overhead.
29 client 2 lamp
29, client 2's view under the lamp: client 1's shadow and rifle shadow once.
30 client 2 overhead
30, client 2's view, sun overhead: one shadow.

Cost, editor Play as Client with one client at 2554 × 1354 (render 1577 × 836): shadow depths p50 0.798 and 0.796 ms with the rifle's copy, 0.786 and 0.783 ms without (600 frames each), so about 0.01 ms, beside the body copy's 0.07 ms.

The body's shadow on the arms and rifle (kept)

The engine's path switched off, the pose frozen and the view the same each time. In each strip: the copy casting, then not casting, then in red what changed by more than 12 of 255. The share counts the arms' and rifle's pixels only; two identical frames differ on 0.1 % of them.

CaptureLightArms and rifle darker with the copyMean drop (of 255)
21Low sun behind him (12° up)11.9 %25
22Sun behind and to the side (30° up, 45° round)0.8 %16
23Sun overhead (88° up)78.5 %37
24Facing the sun (20° up)5.6 %19
25Street lamp behind and above, sun off48.1 %46
21 strip
21, low sun behind. The rifle's top and the right sleeve lose their light.
22 strip
22, behind and to the side. A sliver on the left forearm.
23 strip
23, overhead. The rifle and the right arm are almost wholly in shadow.
24 strip
24, facing the sun. A patch on the left forearm.
25 strip
25, the lamp behind and above. The left arm and the rifle's top in shadow; the hands' shadows on the floor are the body's pose, not the arms'.
21 whole frame
21, the whole frame.
23 whole frame
23, the whole frame.
25 whole frame
25, the whole frame, the exposure raised for this picture.
26 client 2
26, client 2's view with the engine's path off: client 1's shadow once.

What client 2 sees

Client 1 standing
Standing.
Client 1 leaning left
Leaning left (his left, so to the right of the picture).
Client 1 leaning right
Leaning right.
Client 1 crouched
Crouched.

Against the wall and the corner

Leaning towards the wall
Leaning right, the wall on the right. The first-person rifle is drawn whole over the wall.
Facing the wall
Leaning, facing the wall 5 cm from the capsule. The rifle does not clip.
At the outside corner
Leaning at the outside corner.
Client 2 sees the wall lean
Client 2's view of the wall lean. The world rifle's barrel meets the wall: the third-person rifle can clip, a later fix.

A 20 cm lean with a 12 cm probe never reaches a wall the 40 cm capsule already touches, so a flat wall or an outside corner does not stop the lean; only geometry overhanging at head height would.

Not in this round

ItemWhen
The hit-body overlay, the metrics and outcome tables, the burst clipWith the server hits (the next milestone)
The arms' own animation and hand IK on the rifle (the hip pose is Lyra's idle on hidden-bone Manny arms)The arms blueprint, after this round
Hold or toggle lean; the lanes at 10 m and 30 m, the low wall and the dummyWith the hit bodies
The body's shadow holds no rifle (15, 20): the third-person pose has no rifle hold yetWith the hand IK and arms work, after your look
Lighting, materials and exposure (fixed at EV 9.5)Placeholders

Play it

  1. Open L_S7Range (/HFGameplay/Raid/S7Range).
  2. Play as Client with 2 players (Play, Net Mode: Play as Client, Number of Players: 2).
  3. WASD and the mouse; Q and E lean, held.
  4. For a moving target, type hf.s7.TargetRoutine 2 in the console: client 2 strafes, leans and crouches on an 8 s loop.