-
Notifications
You must be signed in to change notification settings - Fork 183
Description
Description 📝
I created a thread detailing my thoughts on a possible Exploder tool (you can check it here) and as suggested there, i'm creating this feature request.
In previous versions of Open Engine we had the ability to explode a model using its storeys as dividers (although that is one of the features that haven't been moved to the current version yet).
I think a useful variant of this tool could be one where the user could choose a point to server as the center of the explosion, with the model opening itself up from there. From there, the user could control the explosion factor using a UI element like a slider, for example. This would mean that items that were originally closer to the chosen center would need a higher explosion factor to be moved away from it, while further away items would be more sensitive to changes in this explosion factor.
Suggested solution 💡
Given that the current version of Open Engine doesn't support the direct manipulation of a model's meshes, this tool would require us to add to the scene a copy of the entire model's meshes, so that we could then reposition them, in accordance with the user chosen explosion factor.
After adding a copy of the model to the scene (and hiding the original model), the user would move a 3D point around the scene, in order to determine the center point of the explosion.
Finally, the distance and direction vector between each item of the model and the center point would be calculated, in order to then use them to calculate the translation needed to be performed on each item, in order to "explode/open up" the entire model.
With the model now exploded, the user can continuously update its explosion factor by using an UI element (ie, control the degree of the explosion in real time), with a higher explosion factor resulting in a more "visually opened up model", while an explosion factor of 0 would visually result in a model identical to its default/starting state ("un-exploded").
Alternative ⛕
I have been trying to find a way to circumvent having to add an entire copy of the model to the scene, in order to lower the performance impact of the tool, but it seems that with the current version of Fragments, it is inevitable.
I also thought about adding these meshes copies to the Open Engine's culler, but again, it seems the newer versions have made that less straightforward.
Any suggestions on how to combat the performance hit this tool creates are greatly appreciated! :)
Additional context ☝️
My current implementation has this nasty bug where after a user moves the explosion factor slider, some meshes get all mangled and end taking up the entire screen. However, if the user keeps updating the explosion factor, the meshes eventually "fix themselves" and then assume their correct sizes and positions again. Sadly, i haven't been able to determine the cause of this issue.

Validations ✅
- Read the docs.
- Check that there isn't already an issue that requests the same feature to avoid creating a duplicate.