If i got this right, i would prefer composition over inheritance in this case. If possible, make the player contain the Object3D that defines its view, don't make it inherit it. That way, you could simply swap the Object3D instance and keep the player instance.