Edit of asset "Ballistic Solutions (GDScript, C#)" Accepted
| Old/Current | New/Edit | |
|---|---|---|
| Title | Ballistic Solutions (GDScript, C#) | |
| Description |
Library for calculating interception times, impact positions, and firing vectors, taking into account the velocities and accelerations of both projectile and target. Quickstart 1. Install the addon in Godot or reference the DLL in your C# project. 2. In your scene, compute the vector to the target: `var to_target = target.global_position - global_position` 3. Call `best_firing_velocity` to get initial projectile velocity. 4. Instantiate your projectile and assign velocity and acceleration. Warning Godot Physics Consideration: Godot applies linear damping to physics bodies by default, which gradually reduces object velocity. This can significantly affect ballistic accuracy if not properly accounted for. Recommendations: - Set default_linear_damp = 0 in the project settings, if you want pure projectile motion - Test thoroughly with your specific physics settings |
Ballistic deflection calculator is a tool for calculating the shot vector considering speeds and accelerations for Godot. Methods Array[float] times_to_hit_vector2(...) static Array[float] times_to_hit_vector3(...) static Array[float] times_to_hit_vector4(...) static Array[Vector2] velocities_vector2(...) static Array[Vector3] velocities_vector3(...) static Array[Vector4] velocities_vector4(...) static Vector2 velocity_from_time_to_hit_vector2(...) static Vector3 velocity_from_time_to_hit_vector3(...) static Vector4 velocity_from_time_to_hit_vector4(...) static Example const BULLET_SCENE: PackedScene = preload("res://.../bullet.tscn") var bullet_speed: float = 300 func shoot(target: CharacterBody2D) -> void: var to_target: Vector2 = target.global_position - global_position var bullet_velocities: Array[Vector2] = BDC.velocities_vector2(bullet_speed, to_target, target.velocity) if bullet_velocities.size() == 0: print("impossible to hit the target") return var bullet: CharacterBody2D = BULLET_SCENE.instantiate() bullet.global_position = global_position bullet.velocity = bullet_velocities[0] get_parent().add_child(bullet) |
| Category | Scripts | |
| License | MIT | |
| Repository Provider | GitHub | |
| Repository Url | https://github.com/neclor/ballistic-solutions | |
| Issues Url | https://github.com/neclor/ballistic-solutions/issues | |
| Godot version | Godot 4.0 | |
| Version String | 4.0.1 | 2.1.1 |
| Download Commit | ede88e056e566e707deb9a57eacb84628021aebb | 8113da0864d935d1987a9fa437b72424f4b0be5b |
| Download Url (Computed) | https://github.com/neclor/ballistic-solutions/archive/ede88e056e566e707deb9a57eacb84628021aebb.zip | https://github.com/neclor/ballistic-solutions/archive/8113da0864d935d1987a9fa437b72424f4b0be5b.zip |
| Icon Url |
https://raw.githubusercontent.com/neclor/ballistic-solutions/main/icon.png
|
|
| Preview Insert | ||
|---|---|---|
| Type | image | |
| Image/Video URL |
https://raw.githubusercontent.com/neclor/ballistic-deflection-calculator-godot/main/docs/screenshot.png
|
|
| Thumbnail |
|
|