PLEASE NOTE: THIS ASSET HAS BEEN DEPRECATED AND IS NO LONGER AVAILABLE.
TATAKAI Tactical Battle FX for Unity and Unity Pro
Tatakai is a complete system of effects and components that brings realistic ballistics, firearm handling, and powerful customizable explosions to Unity developers. By utilizing an individual component based approach, you can quickly and easily incorporate advanced effects into any type of Unity project.
Hello All, I’d just like to give a big thanks out to those who have already purchased Tatakai. The Tatakai documentation is being added to constantly and currently is about 50% complete. I’ll continue to update this on a daily basis until it’s complete with version 1.0.
I also have a bug-fix which I’m going to be sending into the Asset Store for early next week, so any feedback you guys have… issues or bugs that you’ve run across, let me know and I’ll see if they can be included along with the next update.
The version 1.1 update has been sent into the asset store. This has a number of bug fixes which I’ll detail once it’s available, but mainly it was issued to fix a serious import bug that was cropping up on some systems. With a little luck it’ll be available on the asset store by tomorrow.
The gun object in tatakai has an “Attach To Bone” slot… so you can directly specify a specific body part such as a hand, or if you have an extra “gun” or “prop” bone in your character you could attach it their instead. In the demo, the recoil is handled by an animation, rather than IK or procedural motion. There isn’t currently a gun-switching function, but I would like to add it in a future update, as well as a few addition weapon examples. Do you have any other specific features you would like to see?
You write about realistic drop-off and velocities of gun trajectories… is this only for visuals, or also for physics? Is you package giving me physics components to model a realistic shell trajectory (for example for a artillery weapon type, calculate a “curved raycast” to get the hit point) and hit at the right time for a given muzzle velocity?
Trajectory is calculated on the fly with raycasts. The total arc of the trajectory isn’t calculated at the moment of firing, rather it has physics working on it over the course of the projectile lifespan. So a projectile is shot with a certain amount of initial force at a certain vector… and over time the projectile has defineable gravity and defineable friction working against it, thus altitude drops and rotation changes.
As the projectile is airborn it sends raycasts from it’s current position/rotation at a specific distance to determine if it hits any objects. Once it hits an object you can define the damage amount or behavior, such as incidence of ricochet, or force of impact.
One thing I would say is these are not mathematic trajectories… you won’t find actual scientific formulas here, they simply use the Unity physics system to approximate an actual trajectory. So I call it “realistic” because it is realistic within the Unity system, however it isn’t what i would call scientifically accurate, just in case that is what you’re asking.
Thanks for the quick answer… I was not looking fo science, just if your package gaps this hole in the unity physics system, which it seems it does.
Your answer though begs another question: seeing the amount of raycasts that are spwawned by a single shot: hows the performance? I assume there is a noticable FPS Dip as soon as multiple characters fire automatic weapons in full automatic mode, but by how much approx.? Could you give an example?
This is an excellent question. The raycast frequency can be controlled by a “detection sensitivty” attribute. This can be adjusted to balance between accuracy and performance. But more to your point, I’ll put together an example that shows some stress testing of the system with some actual numbers. Stay tuned!
thanks a Iot for trying to clear this up. what is the downside to reducing the “detection sensitivity”? Is it just less ray casts being used thus resulting in a less smooth trajectory?
Trajectory isn’t affected by raycasts. The trajectory is handles with standard Unity rigidbody/collider components, and the performance is determined by how quickly the unity physics system is running in your scene / project. As long as you don’t have massive physics performance issues then the trajectory should be fine.
Projectiles (if they are firing at a realistic speed) are almost always moving too fast for the physics system alone to handle, with the result that projectiles will almost certainly travel through an object and not register a hit on it. Because of this Tatakai uses raycasts to supplement hit detection, casting forward at a set interval and a set distance. If a hit is detected either from the physics system or one of the raycasts the projectile is passed to one of the detonation functions. The downside to reducing the detection sensitivity is less accurate hit detection, as a tradeoff for stability and speed. But you can also adjust the distance of the raycast as well to make up for this somewhat.
Below is a jpg of the components associated with a projectile in Tatakai. There are many other components as well for actions such as explosions, detonations, and effects, but this might give you a better idea of the system…
The physics is handled with simple Unity rigidbody and collider, the projectile component handles all projectile attributes (number of projectils per shot, projectile spread, bounce chance, initial velocity etc.), there is a sound component intended to simulate the “whoosh” or “crack” you might hear as a round flies by you, and the explosion object handles the state of impact of the projectile.
I think I’m gonna give this a try even though I prefer C# scripts and only use and understand C# at this stage my learning. This may save me time on my game development.
My only hesitation now is I’m scared if I buy it today that I will wake up in the morning and find that it is the new daily deal and discounted. LOL it have happened to me.
Thanks for your interest Venged! If you choose to purchase Tatakai and have any questions or need help setting it up in your project just let me know. It hasn’t been submitted to the daily deal, the current price will remain for the forseeable future (I’ve been burned by that in the past as well )