I'm working on a brick wall that has battle damage done by a fire and/or explosion. I've made the brick wall using Geometry Nodes and each brick is an instance.
I have a brick material for each instance that works on a per stone (instance) level.
What I want to do is to add a "burnt" material over the whole object, that will only show in the proximity of where the bricks were removed (creating a burnt gradient). The bricks that were removed was done by a proximity based geo nodes group that removes the bricks in relation to a sphere I created. This marks where the impact of the blast was.
Ideally, this material would make a gradient effect with the closest bricks to the gap being almost only the burnt material and then the material would fade away the further it is from the gap of bricks (where the impact would have occurred).
I couldn't seem to get this method to work using proximity selection Geometry Nodes without it creating this bad, aliased edging as well as ignoring the instance brick material.
So currently I have this working alpha gradient effect working only on a shader level. Which is not procedural and won't change with the rest of the proximity based system but it will work for now if I can't find a way to get rid of the aliasing problem.
What I need to do in Geo Nodes is essentially the same effect as using the Mix Shader set to "multiply" in the shader nodes. However, I can't figure out how to do that in Geometry Nodes. The best I have been able to manage is using the "Join Geometry" node.
While this sort of works, it creates a strange effect with bad lines and a patchwork effect (as if a noise texture was being used when there is none).
Most likely because it is not overlaying one onto the other, but rather there are two sets of geometry occupying the same space.
Here's a more close up example of the issue:
Is it possible to composite these in a similar way to using the multiply setting on a Mix shader in the materials nodes?
Any idea of how I can fix this? Any and all suggestions are greatly appreciated!