No announcement yet.

[TUTORIALS] Photons Be Free: Mini-tutorials and other curiosities

  • Filter
  • Time
  • Show
Clear All
new posts

    Rigid mesh Animation using bake Destruction simulation

    Destructible's How-To 2: Rigid Mesh Animation (No Bones Required!)

    Thanks to Osman for his help in getting this working originally for me!


    **While this tutorial is meant to show phyiscs simulations that baked to an animation timeline you can use this for other animations that are not physics or destruction oriented.**

    In this tutorial we will take a physics simulation created in Max (sub in your own modeling software if need be) and baked to the animation timeline and bring that into Unreal Engine 4 without the need to rig, skin, or use any bones for the chunks that are being animated.

    **This will not cover using PhysX Labs plugin or MassFX to bake the animation to the timeline. This will assume you've already gotten to that point and start from there to UE4.

    Max 2013 file and FBX file assets:

    Step 1: Before Exporting the Animation

    Animation we'll export:

    Click image for larger version

Name:	DM_Anim_GIF.gif
Views:	1
Size:	54.2 KB
ID:	1065507

    This is my mesh with the timeline animation:

    Click image for larger version

Name:	DM_AnimationMax.PNG
Views:	1
Size:	142.4 KB
ID:	1065501

    Once you've got your animation setup the way that you would like you'll need to select all the Fracture chunks or pieces and place them in a group:

    You can do this in Max by going to the menu bar > Group > Group > pop-up window > Give your group a name

    Click image for larger version

Name:	DM_Anim_Grouped.PNG
Views:	1
Size:	25.6 KB
ID:	1065502

    After you've grouped your pieces we can export.

    Select your group and choose Export Selected.

    Use these FBX settings, making sure that you include the animation. You can specify the exact frames you want to export if you'd like)

    In my animation it is ~200 frames

    Click image for larger version

Name:	DM_AnimFBXExport.PNG
Views:	1
Size:	26.3 KB
ID:	1065503

    Step 2: Importing your Rigid Mesh Animation into UE4

    When you import the FBX into UE4 make sure that you've selected the option for "Import as Skeletal" for this to work correctly.

    Use the following settings:

    Click image for larger version

Name:	DM_Anim_UE4_ImportOptions.PNG
Views:	1
Size:	80.9 KB
ID:	1065505

    Step 3: Using your Rigid Mesh Animation

    Place your skeletal mesh in your scene and create a reference to it in your Level BP and pull off a the pin to create a "Play Animation" Node. Select the animation and whether it should loop.

    Click image for larger version

Name:	DM_ANim_BP.PNG
Views:	1
Size:	65.0 KB
ID:	1065506

    Then Play in Editor which should result in this.

    This technique was used extensively in the Elemental Demo for the destruction when the Lava is flowing and shattering the rocks.

    I hope you've enjoyed this and if you have any questions feel free to ask!

    EDIT: Apparently I left my music playlist playing in the background. Enjoy the music courtesy of Star Trek.
    Last edited by Tim Hobson; 01-22-2015, 08:38 PM.
    Tim Hobson | Learning Resources | Epic Games
    UE4 Documentation


      Destructible How-To 3: How to use "Large Chunk Threshold"

      Click image for larger version

Name:	LargeChunkThreshold.PNG
Views:	1
Size:	511.0 KB
ID:	1065533


      This video will look at how to use Large Chunk Threshold in your Destructibles component settings in the Details Panel.

      What is Large Chunk Threshold?

      Quite simply this is the minimum size that each chunk must be to be considered a large blocking chunk to prevent the player from passing. Anything that is below this threshold will not block the collision capsule of the player. This is extremely great in circumstances where you want to have destruction with smaller pieces that do not obstruct the player from reaching the goal, which can happen with smaller threshold levels. Test and tweak accordingly to get the best results!

      Project Download Link

      In this demo here are some of the settings:

      DM 1 is set to the default of 25.
      DM 2 is set to 75 and only some chunks will block the player and others will allow the player to walk through with no collision
      DM 3 is set to 500 which means that none of the chunks are larger than that value so the player can walk through all the chunks.

      Keep in mind that this is only for the chunks and does not apply to the DM before the fracture occurs.

      Last edited by Tim Hobson; 01-23-2015, 04:46 PM.
      Tim Hobson | Learning Resources | Epic Games
      UE4 Documentation


        Project 8: Day/Night Level Switch with different baked lighting

        Click image for larger version

