#You mean the dissolve? I made it as an

1 messages · Page 1 of 1 (latest)

soft oasis
#

Interesting. I set this up and I have some questions, but I was able to get distinct fade timelines using a slightly different approach. I'm creating an explosive barrel, and the barrel explodes after a random number of shots [1,3]. So I have a barrel actor that has the static mesh simulating physics, and when it is shot N number of times I spawn in my GC actor BP to replace the static mesh actor (along with a Niagara explosion and a field system). In the BeginPlay of the GC actor is where I start the timeline

#

That gave me distinct timelines for each exploded barrel, but I'm finding with the alpha mask using a parameter + noise I basically have a very small effective fade range

cunning coral
#

it is probably that way because each fragment of GC has the same instanced material applied, right

can u show a vid of what u expect and what it looks like

crimson saffron
crimson saffron
# soft oasis That gave me distinct timelines for each exploded barrel, but I'm finding with t...

Sounds like you have an issue with the dissolve itself. My dissolve is controlled by a material param from - 1 to 1 on opacity mask. Timeline is 10s long, goes from - 1(fully visible) to 1 (not visible). If you just search Yt for UE dissolve material there are a lot of videos.

I'm using the same logic, original actor destroys, GC spawns (no field, just damage threshold 0 to fracture)

cunning coral
# crimson saffron All of them disappearing at the same time is because yes they get the same DIM a...

well i dont know your setup, but if its all controlled by the same timeline value then whatever material it is, it wouldn't work anyway
and also u cant use a workaround to have different timelines for each instance, that would be very expensive probably, so this is not the solution
u need some material/gc solution, or something like the world align/pos tricks, but like i said, i think i know what u mean, but maybe im wrong, a vid would help to make it clear

cunning coral
#

i mean its not bad, looks ok, but yeah, its all at the same time
i remember there was video from epic recently about GC fragments disappearing setup, but im not sure, would need to find it

crimson saffron
#

If I could get the chunk indexes somehow, I could run a for/foreach on them and set their own DIM. The closest I could find is Break Chaos Removal Event Data which gives the Particle Index on removal (the buildt in removal on GC, not the dissolve)

cunning coral
#

u would need something like per instance random

crimson saffron
#

If I could get the chunks I could maybe set the New Time of the Timeline node per chunk so it doesn't starts at the same time.

#

But again, couldn't get the chunks so far

cunning coral
#

yeah, but thats just an example, what u need is a random per instance value what will influence the speed of effect
but i would discard any ideas of multiple timelines, if its one its ok, it can also influence the speed of many, but is not needed
the only thing we need is to know how to make it per gc piece, then everything will work really

crimson saffron
#

Basically yes

cunning coral
#

besides, looking at the BP, this will never work that way, as there is a timeline and after that destroy actor, it assumes there is really only one object, one duration and its over, im not on my pc right now, but i will research this later

#

but the vid was this https://www.youtube.com/watch?v=wPgd1J1Tf70

go to like 8:00+ for the remove on break option, not exactly what u asking, but close

Watch this video recorded at GDC 2025 to explore the evolving Chaos Destruction system in Unreal Engine.

The Chaos Destruction system is a toolset that empowers artists to create dynamic destruction by defining how geometry fractures and interacts in simulations.

Using tools that fracture geometry, define clustering models, and leverage strai...

▶ Play video
soft oasis
crimson saffron
#

The individual pieces have their own chunk ID and also GC's default Removal event works similar, just not with dissolve, instead it shrinks.

soft oasis
#

yeah that shrink removal looks terrible

crimson saffron
#

Not bad IMO, but I wanted dissolve

cunning coral
#

For now i have not found a way to do this
Its the same material no matter what, even multiple hacks doesn't want to work
The way it works with build in removal option is they are just scaling the transform, transform is all they have

Ofc this can be done manually, as u can manually assign any number of materials to fracture parts, but its kinda absurd workflow
Dataflow automatic setup could help, but still feels absurd

BUT, thanks to this i found something no one is talking about and there is no documentation at all for this, it turns out it is possible to add ANY property to GC pieces u want just like the removal option, it works the same way, so thats quite interesting.

It can be created only by c++ or Dataflow editor and only seen in DF editor

There u can also see they store per piece materialID on the GC, but as of now i wasnt able to find more

crimson saffron
cunning coral
#

That is probably possible, thats the manual way, but i wasn't looking for that as it is kinda still ridiculous, i was looking if there are options to make it with single material or so, but for now i would say it not possible this way, all data shows that it is designed to use the assigned material and no tricks will work

But even if u set different materials, all of them needs to be separate materials, instances wont work as there is no way to send values to them or at least for now i dont see how

The manual engine supported way is to add materials from fracture mode for each piece, but u would need to add as much as fractures if u want each to be different, thats why i said its ridiculous, even if u can automate it, i wouldn't do it, i assume too much materials would have perf issues, its not scalable workflow and results

There are some workarounds u can do that i would say are fine

  • add some rotation anim to the material, makes it less repeatable, this is the easiest one
  • create fracture clusters and only create a couple of materials with different effect and assign one for each cluster, this will be less work and better perf and probably good results

the second can be automated with dataflow setup, it can create the fracture and assign materials, or just one or another

ofc if u want u can create a fracture with ton of mats and the dataflow can also help u with that, but like i said, i would skip that

the option u mentioned, assigning mats for GC bone IDs in a loop, that would probably require c++ as there is no function available to do this out of the box, but i know its there in c++ but with custom code, the other option is again dataflow, it can read and write the attributes i discovered, turns out everything on GCs are attributes, array of attributes, the material is also attribute so with DF its possible to overwrite it i guess

#

but that would still not be the dynamic mat ID bone ID assigned u mentioned, for that u would need to get material attributes from GC, create as many dynamic instances as pieces, assign, store in array to be able to loop them and set different value for each, then and only then, this would or more like might work as im not sure

uneven fable
cunning coral
# uneven fable tried that recently but I think you cannot change the material on a given chunk,...

my research stopped when i actually was able to set material per any chunk, but its not the way ppl would hope, not a realistic workflow, very hacky

it requires c++ and setting as many mat slots needed on the GC up front
then its possible to read that, replace them all with mat individual dynamic instances as that is the only way to control them individually

well either that or overriding the GC scene proxy as that is at least where i found out the mats are assigned and could theoretically be replaced by custom assignment, but that a lot changes

the thing is GC stores mat IDs per chunk, but those mat IDs are indexed ids of added mat slots on the GC, if it wasn't added at edit time, no way to override it or replace the mat or add new

can be setup in fracture editor, but runtime is another story

uneven fable
#

a long shot, but wouldn't it be possible to project the rest local position of the break event (from the index of the break event we can retrieve the chunk rest location), project that in UV space and alter some shader parameter just on the UV island corresponding to the chunk ?