The question was stated clearly in two parts: a request for Joint.addChild(Object3D) and a solution for the equivalent. I don't see the relationship, either. In further tests, whenever the character rotates AND follow() gets called, the gun's rotation breaks (it seems to rotate counter-camera). But if either just the camera or just the character rotates, that above code works.