Facevarying status not correct ?

18 views
Skip to first unread message

Nicholas Yue

unread,
Sep 21, 2023, 9:09:13 PM9/21/23
to alembic-discussion
Hi,

  I have a simple alembic file (generator via Houdini), it is a 4x4 grid (16 point position)

  My code when querying UV, indicates that it is facevarying (supposed with 36 values)

  When I dump out the information, I see

```
nyue@Compaq-8200-Elite:~$ abcecho grid_P_uv.abc
AbcEcho for Alembic 1.7.9 (built Sep 11 2018 11:46:55)
  file written by: Houdini 17.0.568
  using Alembic : Alembic 1.7.9 (built Sep 11 2018 11:46:55)
  written on : Thu Sep 21 17:43:14 2023
  user description :

Object name=/gabc
  CompoundProperty name=.xform;schema=AbcGeom_Xform_v3
Object name=/gabc/gabc
  CompoundProperty name=.geom;schema=AbcGeom_PolyMesh_v1
    ScalarProperty name=.selfBnds;interpretation=box;datatype=float64_t[6];arraysize=6;numsamps=1
    ArrayProperty name=P;interpretation=point;datatype=float32_t[3];arraysize=16;numsamps=1
    ArrayProperty name=.faceIndices;interpretation=;datatype=int32_t;arraysize=36;numsamps=1
    ArrayProperty name=.faceCounts;interpretation=;datatype=int32_t;arraysize=9;numsamps=1
    CompoundProperty name=.arbGeomParams;schema=
    CompoundProperty name=uv;schema=
      ArrayProperty name=.vals;interpretation=vector;datatype=float32_t[2];arraysize=16;numsamps=1
      ArrayProperty name=.indices;interpretation=;datatype=uint32_t;arraysize=36;numsamps=1
  ScalarProperty name=visible;interpretation=;datatype=int8_t;arraysize=1;numsamps=1
```

  However, when I print out the UVs (V2f), I have good information from [0 - 15], after that the values are nonsensical.

  I am trying to determine if I have a bad logic or a bad alembic file.

  Happy to share the alembic file via other means.

Lucas Miller

unread,
Sep 21, 2023, 9:26:36 PM9/21/23
to alembic-d...@googlegroups.com
I suspect you've got bad logic:

Since for the UVs you have:
    CompoundProperty name=uv;schema=
      ArrayProperty name=.vals;interpretation=vector;datatype=float32_t[2];arraysize=16;numsamps=1
      ArrayProperty name=.indices;interpretation=;datatype=uint32_t;arraysize=36;numsamps=1

So you've got indexed UVs, of array size 16 (8 distinct UVs), your 36 indices should be from 0 to 7 to reference each of these distinct UVs.

The 36 indices DOES line up with face varying as you have 36 face indices.

Lucas

--
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.
To view this discussion on the web visit https://groups.google.com/d/msgid/alembic-discussion/CADYXiJL7P6_q3f0b14QixuY%2BQPvftFNd2UswF%2BgsSR8VMKhs4Q%40mail.gmail.com.

Nicholas Yue

unread,
Sep 21, 2023, 10:12:55 PM9/21/23
to alembic-d...@googlegroups.com
Thank you. I fixed my bad logic.

Reply all
Reply to author
Forward
0 new messages