Particle support in Alembic

1,494 views
Skip to first unread message

Steven Shapiro

unread,
Feb 6, 2012, 5:40:59 PM2/6/12
to alembic-discussion
Beyond some cursory testing (such as in lib/Alembic/AbcGeom/Tests/
PointsTest.cpp), has there been any development, testing, or plugin
support (i.e. Maya or Houdini import/export) for particles/point
data? If not, is this on the development team or any vendor's
schedules to add support for?

Thanks for any additional info that can be provided.

Ravi Jagannadhan

unread,
Feb 6, 2012, 5:43:33 PM2/6/12
to alembic-d...@googlegroups.com
Hi Steve, it's not entirely clear to me what you have in mind, did you
have a specific test in mind?

Thank you for your time,
Ravi

> --
> You received this message because you are subscribed to the Google
> Groups "alembic-discussion" group.
> To post to this group, send email to alembic-d...@googlegroups.com
> To unsubscribe from this group, send email to
> alembic-discuss...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/alembic-discussion?hl=en
>
> For RSS or Atom feeds related to Alembic, see:
>
> http://groups.google.com/group/alembic-dev/feeds
>
> http://groups.google.com/group/alembic-discussion/feeds

--
Where we have strong emotions, we're liable to fool ourselves - Carl Sagan

Steven Shapiro

unread,
Feb 6, 2012, 8:42:46 PM2/6/12
to alembic-discussion
Hey Ravi, basically I'm wondering what the current support level for
Alembic is regarding particle data? There isn't a specific test, but
even something as straight forward as taking a set of points with
attributes and changing life spans and exporting from Maya and
importing into Houdini. Particle data is supposed to be supported in
Alembic, but there isn't support in the Maya importer/exporter nor in
the Houdini nodes. So, are there plans to add this support and has
anyone already done any tests with that type of data (or large
particle data sets)?

If not, it seems that partio (http://www.disneyanimation.com/
technology/partio.html) is probably the only general solution out
there right now.

Steve LaVietes

unread,
Feb 6, 2012, 8:50:54 PM2/6/12
to alembic-d...@googlegroups.com
The IPoints schema is intended to describe this type of data. It's
possible that the current reference client implementations don't have
adequate support for all of the features you need.

I believe the houdini reader got support for reading IPoints in 1.0.4.
Katana recently got it (although I don't know for which commercial
version that will be available). The renderer procedurals should both
support it.

The writer clients are likely less far along.

-stevel

Lucas Miller

unread,
Feb 6, 2012, 8:59:49 PM2/6/12
to alembic-d...@googlegroups.com
The Maya exporter will write out an MFnParticleSystem, but the Maya importer doesn't properly read the animated points.

Eventually the Maya exporter will write out MFnParticleSystem and MnParticles, and read them in only as MnParticles.

Lucas

Steven Shapiro

unread,
Feb 6, 2012, 9:11:11 PM2/6/12
to alembic-discussion
So when Maya writes out either type of particle data, is the
representation of that data in the alembic archive be application
agnostic? That would be consistent with the Alembic philosophy, but I
just wanted to make sure since you're specifically talking about
particle data out and back into Maya only.

On Feb 6, 5:59 pm, Lucas Miller <miller.lu...@gmail.com> wrote:
> The Maya exporter will write out an MFnParticleSystem, but the Maya
> importer doesn't properly read the animated points.
>
> Eventually the Maya exporter will write out MFnParticleSystem and
> MnParticles, and read them in only as MnParticles.
>
> Lucas
>
> On Mon, Feb 6, 2012 at 5:50 PM, Steve LaVietes <steve.lavie...@gmail.com>wrote:
>
>
>
>
>
>
>
> > The IPoints schema is intended to describe this type of data. It's
> > possible that the current reference client implementations don't have
> > adequate support for all of the features you need.
>
> > I believe the houdini reader got support for reading IPoints in 1.0.4.
> > Katana recently got it (although I don't know for which commercial
> > version that will be available). The renderer procedurals should both
> > support it.
>
> > The writer clients are likely less far along.
>
> > -stevel
>
> > On Mon, Feb 6, 2012 at 5:42 PM, Steven Shapiro <shappysfunl...@gmail.com>

