internal override LookAtSurfaceCamera GetCamera()
 {
     if (null == cam)
     {
         cam = new LookAtSurfaceCamera(transform, surface.GetSurface());
         cam.InitializeCamera();
     }
     return cam;
 }
 private void BuildTestObj()
 {
     testObj = new LookAtSurfaceCamera(testTransform, surface);
     testObj.InitializeCamera();
 }
        public void SetUp()
        {
            surfaceOrigin = Vector3.zero;
            surfaceUp = Vector3.up;
            surfaceRadius = 10f;
            surface = new SphereSurface(surfaceOrigin, surfaceRadius, surfaceUp);

            initialCameraDistance = 100f;
            timeDelta = .25f;

            var go = new GameObject();
            transform = go.transform;
            camera = new LookAtSurfaceCamera(transform, surface);
            camera.InitializeCamera();
            camera.SetDistanceToTarget(initialCameraDistance);

            zoomSpeed = 10f;
            rotateSpeed = Mathf.PI;
            testObj = new SphereMover(camera, surface, zoomSpeed, rotateSpeed);
        }