This looks like a really useful node, and I read up on it in the docs, but I’m not sure how I would use it to program the intended behavior.
I’ve spent a good few hours trying to figure that out and/or typing up an explanation here for why I don’t think it will work, but I’d prefer to just use the system I already have in place and understand well if this new node is causing me such a conceptual headache. I definitely will keep it in the back of my mind, but for this particular problem I’ve thought of another idea, and I think it’s the best of the four.
Right now I only have VisibleOnScreenNotifier3Ds that push the Camera3D away when they’re on-screen, but I could also have ones that pull the camera in when they’re off-screen! In fact, I think it might be better to only use the latter, since they’ll be how I allow the camera to go outside the room, but not too far.
I can inscribe an octagon made of these onto the underside of the room, and not have to worry about people seeing them because “VisibleOnScreenNotifier3D uses an approximate heuristic that doesn’t take walls and other occlusion into account”.
The camera is actually built right now to be rotatable in an a number of directions equal to an arbitrary power of 2; I have it set to eight directions right now, but it could be 16 or upward. If I feel really ambitious, I could inscribe an N-sided polygon of these pulling bounds onto the bottom of the floor at runtime, where N is the power of 2 used!
I’m going to get started on this when I have the chance, but for the sake of answering the question in the thread title: it looks like there was an answer already out there, I just didn’t do a good enough job searching for it:
First you need to get an image of the 3D object with a transparent background, which you can do by mucking about with viewports and taking a screenshot, then use this method on that image.