I’m making a character based off of one of the stands from Jojo’s Bizzare Adventure, and I want to make it able to fade in or out like a ghost. I can’t use something like the Alpha Node or Build/Decimate Modifiers (Alpha makes everything invisible at once. The character has multiple armor pieces attached to it, and I don’t think I can link modifiers.) Is there any way to make the character fade in from the back? Made a very bad doodle to show what I’m trying to go for.
If I understand correctly you could use the texture coordinates of an empty to map a gradient and use that as the factor to mix your material/s with alpha.
empty.blend (444.7 KB)
How have you connected the material to the empty? Did you use a UV warp?
From what I’ve learned, there is no easy way of doing this. You can do it on a material basis, but your character probably has multiple materials which would be inconvenient and not look right.
You can animate an object’s visibility by keyframing the camera icon in the View Layer, but again, not what you are looking for, and having recently doing this on my current project, it was much more difficult than it should be. Object screen visibility is separate from render visibility, which requires key framing two things. You could have an item that is visible on screen, but not in the render, which makes animating difficult. Also, I discovered that if an item is not visible on the screen, it can’t be selected, and it’s keyframes disappear from the graph editor, which makes editing the animation extremely difficult. In the end, I just had to deal with these items being screen visible even though I had keyframed render visibility. If there is a way to easily link screen and render visibility with one set of keyframes while maintaining the ability to edit keyframes, please let me know. This should not be that hard.
Rendering your character separately from the background and doing this fading effect in compositing seems to be the only way to do what you’re wanting to do. If anyone knows a solution to this problem, please let me know. This seems like this should be a basic function. I used to be able to do this easily in Lightwave 3D.
In the monkeys material I used the texture coordinate node to get the object coordinates of the empty, I used that to map the gradient on the y axis that acts as a mask to drive the mix shader factor.
I did not use a UV map, this works depending on the position of the empty (see the file when you hit play the animation). Moving the empty moves the gradient that controls the transparency.
You can use a UV map for the texture it’s self (the principled shader), the empties object cords are only used to map the gradient (the mask).
If you rotate the empty on its z axis the gradient will rotate too.
yes with this method you would have to put the same shader mix node and mask in all the materials.
But it is flexible, for example you could offset the location mapping of the mask to get different materials to fade at different times, that way you could for example get the face to disappear first and the eyes afterwards (Cheshire Cat).
So, that all worked, issue is that now since my model is in Alpha Blend mode, the shading is all weird, any way to fix this?
Ok, I see you are using Eevee (Cycles does not have those problems).
Not sure which Blender version you are using but if it is 4.2 (Eevee next) you need to set the render method to blended and uncheck the “Transparency Overlap” check box in the material settings.
4.2
In Blender 4.1 (Eevee legacy) set blend mode to alpha blend and uncheck “show backfaces”
4.1
Yep, this worked, thanks!
Thanks! That’s good information.
Is this possibly something that could be done in geometry nodes? I’ve never used them, but I’ve watched a lot of YouTube videos, and this seems like something that could be done.
Not really, geometry nodes manipulate geometry not visibility. Manipulating the material makes more sense.
You suggestion with the compositor is viable, the tricky (maybe impossible) bit would be to get the character to start disappearing from the back. When viewed from an angle the z pass would not do it.