smoothly transmogrify an object as it enters a circle

I’ve asked a few questions about isolated aspects of this problem, but it’s gotten to the point where I ought to just explain the whole thing and see if there are any solutions. Thanks in advance!

I have a brilliant circle of light that moves across the screen with a character. Inside this circle, the world is different – certain objects appear, others disappear, others experience a change in appearance.

It’s straightforward to make objects appear, disappear, or change when they are fully within the light’s radius. The tricky thing is when they’re only partially within the circle. We want effects like these:

Object disappears within circle:

Object appears within circle:

Object changes within circle:

We’re making a 2D game, and we’ve thought of various depth tricks to accomplish some of these effects, but we’d like a robust, relatively simple solution that we won’t have to code around later. It’s fine if the solution is just visual, although a way to partially disable colliders would be nice too.

Another option we’ve thought of is rendering a second camera to a circle texture. With this solution, the circle would actually display a duplicated but altered set of game objects somewhere else in our scene. However, this apparently requires Unity Pro (which we don’t want to buy yet). Any other ideas would be greatly appreciated!!

Thanks :slight_smile:

You don’t need Unity Pro for the last thing; you can use a depth mask shader and two cameras. See here: unifycommunity.com Also the second set of game objects don’t have to be somewhere else, and it would be better if they weren’t; just use layers.