Instancing objects on an alembic point cloud

Sorry to spam the thread but I’ve got another issue that’s been driving me crazy. I have an alembic point cloud that I’ve imported into Blender, and am using geometry nodes to instance objects on the points from a collection. In Houdini, I specified that points were to be deleted when they reached a certain height. The problem is that when I instance objects from the collection onto the points, as points disappear from the point cloud Blender chooses different objects to instance on the points, when the instance index for each point should stay the same throughout. I assume this has something to do with Blender’s internal indexing, as Houdini shows that the index attribute for each point remains throughout the simulation. Does anyone know how I can prevent this switching between objects in the instance collection? Thanks for the help!

Isn’t that what “index” and “ID” are for. “Index” can change when points are removed or added whereas “ID” is persistent.
I think you have to set the IDs first with the “set ID” node or else the id will equal the index.

1 Like

Thanks for the tip, I’ve added a “set ID” node and connected an “ID” node before I instance on the points, but I’m still having the same issue. In the video you can see my current setup. What do you think I’m missing?

I just figured it out for anyone interested. Instead of using Blender’s internal indexing (Index or ID) to choose the objects from the collection, I exported a duplicate of the point cloud from Houdini, but with the “id” attribute of the points set to each component of their position, “P”, using a Point VOP. I then transferred the “id” attribute from the duplicate point cloud to the original point cloud in geometry nodes using the Transfer Attribute node (I just used the “x” component, as the components are all the same). I then used the transferred attribute as the Instance Index, and no more instance flickering/switching!

8 Likes