Exporting Textures and Materials

1,326 views
Skip to first unread message

Jean-Noël

unread,
Jun 13, 2013, 12:55:23 PM6/13/13
to alembic-d...@googlegroups.com
Hi there !

I'm currently looking into the alembic format and there are a few things I do not understand..
I see on the net (forums, C4D documentation, etc) that Alembic is not made for exporting textures and material but just geometry and animations.
I'm quiet a newby in 3D so my question may be stupid but why so export uv ? Uv refers to uv coordinates for textures aren't they ?
Moreover, the alembic lib contains an AbcMaterials module, I thought this one aimed to manage materials and texture of a scene. Was I wrong ?
I tried to use Alembic in maya, C4D and 3DS Max, and every time I had only the meshes and animation, even when I had selected the "uv" checkbox.
I'm sorry if i'm asking questions about obvious things but it's not very clear to me...

Is it planned in a near future to support materials and texture exporting ?

And bonus question for the brave ! Does alembic stores the entire geometry for each sample or it is just the transformations applied on the first one ?

Thank you :)

JN

Paul Molodowitch

unread,
Jun 13, 2013, 12:57:34 PM6/13/13
to alembic-d...@googlegroups.com
re: geometry-per-sample... it can do either (per frame geometry, or just the transformations).  Depends on your export settings.  I know the maya plugin will attempt to detect if there's deformations on your mesh, and if so, do per-frame-verts... otherwise, it will just animate the transform.



JN

--
You received this message because you are subscribed to the Google Groups "alembic-discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to alembic-discuss...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Alex Suter

unread,
Jun 13, 2013, 6:02:54 PM6/13/13
to alembic-d...@googlegroups.com
Another good thing with Alembic is that it automatically detects if a mesh sample is a duplicate of another already in the cache, and if so it just stores a reference to that previous sample. Depending on the asset, this can result in huge disk savings over a comparable point cloud.

Giant robots, which I've had on my mind lately, will be a small fraction of the size they would be otherwise.

So, as Paul says, if your geometry is not deforming it will only store a single sample and just animate the transform. If the exporter happens to know ahead of time that geometry is not deforming, it can also choose to only write out a single sample for an export time speed boost.

AbcMaterials can be used to store material information, but there isn't a codified standard as to the meaning of any key value pairs you'd throw in there. It's still pretty pipeline specific. We use it to store material information associated with a light.

The UVs stored are texture coordinates as you say. We store them so when textures are applied to the geometry they map appropriately. Alembic doesn't yet explicitly store any texture information. 

                         -- Alex

Jean-Noël

unread,
Jun 14, 2013, 3:54:39 AM6/14/13
to alembic-d...@googlegroups.com
Thank you very much for your answers, it's very helpful ! =)


Le vendredi 14 juin 2013 00:02:54 UTC+2, Alex Suter a écrit :
Another good thing with Alembic is that it automatically detects if a mesh sample is a duplicate of another already in the cache, and if so it just stores a reference to that previous sample. Depending on the asset, this can result in huge disk savings over a comparable point cloud.

Giant robots, which I've had on my mind lately, will be a small fraction of the size they would be otherwise.

So, as Paul says, if your geometry is not deforming it will only store a single sample and just animate the transform. If the exporter happens to know ahead of time that geometry is not deforming, it can also choose to only write out a single sample for an export time speed boost.

AbcMaterials can be used to store material information, but there isn't a codified standard as to the meaning of any key value pairs you'd throw in there. It's still pretty pipeline specific. We use it to store material information associated with a light.

The UVs stored are texture coordinates as you say. We store them so when textures are applied to the geometry they map appropriately. Alembic doesn't yet explicitly store any texture information. 

                         -- Alex
