Developer knowledge network · moderated exchange

Społeczność UnreliableCode

Badania programistów, inżynieria wsteczna i społeczność programistów

Knowledge indexNa żywo
4Categories
919Threads
2.8KPosty
Guide

Compound Bow & Sniper projectile ballistic lead math for Rust

raycast_ryan
Ballistics Dev
MEMBER
Rozpustnik: 72
Data dołączenia: Sep 2019
Posty: 32
Dzięki: 16
1 miesięcy temu · Jun 30, 2026 3:33 AM
#1

Ballistic calculation for arrows and sniper bullets in Rust:

CPP
Vector3 CalculateProjectileLead(Vector3 startPos, Vector3 targetPos, Vector3 targetVel, float initialVelocity, float gravityScale, float drag) {
    float distance = (targetPos - startPos).Length();
    float travelTime = distance / initialVelocity;
    
    // Account for air drag deceleration
    travelTime += (0.5f * drag * distance * travelTime);
    
    // Predicted target lead position
    Vector3 predicted = targetPos + (targetVel * travelTime);
    
    // Gravitational drop (Rust standard gravity = 9.81 m/s^2)
    float drop = 0.5f * (9.81f * gravityScale) * (travelTime * travelTime);
    predicted.y += drop;
    return predicted;
}

Hits 150m bow headshots on sprinting players reliably.

rust_recoil_king
Member
MEMBER
Rozpustnik: 190
Data dołączenia: May 2022
Posty: 5
Dzięki: 48
1 miesięcy temu · Jun 30, 2026 5:22 AM
#2

Hunting Bow initial velocity is 50.0f m/s, Compound Bow is 80.0f m/s, Bolt Action Rifle is 375.0f m/s. Formula works great.

matrix_math_guy
Math Specialist
MEMBER
Rozpustnik: 105
Data dołączenia: Aug 2018
Posty: 52
Dzięki: 41
1 miesięcy temu · Jun 30, 2026 6:04 PM
#3

Clean physics derivation. Drag compensation is spot on.