Search Unity

[RELEASED] Realistic Sniper and Ballistics System

Discussion in 'Assets and Asset Store' started by Inan-Evin, Jul 4, 2021.

  1. Inan-Evin

    Inan-Evin

    Joined:
    Jan 26, 2013
    Posts:
    20
    CardImage2.png

    Realistic Sniper and Ballistics System (RSB) is a toolset to create any type of shooter game—specifically a sniper game—that includes realistic ballistics simulation.


    Create realistic bullet/ballistic trajectories, bullet time effects, dynamic scope systems, penetration & ricochet and much more, right out of the box.


    RSB is not a template for a single genre, it can be used in first-person, third-person or any kind of game that requires realistic bullet simulation. That being said, RSB also provides you with game-ready first-person controller with headbob, gunsway, holding breath sway as well as a simple bolt-action weapon controller.


    Almost all the systems in RSB are decoupled from each other, with an event system that makes it possible to integrate RSB into your own projects and only use those parts that are really needed! Thus, RSB can easily be used with your already existing players or other shooter assets.

    Asset Store Link | Get Started | Documentation | Support Discord | Contact | Twitter | Windows Demo


    ✔ Centralized System
    Include the singleton instance to your scene, write a single line of code to fire a ballistics bullet from any script.

    ✔ Event Based System
    RSB works completely on events, so it becomes extremely easy to listen to bullet hit events, or bullet time events to trigger custom game code.

    ✔ Integrability
    Since RSB systems work decoupled from each other, you can easily integrate the ballistics simulation/bullet trajectory calculations into your already existing player controllers, or into other first-person/third-person shooter assets! Just call a method when you want to fire a ballistic bullet then listen to events!

    ✔ No Rigidbodies
    Bullets fired with RSB work extremely cheap, because everything in simulated with raycasts, with a real-life simulation precision. No rigidbodies or objects being spawned!

    ✔ Realistic Simulation
    Bullets are affected by:
    • Gravity (bullet drop)​
    • Temperature​
    • Air Pressure​
    • Windage​
    • Stability Factor (based on mass, diameter, length)​
    • Air Resistance (multiple drag models w/ adjustable coefficient)​
    • Spin Drift (bsed on barrel twist)​

    ✔ Bullet Properties
    Use scriptable objects to create a custom bullet of your own with couple of clicks. You can customize your bullet's mass, diameter, length, barrel twist, drag model and ballistic coefficient.

    ✔ Bullet Presets
    RSB provides you with an extensive set of presets derived from real cartridges, such as 9mm, 7.62, 556, .338 rem, .40 ACP etc.

    ✔ Design-time Trajectory Simulator
    Visualize your bullet's trajectory graph in-editor without even playing your game! RSB provides a custom UI to adjust your bullet properties & see how it would travel, completely in design-time.

    ✔ Surface Ballistics : Penetration & Ricochet
    Bullet penetration and ricochet, based on bullet’s kinetic energy & velocity. Completely customizable interface to simulate various surfaces such as; wood, steel, metal, plastic etc. along with the presets of said surfaces.

    ✔ Bullet Time Cameras
    A powerful custom UI based tool to create your own bullet time camera effects without writing a single line of code. 10+ bullet time camera presets are included. Additionally, RSB provides a robust API to write your own bullet time camera effects if desired.

    ✔ Combined Features
    All features in RSB work in cooperation. So, e.g, your bullet can ricochet off a surface, penetrate another surface then hit your enemy and can do this all in bullet time!

    ✔ Bullet Tracers
    Visualize your bullets, enable bullet tracers and define your tracer prefab to see your bullet’s trajectory.

    ✔ In-game Trajectory Debugging
    Enable trajectory debugging to visualize the whole bullet trajectory with line renderers.

    ✔ Dynamic Scope System
    A dynamic canvas based scope system showing bullet drops depending on the selected bullet as well as how the bullet will be affected by the wind.

    ✔ Player Controller
    RSB includes an example first-person player controller ready to be used in your own projects along with a smooth first person camera.

    ✔ Motion Controller

    On top of the player controller, RSB also includes a motion controller script to create head-bob effects, camera/gun swaying, effects to simulate breath sway and a weapon positioner system to handle the position of the weapon depending on the player state (running, walking, aiming etc.)

    ✔ Weapon Controller
    RSB includes an example weapon controller with an ammunition counter ready to be used for any type of weapon, especially for a bolt-action sniper rifle.

    ✔ Mobile Controls
    RSB is mobile ready, and includes example scenes demonstrating how mobile controls can be used with its FPS controller.

    ✔ Full Demo Scenes
    Full demo scenes demonstrating all features of RSB are included.

    ✔ Extensive Documentation
    Our online documentation provides you with the details of scripting API, along with a getting started guide explaining you everything step-by-step.

    ✔ And much more utilities!
     
  2. Minimilian

    Minimilian

    Joined:
    Jan 19, 2021
    Posts:
    23
    Taking a mental note for myself: if you don't find the forum link, look for it better. XD

    Hi, I'm the person who commented in the review about the possibility to plan the bullet trajectory in advance, and now that I took 5 minutes to get here, I will take this chance to explain better lol. First of all thanks for commenting my review.

    What I would LOVE (I can live without it, but I would love it) is something similar to what follows (bear with me, english is not my first language, so I'll try to explain it at my best).

    In editor, I would like to "plan" the trajectory of the bullet by seeing a tracing line in advance, and move it until I see that it reaches the target. Possibly taking into account things like ricochet and penetration (I guess I would have to set deviation angle to 0 but that's ok).

    I use Unity as a hobbyist, mostly for fun making short videos and taking pics while I learn more. Recently I have started working on a video about a sniper, and looking for the perfect shot by trial and error is feasible, but not ideal. Mind well, I'm not complaining, what I can currently do is still WAY better than what I would without your asset.

    But if this feature doesn't require a LONG work, I think it could be useful for others too; there might be similar use cases, or people appreciating it for in-game animations.

    Now, if what I'm talking about is already possible with some other method that I don't know, or by tweaking some scripts, that's fine: if you feel like sharing a tip or some external resources, I am willing to learn.

    Thanks!
    Max
     
  3. Inan-Evin

    Inan-Evin

    Joined:
    Jan 26, 2013
    Posts:
    20
    Hey, thanks for explaining the request in detail! I have already put it in my calendar but couldn't find any time to expand upon it yet, as it requires some design changes to the core system.

    The trajectories are calculated when the game begins. This calculation includes a local optimal trajectory, which is then projected when a bullet is fired and modified according to the hits, ricochets etc. Now it is possible to make a custom inspector where I can carry out this calculation to editor-time. Display the local trajectory on a selected scene object, and modify it when a collision registers. But I need to do some performance tests as it will be harder to compute everything in editor. Also, as you already guessed, the deviations can't be taken into account as they are randomized in run-time.

    Now I can't give you a guide on how to do this, as it requires to dive deep into the core of the system. If you are curious, this feature has to do with how: Sniper and Ballistics System "steps" a bullet, and how the bullet is "activated". Those two functions and their callstack are the responsible ones for these calculations. But unfortunately, it is not a trivial task.

    It's good that you've contacted me here, as I can let you know of any updates when I work on this. Alternatively, you can also e-mail me (check out Asset Store page), where I will be a lot more quick to respond than here.

    Cheers!
     
    Minimilian likes this.