Home Unreal Engine

Unreal 4 Bullet damage exploration

polycounter lvl 4
Offline / Send Message
SamuelDV polycounter lvl 4



Hi guys!

I'm starting a project to see what I can get out of the unreal engine 4 bullet damage tools.

I'm starting out by exploring the basics, which means basic destructable meshes.

Feel free to give any tips and remarks.

Replies

  • SamuelDV
    Offline / Send Message
    SamuelDV polycounter lvl 4

    shooting at a destructable mesh, fractured by unreal 4 itself.

    negative about this is that all chunks are the same size, in big explosions this is clearly visable.


    Next up, concrete pillar with fracturing done by Rayfire for 3ds Max

    Bigger and smaller chunks, more variation

    in an explosion the variety is clearly visable.

    Next up: Wood, fractured by Rayfire:

    pretty nice results so far

    in an explosion, not that much variety.



    So far so good, went over the basic of bullet damage in destructable meshes.
    Next up is finding a way change materials with bullet damge,

    for example, changing tiles to broken tiles, locally.



    Tiles are to be chipped off in real time, by the bullet impact.


    S.
  • SamuelDV
    Offline / Send Message
    SamuelDV polycounter lvl 4
    Update:


    I took a look at some Uncharted footage and took this screenshot:

    I took this as a reference for the mechanics behind tile bullet damage.
    Figured out a good way to create a destructable wall with 3 layers:
    -Tiles
    -Concrete
    -Steel beams



    fracture mesh of the tiles looks like this (500 parts):

  • SamuelDV
    Offline / Send Message
    SamuelDV polycounter lvl 4
    Started on implementing glass destruction. Got a basic model done. Now experimenting with different types of glass.



    Now I want to implement nvidia Flex into Unreal to get realistic sacks of grain working with bullet impacts.
    https://www.youtube.com/watch?v=ktVmLJ5i4NY
  • Obscura
    Offline / Send Message
    Obscura grand marshal polycounter
    These are cool but I'm not sure about how good they perform. I tried doing the tile thing earlier, but differently... I had many destructibles attached to a wall box. It kinda worked but it melted my computer. Now I have a newer one but I haven't tried it again so I don't know. They are nice though.
  • SamuelDV
    Offline / Send Message
    SamuelDV polycounter lvl 4
    Obscura said:
    These are cool but I'm not sure about how good they perform. I tried doing the tile thing earlier, but differently... I had many destructibles attached to a wall box. It kinda worked but it melted my computer. Now I have a newer one but I haven't tried it again so I don't know. They are nice though.
    Thanks for the feedback Obscura,
    In this case, the destructable mesh is only rendered once the wall is hit by damage. Before that it's just a flat box. You would have multiple wall pieces, so the game wouldn't have to render all the fragments at once, if that makes sense. 

    This might be what you were saying, but I got confused with 'I had many destructibles attached to a wall box'.

    S
  • chrisradsby
    Offline / Send Message
    chrisradsby polycounter lvl 15
    Cool man! Awesome to see this stuff happening in UE4 =)

    Not sure this will help but it might be interesting to you?
    We had real-time destruction booleans happening in The Division.
    https://youtu.be/vgCpk36HaOw

    (tiles is at the 1 minute mark of this video)
  • SamuelDV
    Offline / Send Message
    SamuelDV polycounter lvl 4
    Cool man! Awesome to see this stuff happening in UE4 =)

    Not sure this will help but it might be interesting to you?
    We had real-time destruction booleans happening in The Division.

    (tiles is at the 1 minute mark of this video)
    wow thanks Chris, really good reference. Do you have any inside on the techniques used for this? Would help out a bunch!

    S
  • Obscura
    Offline / Send Message
    Obscura grand marshal polycounter
    SamuelDV said:
    Obscura said:
    These are cool but I'm not sure about how good they perform. I tried doing the tile thing earlier, but differently... I had many destructibles attached to a wall box. It kinda worked but it melted my computer. Now I have a newer one but I haven't tried it again so I don't know. They are nice though.
    Thanks for the feedback Obscura,
    In this case, the destructable mesh is only rendered once the wall is hit by damage. Before that it's just a flat box. You would have multiple wall pieces, so the game wouldn't have to render all the fragments at once, if that makes sense. 

    This might be what you were saying, but I got confused with 'I had many destructibles attached to a wall box'.

    S
    I made the tiles as individual destructible meshes because i wanted them to break separately. But this was obviously way too heavy. I also tried using one big box with tiling tile texture but it didn't break nicely.

    Anyways, how do you deal with the pieces that just stays in the air and floats after destructing a lower part of the mesh?
  • SamuelDV
    Offline / Send Message
    SamuelDV polycounter lvl 4
    Time for another update: 

    I want to get grain sacks in there that react to physics (bullet impact). I plan on doing that with the soft bodies from Nvidia Flex. Getting Flex implemented in Unreal 4 is not easy, so I decided to write a comprehensive tutorial:

    1. Get an account on Github, and download the software.

    2. Link your Github account to your unreal account: Head over to https://www.unrealengine.com/ , go to your account, and fill in your Github name. 
    If you refresh your Github account page, a new Icon should pop up that sais Unreal Engine. This means you linked your account succesfully. For those that can't get this to work, you'll need to go to GitHub.com/EpicGames and if you look at the top you'll see "View Invitations" if you done it right. Click that and accept it.

    3. Clone the Nvidia Flex Tree. Follow this link: 
    https://github.com/NvPhysX/UnrealEngine

    Click the 'Open in Desktop' button. This will open Github, and start cloning the tree.

    4. In the meantime download and install Visual Studio Community 2015: https://www.visualstudio.com/downloads/

    5. Once this is all done, you should have a bunch of files in the given file destination. Start with opening Setup.bat. This should download some files, no problems will appear. 

    6. Next, click the GenerateProjectFiles.bat file. This can generate some errors. 
        'ERROR: Windows SDK v8.1 must be installed' -> go to https://developer.microsoft.com/en-us/windows/downloads/windows-8-1-sdk and install the SDK

        'No 32-bit compiler toolchain found in C:\Program Files (x86)\Microsoft Visual Studio X.0\VC\bin\cl.exe' -> This error means that the C++ language is not          setup in your VS. Go to your Visual Studio, and try to open a project with the C++ language, it should start downloading the C++ files needed to do so. 

    7. Load the project into Visual Studio by double-clicking on the UE4.sln file. Set your solution configuration to Development Editor and your solution platform to Win64, then right click on the UE4 target and select Build. It may take anywhere between 10 and 40 minutes to finish compiling, depending on your system specs.

    8. After compiling finishes, you can load the editor from Visual Studio by setting your startup project to UE4 and pressing F5 to debug.

    9. You can now start a new project or open a sample one, and start using Nvidia Flex.

    EDIT: if you still get an error (Unique to the Flex branch, as I did), you can try unistalling Visual Studio COMPLETELY: 
    http://stackoverflow.com/questions/12584912/how-to-completely-uninstall-visual-studio-2010, this might take some time).After that you'll want to reinstall and do a custom setup, with the 'update 3' checkbox UNCHECKED. 
    When you now rebuild, you shouldn't get any errors.
  • SamuelDV
    Offline / Send Message
    SamuelDV polycounter lvl 4
    Obscura said:
    I made the tiles as individual destructible meshes because i wanted them to break separately. But this was obviously way too heavy. I also tried using one big box with tiling tile texture but it didn't break nicely.

    Anyways, how do you deal with the pieces that just stays in the air and floats after destructing a lower part of the mesh?
    I don't some tiles will stick to the concrete a bit longer, it doesn't seem like something that denies physics. Do you have a clear example of this?

    S
  • SamuelDV
    Offline / Send Message
    SamuelDV polycounter lvl 4
    Got Flex working in unreal, FINALLY

    lots of possibilities with this:







    S.
  • Shiverspine
    Offline / Send Message
    Shiverspine polycounter lvl 2
    Looking great man! Thanks for the tutorial!

  • SamuelDV
    Offline / Send Message
    SamuelDV polycounter lvl 4
    @Shiverspine thanks!

    Update:

    An example of the softbodies I'm trying for the grain bags, I finally got custom meshes in there:



    I also explored another route, bone based animation. I spent quite some time figuring this out, but I can now trigger an animation when I shoot the test meshes for the bags:


  • SamuelDV
    Offline / Send Message
    SamuelDV polycounter lvl 4


    back to bone based animation:

    current situation, you shoot the bag once, it deflates 1/3, and so on. 
    you can also shoot the bags 3 times rapidly, and the bag will deflate at once.



    main bag blueprint:


    also made a quick texture:



    S.
Sign In or Register to comment.