Product Viewer Template- Exploding parts

At the Unreal Academy session, they showed how you can explode parts. I see the UMG buttons, and the Explode BP, but I can’t figure out how to set up parts to “explode”. Any help here? I’m sure I just am not looking in the right place.

What was shown at the academy was a demo made for the academy, based on the product viewer. However, what is in the product template don’t have this functionality. I hope you took good notes :slight_smile:

This will eventually be rolled in, but there is a huge difference between showing how to do things for educational purposes and put something in a product that works and is tested.

Ha, it looks like the script shown at the academy is also in 4.20 Preview 2:

Enjoy!

I see the Explode BP, and the controls when I add the BP to the scene. I just can’t figure out what or how to attach to the Explode BP to make parts explode. I’m very new to UE4, and have extensively studied the Event Graphs that Marc showed at Unreal Academy, but it’s difficult to understand. I tried to take notes, but didn’t see how he made parts move and explode. I can’t seem to ever get the “Explode” button to show up, even though I see the Widget. Sorry for being a noob.

I really see the huge benefit of adding interactivity, and really do see that UE4 and realtime rendering is the future for interactive CAD visualization.

Hi sbecker777

Let me try to help you through this.
Once you have opened the Product Viewer Template and you are seeing the Gears in the viewer.
Select all gears from the World Outliner.
Under the Blueprints menu , select convert selected component to blueprint Class.

[ATTACH=JSON]{“data-align”:“none”,“data-size”:“small”,“data-tempid”:“temp_140236_1529085576234_755”}[/ATTACH]
https://forums.unrealengine.com/core/image/gif;base64

Open the newly created Blueprint
Click on the class setting
On the right side, in the Details Tab , add Explode BP to the parent class.
Inside the Class Option section.

[ATTACH=JSON]{“data-align”:“none”,“data-size”:“medium”,“data-tempid”:“temp_140237_1529085935564_202”}[/ATTACH]
https://forums.unrealengine.com/core/image/gif;base64

Still in your Blueprint
Right click on the Event BeginPlay node and select add call to parent function

[ATTACH=JSON]{“data-align”:“none”,“data-size”:“small”,“data-tempid”:“temp_140238_1529086032607_503”}[/ATTACH]
https://forums.unrealengine.com/core/image/gif;base64

Connect it

[ATTACH=JSON]{“data-align”:“none”,“data-size”:“small”,“data-tempid”:“temp_140239_1529086054846_478”}[/ATTACH]
https://forums.unrealengine.com/core/image/gif;base64

Same thing in the Construction Script
Select Construction Script node, right click, add parent and connect.

Compile and save.

In the World Outliner , select your newly created PB
Under the Default Tab , find : Set initialTransform, Set Explode Transform button.

With you BP still selected , hit the Set initial Transform.
This should feed the first Transform Array element

[ATTACH=JSON]{“data-align”:“none”,“data-size”:“small”,“data-tempid”:“temp_140242_1529086972027_56”}[/ATTACH]
https://forums.unrealengine.com/core/image/gif;base64

Now move the StaticMeshComponent you wish to explode

[ATTACH=JSON]{“data-align”:“none”,“data-size”:“small”,“data-tempid”:“temp_140243_1529087127330_132”}[/ATTACH]
https://forums.unrealengine.com/core/image/gif;base64

Hit play

Should be good to go!

cheers

​​​​​​​

Hi Marie Claude,
I’m trying to convert an imported actor hierarchy to a BP component hierarchy using convert selected component to blueprint Class.
This works and converts to components but the BP hierarchy is flat, it loses it’s tree structure.
How do you preserve the actor hierarchy in the BP when converting? This is crucial for using imported scenes in AR that are spawned at run-time.
Thanks.

Hi Marie-Claude,
I’ve done everything as listed above, but I don’t get an “explode” button when I press the Space bar. I can view my Initial and Explode Transforms, the arrays get filled, but when I run the game in a new editor, I don’t get the Explode button, nor does anything move.

the convert to bp is buggy and need to be fixed. Bp editor has been designed to hold relatively small assets and loading a full scene as a bp is not going to work well… objects get renamed, hierarchy is lost and sometimes objects appear randomly placed.

i would consider using it for different use cases (like small assemblies) as opposed to use it as a full scene within a scene.

Have you submitted these bugs to the engine team?
The ability to have a full scene in a BP is essential for AR use where you typically want to spawn objects at run-time. The FBX import into level option even has the option to import as BP.
Please could you implement the option to import as BP (like FBX) and fix the convert to BP option?
The team seem extremely resistant to this idea. I appreciate it complicates the reimport functionality but I and others really think it is essential.
Thanks for considering this.

LOST Image?
Can you please re-add the image?
Grazie

where can I find this session because I’m interested as well in such explosion mode possibilities for what ever technical objects

Still struggling, but almost there!

I’ve downloaded 4.20.0 Preview 4, and updated the Unreal Studio Datasmith plugin (still shows version 4.20.0 E0). I started a brand new project using the Unreal Studio Product Viewer template, and imported my CAD objects (Rhino files) using the Unreal CAD importer and all come in great. I find the parts I want to explode and make them into a BP (mine is called Cartridge_Door_Blueprint) as Marie Claude indicates, following his steps in post #5 to the letter. When I play in the editor/new window, everything works as I expect. The parts explode and rebuild properly. YES!

However, when I press Save Current and save the Product Viewer map, I get this error:

Can’t save D:/Unreal Projects/MyProjectName/Content/ProductViewer/Levels/ProductViewer.umap: Graph is linked to private object(s) in an external package.
External Object(s):
DatasmithAssetUserData_0

Try to find the chain of references to that object (may take some time)?

If I click Yes, I get this error message in the Message Log in Editor Errors:

Can’t save D:/Unreal Projects/MyProjectName/Content/ProductViewer/Levels/ProductViewer.umap: Graph is linked to external private object DatasmithAssetUserData /Game/ProductViewer/Cartridge_Door_Blueprint.Cartridge_Door_Blueprint_C:CartridgeDoor_GEN_VARIABLE.DatasmithAssetUserData_0 (AssetUserData)

Also, when I cook for Windows, all goes fine, and packaging for Win64 finishes without errors. However, the executable ONLY has the light, sample mesh and transmission gears, NOT any of my imported CAD objects. Seems to be related to the above errors.

Steve

I saw this too when I was messing with the new version and adding parts to blueprints. Its almost like containing them in blueprints makes them dynamic in a way and cant be saved in the level. You might be able to just spawn that actor on begin play if you need to try it in a packaged game.