Developer knowledge network · moderated exchange

مجتمع الكود غير الموثوق به

أبحاث المطورين، مجتمع الهندسة العكسية والترميز

Knowledge indexيعيش
4Categories
919Threads
2.8Kدعامات
Guide

Compound Bow & Sniper projectile ballistic lead math for Rust

raycast_ryan
Ballistics Dev
MEMBER
مندوب: 72
تاريخ الانضمام: Sep 2019
دعامات: 32
شكرًا: 16
1 months ago · 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
مندوب: 190
تاريخ الانضمام: May 2022
دعامات: 5
شكرًا: 48
1 months ago · 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
مندوب: 105
تاريخ الانضمام: Aug 2018
دعامات: 52
شكرًا: 41
1 months ago · Jun 30, 2026 6:04 PM
#3

Clean physics derivation. Drag compensation is spot on.