All Projects → jongallant → Unity Bullet Hell

jongallant / Unity Bullet Hell

Licence: mit
An extremely efficient projectile generator for unity.

Projects that are alternatives of or similar to Unity Bullet Hell

Unity Script Collection
A maintained collection of useful & free unity scripts / library's / plugins and extensions
Stars: ✭ 3,640 (+2066.67%)
Mutual labels:  unity, unity3d, particles
Gltfast
glTF runtime loading library for Unity
Stars: ✭ 156 (-7.14%)
Mutual labels:  unity, unity3d
Dfvolume
Distance-field volume generator for Unity
Stars: ✭ 161 (-4.17%)
Mutual labels:  unity, unity3d
Openvdbforunity
Unity plugins for OpenVDB
Stars: ✭ 166 (-1.19%)
Mutual labels:  unity, unity3d
Computestochasticreflections
Compute Stochastic Screen Space Reflections for unity post processing
Stars: ✭ 163 (-2.98%)
Mutual labels:  unity, unity3d
Psd2unityimporter
An advanced PSD importer tool for Unity
Stars: ✭ 155 (-7.74%)
Mutual labels:  unity, unity3d
Aim Ik
A Unity-3D library, to procedural orientate character head (and chest) in a direction without using any animation data.
Stars: ✭ 164 (-2.38%)
Mutual labels:  unity, unity3d
Unity Ui Examples
📚 A collection of UI examples for Unity.
Stars: ✭ 152 (-9.52%)
Mutual labels:  unity, unity3d
Svelto.tasks
Svelto Tasks - C# promises compliant multi-threaded tasks runner
Stars: ✭ 159 (-5.36%)
Mutual labels:  unity, unity3d
Unitypausemenu
This is an open source Unity pause menu created for the game New Horizons, and it's completely free because of how a pause menu is a core component of a game, while the unity asset store was lacking in such an asset (until this was released on the asset store).
Stars: ✭ 160 (-4.76%)
Mutual labels:  unity, unity3d
Commonchinesecharacter
游戏开发中的常用汉字字库,包括3500常用字和7000常用字
Stars: ✭ 162 (-3.57%)
Mutual labels:  unity, unity3d
Kinect Vfx Graph
Use Kinect's depth feed with Unity's VFX Graph
Stars: ✭ 163 (-2.98%)
Mutual labels:  unity, unity3d
Swissarmylib
Collection of helpful utilities we use in our Unity projects.
Stars: ✭ 154 (-8.33%)
Mutual labels:  unity, unity3d
Qframework
Unity3D System Design Architecture
Stars: ✭ 2,326 (+1284.52%)
Mutual labels:  unity, unity3d
Cmumocap
Unity humanoid animations converted from the Carnegie Mellon University Motion Capture Database
Stars: ✭ 153 (-8.93%)
Mutual labels:  unity, unity3d
Simple Optimized A Pathfinder
An simple and optimized grid pathfinding
Stars: ✭ 157 (-6.55%)
Mutual labels:  unity, unity3d
Awesome Opensource Unity
a list of curated opensource Unity packages for future proof Game Developers
Stars: ✭ 161 (-4.17%)
Mutual labels:  unity, unity3d
Unity Curve Utils
A utility that can use 18 kinds of curve algorithm.
Stars: ✭ 151 (-10.12%)
Mutual labels:  unity, unity3d
Ffmpegrecorder
FFmpeg extension for Unity Recorder
Stars: ✭ 153 (-8.93%)
Mutual labels:  unity, unity3d
Ignorance
Ignorance utilizes the power of ENet to provide a reliable UDP networking transport for Mirror Networking.
Stars: ✭ 158 (-5.95%)
Mutual labels:  unity, unity3d

Unity-Bullet-Hell

An extremely efficient projectile and particle generator for Unity.

What is it?

Animated Gif

This system makes use of Unity's Graphics.DrawMeshInstancedIndirect functionality, resulting in a single draw call per Projectile Type. This highly efficient system is able to handle an incredibly large number of projectiles at the same time.

This projectile system is tuned for 2D usage, and provides a multitude of options and configurations.

How do I use this?

This system is composed of a couple of parts.

Projectile Prefabs

Projectile Example

Projectile Prefabs are prefabs with an attached "ProjectilePrefab.cs" Monobehaviour derived script. They are stored in the "/Resources/ProjectilePrefabs" folder. These define the Mesh, Texture, Z-Index and other properties related to the Projectile Shader. It defines the appearance of the projectile, and the maximum number of projectiles per material instance.

You will want to tweak the "Max Projectile Count" value to be as low as possible for your application, in order to maximize efficiency. This caps the size of the buffers and data pools. If it is set too low, you will run out of projectiles to fire. If set too high, you will have reserved too much memory for your application.

Emitters

Emitter Example

Emitters spawn projectiles into the world, based on a set of properties. All of these properties can be programmatically controller or animated.

Shape Emitters

Shape Example

You can also create a custom shape template, and place it in "/Resources/ShapeTemplates". You can then use this Shape Template, on the ProjectileEmitterShape instance, and it will spawn the pattern you specified.

One Draw Call

The most amazing part is that you can draw large amounts of meshes in a single draw call. In the example below, every dot of color is a sphere mesh, and is all done in a single draw call.

http://www.jgallant.com/images/unitybullethell/test.gif

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].