[Bf-python] api requests

Jonathan Merritt j.merritt at pgrad.unimelb.edu.au
Sat Dec 31 05:31:24 CET 2005


Tom M wrote:

>[QUOTE] <snip> To write particle exporter I need more info about each particle.
>Particle location is not enough. I need particles ID (Unique for every
>particle in particle system) and particle lifetime in range between 0
>and 1. [/QUOTE]
>  
>

This is just one of the many problems facing somebody writing a 
RenderMan exporter.  To clarify things, I would imagine (not to speak 
for the original Elysiun poster, AkhIL) that the particle ID is required 
to allow correct motion blur.  You need coherent information (ie: to be 
able to identify the same particle) at two different times.

In RenderMan, there are two different kinds of motion blur for objects:

    1. Transformation motion blur.  Here, the transformation of an 
object is specified at two or more sub-frame positions.  The renderer is 
then required to blur the object along the "path" specified by these 
transformations (I use the word "path" loosely, since the 
transformations can involve shear, scaling, perspective and rotation 
effects).  To support this in Blender, you need to be able to identify 
that you actually have the same object at each motion-blurred 
sub-frame.  You can't just anonymously dump particles, as some people 
might perhaps expect at first glance.

    2. Deformation motion blur.  This is when the object itself deforms 
(not generally done with particles, but common with meshes).  To support 
this, you need to be able to guarantee that different parts of the 
object are supplied in the same order.  For example, you can supply two 
meshes with vertices at different positions and the renderer will then 
blur between them.  However, the two meshes *must* have identical 
topology, and all of the faces *must* be specified in the same order.  
In other words, you must be able to guarantee that the only things which 
change are things like the vertex positions, which you wish to blur.  
There is currently no way to enforce these guarantees within the Python API.

Jonathan Merritt.




More information about the Bf-python mailing list