Advanced Laser, Energy, & Bullet Decal System

Hi Demolition Man! Thanks for the question.

When I set this up for the marketplace, my intention was that this system would be put into individual weapon blueprint classes. Meaning that each weapon could have its own unique decal & particle system attached to it.

  1. So for instant fire weapons, I would move the level blueprint code into the individual weapon bp firing code.
  2. For projectile based weapons, I would move the level blueprint code into the projectile bp collision code.

This has been a common question and it was suggested that I make a macro version of the pack which I’m interested in doing, but have no ETA on that change yet.

I hope that helps and as always… have fun with your Gamedev!!!

OK, so if I understand you correctly, the code that currently is residing in the demoroom level blueprint area should be moved to the projectile blueprint.
So, when I set up my materials in a level, do I hook them to the matching physical materials that you have provided to get things to work? So like if I have a land/sea container in game, I change it’s material to your physical material called “Metal”?

Correct. The easiest way to get going is to import the physics.ini file into your project as the enums will match correctly to the already setup system. Then you will need to assign the physics settings to your materials and mesh collisions.

Something you might want to consider as an addition to a future version is to add a “Flesh” material type. I use this to identify characters in my game. I can see that it would be cool to have a series of effects that happen when you hit a player that’s separate from hitting other materials in the level.

And yes, I mean blood splatters!

Hehe

Thanks I’m looking at doing some blood systems for different wounds, damage type, headshots, and bleedouts. Plus you have to have entrails! =)

Now Devero, let’s not get too gross. Or at least if you plan to do that have some sort of switch to activate the levels or gore.

yes, I will just have to make it green blood for low violence =) lol

New Rating and Comment System is up for this pack.

Advanced Laser and Bullet Decals

Advanced Decals New Update! Super Modular and Quick to Setup.

New Update Released**
-) The new update contains an “EASY BUTTON” option for people. I’ve added a custom function library so you can easily plug this functionality into any character, controller, or pawn.
-) Included sample code for the First Person Template, Third Person Template, TopDown Template, Sidescroller Template, and even the Flying Template.
-) Install the decal system in minutes to any application.

How to use Guide****

Setup:

  1. Add the pack to project
  2. Load the physics config shown HERE
  3. Load the AdvancedDecals demomap and ensure everything works!

Basic Use:
4) Inside of character, controller, or pawn blueprint, Right Click to obtain the context help menu
5) Type in “Advanced Decals” into the filter and you will see several functions, choose “Advanced Decal Gun Simple”

f7de90828d452ea43b8deed6997e155ed6557bd1.jpeg
*Notes (Base is like the demo room) (Custom is a starting for creating your own inputs and outputs) (Gun is a version that has a Player Index option)

  1. Input the Required Data into the fields

  • InFireStart : Start Vector for the Gun Fire
  • InForwardVector : Direction of Gun Fire
  • InFiringRange : Max Distance the gun can shoot
  • InIgnoreTrace : Actors that are ignored, include your own model
  • InDecalSize : X,Y is the size, Z is the depth of projection
  • WeaponEffects : Customized set of effects for this Gun/Character
  • OutHitResult: Output the trace data if user requires it
  • OutDidHit : Output if we actually hit anything

Weapon Effects:
7) Right click on the blueprint and type “Make EffectsStruct”
8) Input all of your Particle effects and Decal Materials for this weapon and for each surface type (metal, dirt, carpet…)

5d3dced2274443989d91dc22d23771cea8995135.jpeg

  1. DONE! Go shoot it up!

Sample Snippets Included!
For even faster iteration time, I have include some example code snippets for the common engine templates. Look under Decals–>Blueprints in the Content Browsers

19bc5f7ff693b119e97cb91596a3565b22507077.jpeg

Then choose what templated version you need and open up the blueprint. From there, you can quickly copy the code and default EffectsStruct into your own blueprint for quick implementation. Thats it!

98f0f3a439f6a80155227cacfad548fc834ef9ca.jpeg

This new update makes it super simple to implement into any code project. I have tested it with all of the 4.7 templates. Let me know if there are any problems.

Have fun with your GameDev! =)
-Devero

Wonderful! Thx. Still beeing dumb trying to get this to work in our project hehe. :smiley:

Oh yeah, it won’t work just yet. It will probably be a couple of days until the Update is released through the launcher. You’ll get an update notice to your pack like when there is an engine update.

No, I already saw an update yesterday. But still too dumb to get it to work. :slight_smile:

Ok anders, lets see if we can figure this out.

  1. Are you able to load the AdvancedDecals demo map and see the correct decals when shot?
    ->If No, did you load the physics ini file
    –>If Yes, are you able to see the correct Physical Surfaces under the “Physics” category inside of the “Project Settings”

  2. Right click inside of your level blueprint and type “Advanced”. Do you see the Advanced Decal Functions category?

  3. What version of the engine are you using? (4.6 or 4.7.3) Is it the launcher build or Github build?

  4. Can you explain your project setup a little. If its based off of one of the Engine Templates, which one?

If you can answer these questions, I’ll be more than glad to help you figure it out =)

Thanks!

Hi Devero,

I’ve just purchased the pack and I like it so far! :slight_smile: I have a question though, is there a way to avoid this weird behavior at the corners:

Maybe I’ve missed something in setting the project up?

Hi CodeSpartan,

Change the decal size “Z” value to a much lower number like “4”. I may have the default depth too high around 32. Let me know if you still have issues =)

Yeah, setting Z to 4 solved this. Thanks for the quick reply! :slight_smile:

No problem! One thing to point out also on this “Z” setting. FYI if you ever run into a scenario where the polygonal mesh surface is very far away from the collision mesh, having a too small of “Z” may not be deep enough to project a decal correctly.

Thanks!

Hi Devero
What can I say? Just Awesome.
Guys, I have a question. I made my own Bullet hole decal for glass. I used translucent bland mode for deferred decal. For glass surface I used usual rectangle mesh with simple translucant material. But unfortunately hole decals are not visible on that kind of material. when I switch translucant to opaque, it is looks great. Would you help me? what is my mistake?

I’ve got the pack installed and everything is working great in the demo room.

Has anyone written a “For Dummies” guide yet on how to apply the system to guns/weapons we’ve already created? The easy button is simple enough…but as I’m sure is the case with a lot of folks, I have my own custom weapons already built. To be more specific, I have custom projectiles that I’d like to use the impacts and decals based on damage type and material type hit. I’m assuming I need to dig into the guts of the Advanced Decals Custom() function, but was hoping someone had experience attaching it to their own assets already and I could adapt their “lessons learned”.

Amazing kit by the way, I have both the particles and the decals. This is the type of stuff I would never be able to create myself with any degree of quality.

Thanks vanillaf4i! I’m glad to hear it helped you.

I added the custom library that you could simply attach the pack to any nodework. Currently, the “Advanced Decal Gun Simple” node does do a line trace itself and returns the hit result. So where you have your existing gun line trace, you can swap out the trace node with the “Advanced Decal Gun Simple” node. Then you can just take the output Hit result as if nothing had changed.

The second option would be to customize the function to input a hit result from your existing network and not do an unnecessary one.

If there was interest, I may even add that version into a future update where you can input an existing trace for more options.