Dynamic slicing destruction

Hi fellow unrealers. About week ago i made this:

and few people asked me how i did it. Its very simple but instead of explaining it to everyone separately ill do this small “tutorial”.

This is a picture of blueprint (which I called boxcutter) of which is made the structure in the video. Its just a cube with 8 arrows. Arrows are in positions where would be centers of cubes if I cut the original cube in half on every axis. I use arrows (i use them a lot, love them) as helpers for position where spawn new cubes when slicing. Its simple because when i spawn new iteration of itself with scale/2, they are still in right place.

In construction script, i add all arrows to array so i can later use in For Each Loop.

Only thing that do something in this blueprint is a function I called cut as seen in pictures below.

Overview

01

Maxcut Level decide when max cutting level is reached. After first cut the scale is 1/2. After second it is 1/4 and so on. When max cutting level is reached, i spawn different blueprint. This different blueprint (which I called smallCube) is blueprint with just a cube (static mesh component) and no functionality (cannot be cuted) at all . It also have a different color for no reason.

02

Cube reference is itself static mesh component.

03

Here Im spawning another instances of itself (boxcutter).

04

Other branch after section 01 is same but in 03 Im spawning different blueprint mentioned above called smallCube.

Whole structure is connected (every neighbor cubes together) with breakable physx constraints. I later also add function when Normal Impulse from Event Hit is large enough, cut function is called (for example when it hit ground).

And thats basically it. I hope i didnt forgot anything.

Any question or discussion on how to improve it is welcome.

"Whole structure is connected (every neighbor cubes together) with breakable physx constraints. I later also add function when Normal Impulse from Event Hit is large enough, cut function is called (for example when it hit ground).
And thats basically it. I hope i didnt forgot anything."

where to find physics constraints?. can you go more in depth on that.
do i need to make the cube a destructible to get contraints? how is it done?

Constraint is just a joint. No need for destructible. Constraints User Guide | Unreal Engine Documentation

thanks a bunch you are the best :slight_smile:

I made a video on my progress :slight_smile: i could use some help

This is so cool :3

Awesome Work @Nigkdo! I’ve been looking for an effect like this to add a Material similar to the Pixels Movie Cube Disintegration Particle Effect.

Hi. Try to make Static Mesh Component “cube” in your main blueprint (ds_box) the root component. Just drag it with mouse and move it over the DefaultSceneRoot.

edit: Or make arrows children of cube.

thanks nigkdo that worked :). but how do i make my cube cut when it lands on the ground? and is there anyway to make the smaller cubes not affect collision. like the threshold feature in apex?

tnx awesome

Thanks thanks thanks!
I did it and added reconstruction too + time delay and freeze. Reconstruction was my initial goal…something not possible via DMesh…,but reading your tutorial I could implement it!
You gave me an idea on doing destruction on all shapes…not only cubes:
placing arrows randomly on a mesh and calling a random actor class (not itself) where each actor is composed by random shape chunk? So basically during the loop each actor calls randomly another actor chunk.
I posted a new thread for reconstruction effect…is somebody doing it too? I haven’t founf anything around…

Hello, Nigkdo.
It’s just great. I tried to do this according to your textbook, but my cube just stands still as usual.
I still do not understand how the scheme 01 differs after false verification. And what is a smallbox? Need to create another BP with the same scheme?
Maybe you’d better upload your project, which is on video (not demo), this would simplify the task, unless of course it’s not difficult for you?:rolleyes:
Sorry, if something is unclear, I translate through Google.

Hi. Is your “boxcutter” blueprint set as movable and have enabled physics (simulate physics)? Small box is another blueprint, it is just actor with static mesh component without any functions.