#You mean the dissolve? I made it as an
1 messages · Page 1 of 1 (latest)
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
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
All of them disappearing at the same time is because yes they get the same DIM and same timeline. I tried to get the chunk indexes of pieces, or bone IDs but couldn't get them from the GC.
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)
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
Right now it's the same timeline for every piece yes. I don't know how to get the pieces.
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
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)
u would need something like per instance random
If I set per instance random on the dissolve that would mean some pieces could spawn half dissolved which isn't good
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
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
Basically yes
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...
Oh you want the pieces from the same GC to fade out at different times. I misunderstood you when you said "all pieces", I thought you meant across different GCs
Sorry yeah, same GC's pieces
The individual pieces have their own chunk ID and also GC's default Removal event works similar, just not with dissolve, instead it shrinks.
yeah that shrink removal looks terrible
Not bad IMO, but I wanted dissolve
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
If you have the chunk IDs or bone IDs of the GC can't you assign any material to them with a for/foreach?
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
tried that recently but I think you cannot change the material on a given chunk, only at the level of the whole GC
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
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 ?