Is there a way to set depth of field to the _closest_ point on a focus object, or do it via nodes? I'd like the in-focus plane to always be 1 meter closer to the camera than the center of the focus object, or equivalently the closest point on a 1-meter sphere at the center of the focus object. I think right now Blender always focuses on the origin of the focus object, not its closest point.
Is there any way to make that work? I can write some python code if that helps, but I want it to stay correct no matter where the camera and focus object move to.
I'm using Blender 2.90, Cycles.
You can add a single bone armature object, set it as child of your mesh. Bone lenght 1 meter. Then create an empty in the same location of the tail of the bone and parent it to the bone (Ctrl P - bone). Then set a damped track constraint to the bone, targeting the camera. Then set the empty as focus of the camera DOF.