Lucas Miller

unread,
Feb 6, 2012, 9:14:24 PM2/6/12
to alembic-d...@googlegroups.com
Yes, it'll be application agnostic.

They'll be written out as Alembic::AbcGeom::OPoints, and read back in as Alembic::AbcGeom::IPoints.

The stuff I mentioned previously was an implementation detail for the Maya plugins.

Imre Tuske

unread,
Mar 5, 2012, 8:05:21 AM3/5/12
to alembic-d...@googlegroups.com
I'm actually looking forward to see how you're gonna solve this implementation detail.

We (I) couldn't implement proper plain particle caching in Maya, since particle objects don't have an input particle attribute (similar to 'inMesh' or 'create' on polymeshes/nurbs). So I ended up writing a particle cache node that completely circumvents the dependency graph, and writes to the particle node directly (which is an ugly hack and crashes a lot).

Not mentioning the fact that the "new" nParticles are accessed through the same old API interface, so no additional space to maneuver API-wise there, either.

imre

> > > To post to this group, send email to alembic-discussion@googlegroups.com

> > > To unsubscribe from this group, send email to

> > > For more options, visit this group at
> > >http://groups.google.com/group/alembic-discussion?hl=en
>
> > > For RSS or Atom feeds related to Alembic, see:
>
> > >http://groups.google.com/group/alembic-dev/feeds
>
> > >http://groups.google.com/group/alembic-discussion/feeds
>
> > --
> > You received this message because you are subscribed to the Google
> > Groups "alembic-discussion" group.
> > To post to this group, send email to alembic-discussion@googlegroups.com

> > To unsubscribe from this group, send email to

> > For more options, visit this group at
> >http://groups.google.com/group/alembic-discussion?hl=en
>
> > For RSS or Atom feeds related to Alembic, see:
>
> >http://groups.google.com/group/alembic-dev/feeds
>
> >http://groups.google.com/group/alembic-discussion/feeds

--
You received this message because you are subscribed to the Google
Groups "alembic-discussion" group.
To post to this group, send email to alembic-discussion@googlegroups.com

To unsubscribe from this group, send email to

Francois Chardavoine

unread,
Mar 5, 2012, 4:09:25 PM3/5/12
to alembic-discussion
For classic particles, you're correct, that's been our experience as
well: classic maya particles can't be directly driven, which is why
the initial release of Alembic never had support for reading animated
particles back into maya (only static ones).

But that isn't the case for nParticles, though: we've been able to
successfully drive them by using a plug of type MFnArrayAttrsData with
a specific layout. The exact details escape me right now (and involved
acting like an nCache of some sort)... The plan was to switch the maya
reference implementation to write out both particle types, but only
read in nParticles (since they're the only ones that could be fully
supported). This isn't something we've ever prioritized, though.

Francois.

On Mar 5, 5:05 am, Imre Tuske <tus...@gmail.com> wrote:
> I'm actually looking forward to see how you're gonna solve this
> implementation detail.
>
> We (I) couldn't implement proper plain particle caching in Maya, since
> particle objects don't have an input particle attribute (similar to
> 'inMesh' or 'create' on polymeshes/nurbs). So I ended up writing a particle
> cache node that completely circumvents the dependency graph, and writes to
> the particle node directly (which is an ugly hack and crashes a lot).
>
> Not mentioning the fact that the "new" nParticles are accessed through the
> same old API interface, so no additional space to maneuver API-wise there,
> either.
>
> imre
>
>
>
>
>
>
>
> On Tuesday, February 7, 2012 3:14:24 AM UTC+1, Lucas wrote:
>
> > Yes, it'll be application agnostic.
>
> > They'll be written out as Alembic::AbcGeom::OPoints, and read back in as
> > Alembic::AbcGeom::IPoints.
>
> > The stuff I mentioned previously was an implementation detail for the Maya
> > plugins.
>
> >> alembic-d...@googlegroups.com
> >> > > > To unsubscribe from this group, send email to
> >> > > > alembic-discuss...@googlegroups.com
> >> > > > For more options, visit this group at
> >> > > >http://groups.google.com/group/alembic-discussion?hl=en
>
> >> > > > For RSS or Atom feeds related to Alembic, see:
>
> >> > > >http://groups.google.com/group/alembic-dev/feeds
>
> >> > > >http://groups.google.com/group/alembic-discussion/feeds
>
> >> > > --
> >> > > You received this message because you are subscribed to the Google
> >> > > Groups "alembic-discussion" group.
> >> > > To post to this group, send email to
> >> alembic-d...@googlegroups.com
> >> > > To unsubscribe from this group, send email to
> >> > > alembic-discuss...@googlegroups.com
> >> > > For more options, visit this group at
> >> > >http://groups.google.com/group/alembic-discussion?hl=en
>
> >> > > For RSS or Atom feeds related to Alembic, see:
>
> >> > >http://groups.google.com/group/alembic-dev/feeds
>
> >> > >http://groups.google.com/group/alembic-discussion/feeds
>
> >> --
> >> You received this message because you are subscribed to the Google
> >> Groups "alembic-discussion" group.
> >> To post to this group, send email to alembic-d...@googlegroups.com
> >> To unsubscribe from this group, send email to
> >> alembic-discuss...@googlegroups.com
Message has been deleted

