added turntable rendering info to the documentation
parent
beeb88b3e3
commit
bedef4a672
|
@ -347,3 +347,39 @@ logger.setLogLevel(EDebug)
|
||||||
|
|
||||||
Log(EInfo, 'Test message')
|
Log(EInfo, 'Test message')
|
||||||
\end{python}
|
\end{python}
|
||||||
|
\subsubsection{Rendering a turntable animation with motion blur}
|
||||||
|
Rendering a turntable animation is a fairly common task that is
|
||||||
|
conveniently accomplished via the Python interface. In a turntable
|
||||||
|
video, the camera rotates around a completely static object or scene.
|
||||||
|
The following snippet does this for the material test ball scene downloadable
|
||||||
|
on the main website, complete with motion blur. It assumes that the
|
||||||
|
scene and scheduler have been set up approriately using one of the previous
|
||||||
|
snippets.
|
||||||
|
\begin{python}
|
||||||
|
sensor = scene.getSensor()
|
||||||
|
sensor.setShutterOpen(0)
|
||||||
|
sensor.setShutterOpenTime(1)
|
||||||
|
|
||||||
|
stepSize = 5
|
||||||
|
for i in range(0,360 / stepSize):
|
||||||
|
rotationCur = Transform.rotate(Vector(0, 0, 1), i);
|
||||||
|
rotationNext = Transform.rotate(Vector(0, 0, 1), i+stepSize);
|
||||||
|
|
||||||
|
trafoCur = Transform.lookAt(rotationCur * Point(0,-6,4),
|
||||||
|
Point(0, 0, .5), rotationCur * Vector(0, 1, 0))
|
||||||
|
trafoNext = Transform.lookAt(rotationNext * Point(0,-6,4),
|
||||||
|
Point(0, 0, .5), rotationNext * Vector(0, 1, 0))
|
||||||
|
|
||||||
|
atrafo = AnimatedTransform()
|
||||||
|
atrafo.appendTransform(0, trafoCur)
|
||||||
|
atrafo.appendTransform(1, trafoNext)
|
||||||
|
atrafo.sortAndSimplify()
|
||||||
|
sensor.setWorldTransform(atrafo)
|
||||||
|
|
||||||
|
scene.setDestinationFile('frame_%03i.png' % i)
|
||||||
|
job = RenderJob('job_%i' % i, scene, queue)
|
||||||
|
job.start()
|
||||||
|
|
||||||
|
queue.waitLeft(0)
|
||||||
|
queue.join()
|
||||||
|
\end{python}
|
||||||
|
|
Loading…
Reference in New Issue