On Thu, Jun 13, 2013 at 9:57 AM, Paul Molodowitch <pa...@luma-pictures.com> wrote:
re: geometry-per-sample... it can do either (per frame geometry, or just the transformations).  Depends on your export settings.  I know the maya plugin will attempt to detect if there's deformations on your mesh, and if so, do per-frame-verts... otherwise, it will just animate the transform.
On Thu, Jun 13, 2013 at 9:55 AM, Jean-Noël <jn.ch...@gmail.com> wrote:
Hi there !

I'm currently looking into the alembic format and there are a few things I do not understand..
I see on the net (forums, C4D documentation, etc) that Alembic is not made for exporting textures and material but just geometry and animations.
I'm quiet a newby in 3D so my question may be stupid but why so export uv ? Uv refers to uv coordinates for textures aren't they ?
Moreover, the alembic lib contains an AbcMaterials module, I thought this one aimed to manage materials and texture of a scene. Was I wrong ?
I tried to use Alembic in maya, C4D and 3DS Max, and every time I had only the meshes and animation, even when I had selected the "uv" checkbox.
I'm sorry if i'm asking questions about obvious things but it's not very clear to me...

Is it planned in a near future to support materials and texture exporting ?

And bonus question for the brave ! Does alembic stores the entire geometry for each sample or it is just the transformations applied on the first one ?

Thank you :)

JN

--
You received this message because you are subscribed to the Google Groups "alembic-discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to alembic-discussion+unsub...@googlegroups.com.

For more options, visit https://groups.google.com/groups/opt_out.
 
 

--
You received this message because you are subscribed to the Google Groups "alembic-discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to alembic-discussion+unsub...@googlegroups.com.

Michel Lerenard

unread,
Jun 14, 2013, 3:55:36 AM6/14/13
to alembic-d...@googlegroups.com
On 06/13/2013 06:55 PM, Jean-No�l wrote:
> Hi there !
>
> I'm currently looking into the alembic format and there are a few
> things I do not understand..
> I see on the net (forums, C4D documentation, etc) that Alembic is not
> made for exporting textures and material but just geometry and animations.
> I'm quiet a newby in 3D so my question may be stupid but why so export
> uv ? Uv refers to uv coordinates for textures aren't they ?
That alembic is not made to export textures doesn't mean that you will
not apply one on the mesh after you import it. You'll need those
coordinates to texture the object.
> Moreover, the alembic lib contains an AbcMaterials module, I thought
> this one aimed to manage materials and texture of a scene. Was I wrong ?
Materials only. It's under development.
> I tried to use Alembic in maya, C4D and 3DS Max, and every time I had
> only the meshes and animation, even when I had selected the "uv" checkbox.
What do you mean "use Alembic in maya" ? UVs can't be seen, to checked
that the UVs have been exported/imported correctly you need to apply a
texture on the mesh using Uvs.
> I'm sorry if i'm asking questions about obvious things but it's not
> very clear to me...
>
> Is it planned in a near future to support materials and texture
> exporting ?
Texture, no.
>
> And bonus question for the brave ! Does alembic stores the entire
> geometry for each sample or it is just the transformations applied on
> the first one ?
>
In alembic vocabulary, a transform is a matrix applied to the pivot of
the mesh. (rotate, scale, translate, etc...) It does not affect the
object itself. Mesh information is stored per frame. ( arrays of
points, indexes, UVs ). Alembic is not aware of the way the mesh is
created. It's "baked".
Duplicated information is detected and stored only once.
> Thank you :)
>
> JN
> --
> You received this message because you are subscribed to the Google
> Groups "alembic-discussion" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to alembic-discuss...@googlegroups.com.

Jean-Noël

unread,
Jun 14, 2013, 5:06:07 AM6/14/13
to alembic-d...@googlegroups.com
Okay, I understand. By using Alembic in Maya I meant import an alembic file into Maya, and when I said that I was unable to "see" the uvs, I meant the texture applied on the mesh with the correct coordinates.
I understand now that it was a non-sens question since Alembic does not store texture information but just the uv coordinates.

Thank you Michel for this very clear and complete answer !
Reply all
Reply to author
Forward
0 new messages