- Home /
How would I use the depth-buffer data of one object for a different object
Background info: I'm making a game with hand drawn/pre-rendered backgrounds and fixed camera angles like in old Resident Evils or Final fantasy VII, Chrono Cross, etc.
Now, for an example of my issue, let's say I have a quad in my scene with a sprite texture that is a picture of a tree. Something like this:
I'd like the player to be able to walk behind or in front of the tree texture, BUT because of the fixed angle of the camera and the quad, the player would clip through the tree if they walked to a spot that should be behind the tree. Here's an example of what I mean from a side view:
I can't angle the quad because the picture is drawn to match the angle of the camera, and doing so would distort the picture.
So what I want to do is to place one or several invisible cube objects in the scene and have them function as the depth for the quad (while also ignoring the transparent parts of the tree texture so the player is only hidden while they're behind the tree parts).
So how would something like that be possible? I'm assuming I need to write some kind of shader that grabs the depth buffer data from the cube(s) and writes it to the tree quad somehow, but I'm struggling to find anything that comes close to what I want. Also, I can't just use depth-textures, since a lot of my backgrounds are hand drawn.
Anyway, I'd really appreciate the help as I've been stuck on this one awhile. Thanks!
EDIT: Also, another solution might be to make trigger zones for areas behind the tree that place the player behind the entire quad in the depth buffer with something like "ztest always" but I don't know how you'd modify an object's shader property at runtime like that if something like that is even possible.
Your answer
Follow this Question
Related Questions
clipping issue with sprites in fixed camera scene 0 Answers
Masking objects with alpha gradient at intersection 0 Answers
Depth mask shader and Unity shadows 0 Answers
Is it possible to create a Mesh that masks Sprites without using the LWRP's stencil feature? 0 Answers
Using Depth Mask Shader to Cut hole though geometry Show Background 1 Answer