Name:	Day.png
Views:	1
Size:	113.3 KB
ID:	1065543 Click image for larger version

Name:	Night.png
Views:	1
Size:	81.9 KB
ID:	1065544


        A while ago I had an AnswerHub question that asked could there be different lighting baked for levels that occupy the same place. The goal was to have a Day and Night version of the same place. This is possible with some doubling of assets and using level streaming to handle the switch.

        With this demo for the question I set up my base level (persistent level) that would handle the Level BP with the level streaming switch. Then I would setup two additional levels. 1 for the Day and 1 for the Night.

        Now that I had this in place all that was needed to do was to toggle each maps Visibility via the Levels window and build lighting for each individually. It's completely possible for each level to have it's own baked lighting using this method. It's also key to remember that anything in the Base (Persistent) level will be baked into any level below it. (Ie. if you have a blue light in your persistent and you only want to bake lighting for the day map, the night map will also bake this blue lighting.)

        You will see that each map I duplicated everything so that I could have the day setting and the night settings for their respective map. This is a broad example just to show the technique is possible.

        Project Download Link

        Just press Play to see the results. If you look at the level BP you can disable the event begin play and load in by key press of F for Map 1 and G for Map 2.
        Tim Hobson | Learning Resources | Epic Games
        UE4 Documentation


          Useful and nice tutorials.
          Thanks you Tim.
          Hevedy - Instance Tools:
          Hevedy - Image Tools:


            Jump pads! I love jump pads

            Last edited by BrUnO XaVIeR; 01-24-2015, 07:59 PM.
            | Savior | USQLite | FSM | Object Pool | Sound Occlusion | Property Transfer | Magic Nodes | MORE |


              Those look like a lot of fun BrUnO! A lot more fun than my simple setup.
              Tim Hobson | Learning Resources | Epic Games
              UE4 Documentation


                Lovely collection! Definitely some gems here for my side projects
                Game Developer @ LODZERO - My Twitter | UE4 samples & tutorials | C++ Survival Game (Open-Source)


                  Other How-To 2: Creating (Mostly) and Importing a APEX Cloth asset created with 3Ds Max and PhysX DCC Plugin

                  Requirements using this method: 3Ds Max/Maya and PhysX DCC Plugin

                  If you need the PhysX DCC plugin you can sign up at This page will help get you started:


                  This will be a short tutorial to quickly cover creating a simple cloth asset and importing it into the Unreal Engine 4. There have been similar tutorials already, but mostly wanted to cover a written tutorial for this. The video is just an added bonus as I had made it while troubleshooting the process for an AnswerHub post.

                  FBX and APB Files:

                  Video: This will not cover much other than a run through of the process.

                  Step 1: Create a plane with a lot of verts (within reason) and convert to Edit Poly

                  Click image for larger version

Name:	1_Cloth Plane.PNG
Views:	1
Size:	12.0 KB
ID:	1065664

                  Pretty straight forward. Create a plane and add some verts to it. I just used an arbitrary size and set the length and width segments to 24 for this demonstration.

                  Step 2: Apply a material to the plane (Important!)

                  Click image for larger version

Name:	2_Mat to cloth.png
Views:	1
Size:	48.8 KB
ID:	1065665

                  This, at least to me, is a very important step that confused me quite a bit when I first started using cloth. If you do not apply a default material to your mesh and use the one that is on the mesh when you created it there will be no material assigned to the cloth asset when you import it into UE4.

                  So make sure to add a default material otherwise you'll not have a material to be able to assign the cloth apb file to your mesh later when imported into UE4.

                  Step 3: Create a bone

                  Click image for larger version

