refactoring around Camera3D to base its constructor on BaseObject3d