Exporting GPU Particles out of Ember

I probably know the answer to this question but I’ll ask anyways. I have, like Zoolander puts it, a really really really ridiculous good looking sim with tangles particles. Anyway to bring them out of Ember into whatever?

With 1.0, you can export particles as alembic!

1 Like

Hi Nick,

are there are any workflows for getting particles into 3DS Max - I’ve exported an ABC from the particles in the cannon preset, and got a sequence out - although nothing appears when I import it into Max?

Not sure if I’m doing something wrong, or it’s a problem at Max’s end

Thanks,

Steve

1 Like

Hi Steven, sorry for the delay. Our alembic export tool exports alembic points, but there is no mesh data exported. So you will need to instance an object onto those points to visualize the particles, and then use the exported parameters in your 3D software, the alembic parameter library is:
P (positions)
.pointIds
.velocities
.arbGeomParams contains
texture (colors)
density
age
size

Hi,

thanks, I’ll take a look

Is there a tool/method other than the vray proxy to do this? It’s very problematic to change render engines apart from buying more software to get other software to work. Thanks.

1 Like

We tried importing particles in Maya via Bifrost.

For as far as I remember, only point IDs and positions are exported properly.
.velocities, color, density, age, size are exported BUT are all ZERO values.

We’re aware of some issues regarding alembic point ID’s and need to look into it more before we can move forward.

2 Likes

Noticed an issue that some points in the exported alembic have undefined position - in Blender they appear as (Nan, Nan, Nan). Is it indended and those points suppose to be ignored or it’s some problem at export?

hi there, this is most likely a bug. Can you send the EmberGen file and blender file so that we can see if we can identify the issue?

Unfortunately, we had to build our alembic support from scratch because there is just no documentation on either side (user or creator) to assist in troubleshooting issues like this. We want this to be built out as much as possible, but hunting for solutions can be a time sink (aka money sink), so users point stuff out like this can be really helpful!

Thanks,

Sure, I’ve uploaded the embergen project, exported alembic with particles and resulting Blender project - google drive.

Result in Blender:
image

Out of 171k particles there is ~1k particles with nan coordinates. You can get their indices by running the python code below in the attached blend file: from math import isnan; [v.index for v in C.object.data.vertices if isnan(v.co.x)].

Also imported the alembic to Houdini and it’s showing nan coordinates also, so it’s not Blender export problem.

1 Like

I’ve noticed another problem with the same alembic file - it seems that particles id parameter is incosistent between frames. Here’s the same - Imgur: The magic of the Internet
As you can notice at some point it starts to jitter and this is the issue I’ve met trying to export Embergen particles to Niagara - it’s interpolating points between frames by their id parameter and because of it’s inconsistency particles animation is jittering.

Yeah we have an open issue about this and the particle ID stability in general. Your post has been helpful in testing some of these issues but I don’t know when we can expect an update on these at this time.

Found another issue with exported alembic files. It seems that all exported particle scale (size) values are constant even though they do change in Embergen.

Example project and alembic files - alembic_fail_to_export_animated_scale.zip - Google Drive

Here’s what it looks like in Embergen - Imgur: The magic of the Internet. As you can see scale does change.

Size is linearly reduced by the particle life.

0th frame of alembic in houdini:

369th frame of alembic (note that sizes are the same, when they should have got smaller):

PS Is there way to upload small files to this forum directly? Don’t want to keep it on google drive but want to make sure it’s available as a reference for someone with the similar issues.

Thanks for sharing these with us! I just downloaded everything here and uploaded it to our drive so you can go ahead and delete any files you want on your end. We really appreciate you going through these with the detail you’ve shown!

Found another issue… in Embergen particles can have scale by two axis X and Y and exported value is just 1 float (you can lookup the screen below - it’s just 1 attribute size). so it’s not possible to reproduce their shape outside Embergen.

How I set up scale in Embergen - I do it in Emitter Shape section, so it changes particles scale, not the render.
image

Was trying to work around broken IDs and use particles color to identify when particle is about to die since it’s possible to use modulation color + color attenuation over life (particle’s color will change over it’s lifetime and will turn black right at the end) and found another issue.


image

Attribute animation is lost when particles exported to Alembic - Imgur: The magic of the Internet (in example they always appear green, which is just their initial color).
Though color does change in Embergen - Imgur: The magic of the Internet (color is changing from red to green)

this one feels like an issue that may not be able to be transferred to the alembic particle itself, since we are only exporting the alembic particle points. I think the Shape tab is really only changing the way the particle looks in EmberGen and not really making size adjustments to the particle itself. But I am continuing to update the Particles issue and hopefully we can find some time to address what we can

I’m not sure modulation color is able to be transferred? Are there examples of this that you can point to where the color attribute changes over time in the alembic export? I just wonder if the fact that there isn’t any geometry is a limiting factor for that specific parameter

this one feels like an issue that may not be able to be transferred to the alembic particle itself, since we are only exporting the alembic particle points. I think the Shape tab is really only changing the way the particle looks in EmberGen and not really making size adjustments to the particle itself. But I am continuing to update the Particles issue and hopefully we can find some time to address what we can

Hard to tell from my perspective if it’s export issue or something else because I don’t know Embergen internals. E.g. how it would be organized in Houdini or Unreal Engine (Niagara) the changing color or scale over particle lifetime would mean actually changing attribute of the particle.

And it all depends on the goal of exporting alembic particles - to what accuracy it’s designed to reproduce the results from Embergen. It would make sense to include the animated attributes, otherwise someone would need to redo all the attributes changes manually in the particle system where they’re going to import alembic (which, I guess, may not be always possible).

I’m not sure modulation color is able to be transferred? Are there examples of this that you can point to where the color attribute changes over time in the alembic export? I just wonder if the fact that there isn’t any geometry is a limiting factor for that specific parameter

You mean, is it possible to have animated attributes (and color specifically) in alembic in general?