Name:	3_Withbone.PNG
Views:	1
Size:	21.7 KB
ID:	1065666

                  Create a bone that we can use in the next step to "skin" to our mesh.

                  Step 4: Add a Skin Modifier to your Plane

                  Add a skin modifier via the drop down modifier list to your cloth plane.

                  Click image for larger version

Name:	4_Add Bone.png
Views:	1
Size:	55.6 KB
ID:	1065667

                  Once the modifier is selected locate the Bones: "Add" button and click this. This will bring up a small window where you can select the bones in the scene to skin your mesh to.

                  Click image for larger version

Name:	4_select Bone.png
Views:	1
Size:	22.4 KB
ID:	1065668

                  Step 5: Add the PhysX cloth modifier via the PhysX toolbar

                  Next you'll need to add the cloth modifier from the PhysX DCC Plugin toolbar

                  Click image for larger version

Name:	5_ClothPXL.png
Views:	1
Size:	23.1 KB
ID:	1065669

                  Once this has been added you will see it populate in your modifier stack along with its settings when selected.

                  Click image for larger version

Name:	5_clothmodifier.PNG
Views:	1
Size:	51.6 KB
ID:	1065670

                  Step 6: Paint weight accordingly for your cloth and test with the simulation

                  Under the settings locate "Paint" and set a value for the Brush Value.

                  I will use 200 for mine. The default is 0 which effectively means there will be no cloth simulation for any areas painted with a 0 weight.

                  Click image for larger version

Name:	6_paint.PNG
Views:	1
Size:	5.1 KB
ID:	1065671

                  Select the brush to paint the weighting.

                  Click image for larger version

Name:	6_paintingweight.png
Views:	1
Size:	106.5 KB
ID:	1065672

                  As you paint you will see red trace lines that come out. This is the 200 cm value that we used. If you use higher or lower values this will be longer or shorter. 0 will have no trace lines.

                  Click image for larger version

Name:	6_paintingweight2.png
Views:	1
Size:	94.0 KB
ID:	1065673

                  Step 7: Test your assets simulation

                  Select the play button here to see your cloth simulation.

                  Click image for larger version

Name:	7_play simulation.png
Views:	1
Size:	23.8 KB
ID:	1065674

                  If you want to see wind simulation to see a more practical use of your cloth in the settings locate the Wind section and use these settings before hitting play.

                  Adjust according to your needs.

                  Click image for larger version

Name:	Wind.PNG
Views:	1
Size:	2.2 KB
ID:	1065675

                  Simulation result:

                  Click image for larger version

Name:	simulationresult.PNG
Views:	1
Size:	31.3 KB
ID:	1065676

                  Step 8: Select the Cloth and Bone to export selected as and FBX

                  Select the bone and the cloth plane. Then go to File > Export > Export Selected > Choose a name for your file > Change File Type to FBX > Click Save

                  Step 9: Export the scene (not just selected) with the file type PhysX and APEX

                  Same as above with exception that we will just export the scene this time and not just the selected object.

                  File > Export > Change file type to "PhysX and APEX" > Click Save

                  Click image for larger version

Name:	ClothSaveAPB.PNG
Views:	1
Size:	4.1 KB
ID:	1065677

                  After you click save a new window will pop up. Use these settings:

                  Click image for larger version

Name:	PXLSettings.PNG
Views:	1
Size:	14.3 KB
ID:	1065678

                  Step 10: Open UE4

                  Self explanatory.

                  Step 11: Import the FBX we just created for our Cloth plane

                  Locate your FBX that was first exported with just your Cloth plane and bone and import this into UE4.

                  Use these settings:
                  Click image for larger version

Name:	UE4Import.PNG
Views:	1
Size:	77.8 KB
ID:	1065679

                  Once that is imported locate the cloth skeletal mesh and open the asset.

                  Once this is opened verify that you do have your material slot. If not, you'll need to go back to Max/Maya and add a default material.

                  Click image for larger version

