In this recipe we will learn how we can animate the camera position on our path, calculated as a B-spline.
In this example, we will use MayaCamUI
, so please refer to the Using MayaCamUI recipe in Chapter 2, Preparing for Development.
We will create an application illustrating the mechanism. Perform the following steps to do so:
Include necessary header files.
#include "cinder/Rand.h" #include "cinder/MayaCamUI.h" #include "cinder/BSpline.h"
Begin with the declaration of member variables.
MayaCamUI mMayaCam; BSpline3f spline; CameraPersp mMovingCam; Vec3f mCamPosition; vector<Rectf> mBoxes;
Set up the initial values of members.
setWindowSize(640*2, 480); mCamPosition = Vec3f::zero(); CameraPersp mSceneCam; mSceneCam.setPerspective(45.0f, 640.f/480.f, 0.1, 10000); mSceneCam.setEyePoint(Vec3f(7.f,7.f,7.f)); mSceneCam.setCenterOfInterestPoint(Vec3f::zero()); mMayaCam.setCurrentCam(mSceneCam); mMovingCam.setPerspective(45.0f...