Terminal Ballistics

Xor - 代码插件 - 2023/05/23

A robust, easy to use system for ballistic simulation. Includes bullet penetration, complex drag, and more. Multithreaded for performance.

  • 支持的平台
  • 支持的引擎版本
    5.0 - 5.3
  • 下载类型
    引擎插件
    此产品包含一款代码插件,含有预编译的二进制文件以及与虚幻引擎集成的所有源代码,能够安装到您选择的引擎版本中,并根据每个项目的需求启动。
With Terminal Ballistics, you can easily simulate bullets and projectiles in your projects, from launch to impact and beyond.


Links: Wiki | Example Project


The aim of this plugin is to allow anyone to integrate complex and realistic ballistics into their project, regardless of skill level. From simple to use blueprint nodes to in depth functions, there's something for everyone, beginner or expert.

Choose from a set of built-in calibrated bullets or create your own using a simple to use data asset driven system with plenty of options to choose from.


Impact

Within ballistics, the often complex study of what happens when a projectile collides with something is called "Terminal Ballistics". As such it should come as no surprise that bullet penetration is at the forefront of this plugin. A must have

 in this era of gaming where immersion and realism are the name of the game, bullet penetration is not always done well and can be difficult to pull off. With the goal of making it both realistic and easy to use, Terminal Ballistics takes a material

 science based approach, using the unique material properties of each surface to determine the likelihood of penetration, material failure, and energy loss. Using this system, projectiles can have complex collisions, penetrations, and ricochets with actors, meshes, and anything that has collision, with little setup required. This means all you have to do is assign a physical material to your mesh and call it a day. No number crunching or wild guesses required.

 

What comes up, must come down

During flight, the forces experienced by each projectile are accurately simulated to a customizable degree of complexity, from basic drag calculations, to the inclusion of wind forces, all the way up to complex 3D drag and wind simulation taking into account the temperature, humidity, and even air pressure of your project's environment.

The aerodynamic performance of each bullet is based off of real world data, and even the smallest details matter.


Simulate hundreds of bullets at a time

With a unique multithreaded system spawning zero actors or components, you don't need to worry about simulating thousands of actors at once, spawning components or actors, replicating them, and destroying them. All of that is taken care of for you, with minimal impact on the game thread, and none of the overhead that comes with the actor/component based approach for projectiles.

In fact, if you were so inclined you could even use this system to simulate individual pieces of grenade shrapnel for those situations where you really want to pepper the environment with deadly shards of metal.


Do it your way

With a substantial number of settings to play around with, you can customize this plugin in a multitude of ways. From the aforementioned drag complexities, to the tick rate of the simulation, lifetime of projectiles, material properties, collision channel and more, you are bound to find just the right configuration for your project.

技术细节

Features:

  •  In-flight projectile simulation and drag computation with customizable levels of complexity
  •  Per-surface bullet penetration and ricochet calculations
  •  Multi-threaded simulation framework, removing almost all work from the game thread
  • None of the overhead that comes with actors or components
  • Blueprint exposure of most functionality
  • Simple to use out of the box
  • Incorporates mathematics from a variety of fields including material science, ballistics, aerodynamics, fluid dynamics, and impact mechanics
  • Written in C++ with performance in mind
  • Data-Driven bullet/projectiles and materials
  • Fully customizable bullets and projectiles
  • Advanced versions of many core functions

Code Modules:

  • TerminalBallistics (Runtime)

Number of Blueprints: 0

Number of C++ Classes: 13

Network Replicated: Yes

Supported Development Platforms: Win64, Win32, Mac, Linux

Supported Target Build Platforms: Win64, Win32, Mac, Linux

Documentation: https://github.com/ErikHedberg/Terminal-Ballistics-Example-Project/wiki

Example Project: https://github.com/ErikHedberg/Terminal-Ballistics-Example-Project/wiki/Example-Project-Links