Name:	ClothSK.png
Views:	1
Size:	489.3 KB
ID:	1065680

                  Step 12: Open the our Cloth plane skeletal mesh to apply the cloth apb file we exported last

                  Now we'll click the the option to "Add APEX clothing file..." and navigate to where we saved our APB file we created.

                  Click image for larger version

Name:	Final.png
Views:	1
Size:	113.9 KB
ID:	1065681

                  After importing the apb file you'll be able to assign this to the material via a drop down.

                  You will also notice that you can adjust various settings for your apb file to control how the cloth reacts. These are all settings that can be setup via the PhysX DCC Plugin as well.
                  Last edited by Tim Hobson; 01-27-2015, 04:22 PM.
                  Tim Hobson | Learning Resources | Epic Games
                  UE4 Documentation


                    Wiki Tutorial 1: Lighting Troubleshooting and Tips Guide


                    This one is still very much a Work-In-Progress as Eric and I work to get some simple troubleshooting and tips up for everyone. We've wanted to do this for a long time and have gotten a little bit of a push to make this available for those having issues.

                    The majority of these will be simple steps with a little bit of explanation for the "why" of it all.

                    Over the next couple of weeks Eric and I will be updating this regularly as we knock some of these out.

                    If you see anything missing or something you want covered please let me know and I'll add it to our list.

                    Here is what has been added so far:

                    General Lighting Tips:
                    - Why are my shadows black?
                    - Converting BSP to Static Mesh Lightmapping
                    - Two-Sided Lighting for Single Sided Meshes, or Why does my light come through the roof?
                    - What if I don't want to have lightmaps at all or my game doesn't need them?
                    - Why Does this look nothing like it did before, or Engine Scalability and you
                    - Why is there a red 'X' over my light?

                    Movable (Dynamic) Lighting Tips
                    - Shadow Bleed or Incorrect Shadows
                    1. Directional Light ONLY: Cascaded Shadow Map Settings
                    2. Adjusting Cascades for better Quality
                    3. All Dynamic Light Types (Light Tab Settings)
                    - Why does my Movable light shine through my mesh at far distances?

                    Static Lighting Tips:
                    - Lightmap Resolution / Shadow Quality (Static mesh vs BSP)
                    - What does this "Warning: Overlapping UVs" nonsense mean?
                    - How do I generate lightmap UVs in the editor?
                    - How to control Global Illumination with Static Lighting?, or The Wonderful Thing About Bounce
                    - Why is there shadow splotches on my static mesh?, or How to clean those dirty lightmaps?
                    - What is the "Lighting needs to be rebuilt" in the Top Left corner error?
                    - Lighting Quality Comparison, or Production > Preview



                    These are done just not up yet.

                    In the works.
                    Last edited by Tim Hobson; 09-01-2016, 08:24 AM.
                    Tim Hobson | Learning Resources | Epic Games
                    UE4 Documentation


                      Hi Tim, the link of the project
                      Gregdumb's wiki tutorial for Day Night system (with some tweaks)

                      Redirect you to a dropbox file of 1,16 KB. I downloaded and it only has 2 .ini

                      Thx for sharing this tutorials !!!


                        You're totally right on that. I've fixed it now.

                        Thanks for letting me know.
                        Tim Hobson | Learning Resources | Epic Games
                        UE4 Documentation


                          Hey Tim -

                          The Split Screen tutorial images are not showing would you mind fixing them?


                            Originally posted by HeadClot View Post
                            Hey Tim -

                            The Split Screen tutorial images are not showing would you mind fixing them?
                            It's fixed now. Thanks for point it out!

                            Tim Hobson | Learning Resources | Epic Games
                            UE4 Documentation


                              Originally posted by Tim Hobson View Post
                              It's fixed now. Thanks for point it out!


                              Hey thanks for that

                              Stay Epic Tim!


                                Thank you very much for all the tutorials and project files.