Limit an object's translation to a surface area

Hi, again, this is getting embarassing.

I’m creating a camera system, however I would like the camera’s position to run alongside the surface area of a sphere. However, it doesn’t seem that I can lock the x, y, and z planes together.

I know that clamp creates a “cube”, however it doesn’t create the area I need, nor does it allow equal distance from the object.

What I’m trying to do is have the .LookAt functon, and having the cube move in a calculated sphere, the object its looking at as the middle. The radius is editable by the scrollwheel, making it bigger or smaller, and holding the Mouse 2 button the camera rotates around the object in all three dimensions. As I’ve said, clap does not do this, as it limits only in lines. What I need to do is have the camera move in an arc, always having the same distance (radius) from the object.

I do not think I need to provide code, as this deals with 3d space and Unity’s pre-built system functions.

Thank you in advance.

I may be missing something about the problem you are trying solve, but here’s one solution. Create an empty game object at the center of the sphere. Put the camera at its initial position on the sphere. Make the camera a child of the empty game object. Move the camera by rotating the empty game object. If needed you can still pan/tilt the camera using localRotation.