Aligning camera motion to a path
In this recipe we will learn how we can animate the camera position on our path, calculated as a B-spline.
Getting ready
In this example, we will use MayaCamUI
, so please refer to the Using MayaCamUI recipe in Chapter 2, Preparing for Development.
How to do it…
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...