Imre Tuske

unread,
Mar 6, 2012, 6:20:38 AM3/6/12
to alembic-d...@googlegroups.com
It's good to know that there is at least one workaround for the fact that there simply isn't a proper way provided by the vendor for particle caching. But hell, they can't even get caching right themselves, be it particles, geometry or whatnot. (But that's just my biased opinion. :|)

I for one would _love_ to see some properly working particle caching in alembic, so finally there would be a single proper way to cache particles in maya without resorting to hacks and workarounds.

Simon Legrand

unread,
Mar 6, 2012, 6:36:34 AM3/6/12
to alembic-d...@googlegroups.com
To quote one of the posts.

"Or , you can do the same thing as I did at FuelVFX :
1) modify the ToMayaParticleConverter just a little bit so that it can modify particles of an existing particle node
2) write a simple MPxNode ( which will connected to an existing particle node as source ) in python that read the cob particle cache files and use the converter from 1) to modify the existing particle node.

This way, I can completely throw away PTC cache and use cortex PointsPrimitive cob files as particle cache format. And the good thing is that after I also wrote a PointsToNukeGeometryConverter which can convert the same particle cache to Nuke native points format, we can have all the applications to read the same particle cache without problems and tedious conversions.

Cheers,

Yi Ma
R&D Fuel VFX"


On Tue, Mar 6, 2012 at 11:35 AM, Simon Legrand <legran...@gmail.com> wrote:
Hey man. Yeah the thread is called ' [cortex] Re: Merge PTC using Cortex'


--
You received this message because you are subscribed to the Google
Groups "alembic-discussion" group.
To post to this group, send email to alembic-d...@googlegroups.com
To unsubscribe from this group, send email to
alembic-discuss...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/alembic-discussion?hl=en
 
For RSS or Atom feeds related to Alembic, see:
 
http://groups.google.com/group/alembic-dev/feeds
 
http://groups.google.com/group/alembic-discussion/feeds



--
Simon Legrand
http://slegrand.blogspot.com/

Simon Legrand

unread,
Mar 6, 2012, 6:35:16 AM3/6/12
to alembic-d...@googlegroups.com
Hey man. Yeah the thread is called ' [cortex] Re: Merge PTC using Cortex'


On Tue, Mar 6, 2012 at 11:20 AM, Imre Tuske <tus...@gmail.com> wrote:
--
You received this message because you are subscribed to the Google
Groups "alembic-discussion" group.
To post to this group, send email to alembic-d...@googlegroups.com
To unsubscribe from this group, send email to
alembic-discuss...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/alembic-discussion?hl=en
 
For RSS or Atom feeds related to Alembic, see:
 
http://groups.google.com/group/alembic-dev/feeds
 
http://groups.google.com/group/alembic-discussion/feeds



--
Simon Legrand
http://slegrand.blogspot.com/
Reply all
Reply to author
Forward
0 new messages