Category Archives: Digital Asset Creation

Procedural Position attribute using Creep SOP


Recently I was helping a friend with a procedural modeling project, and she was wanting to place a ladder on the model in a procedural way. This brought up an interesting issue for her, as she was creating her entire object off of a root curve. She only wanted the ladder to be able to be placed around the perimeter of the object. I realized that if we used the root curve as the second input of a creep node, I would be able to have a single point follow the curve by varying the X position on the creep from 0 to 1. This allows for the position to be calculated as a % around the curve, which thereby allows the position to be set by a single parameter in the interface. Once you have the single point, which I created with the add node, creeping on the curve, you are able to use this point as a copy template point. The biggest thing to remember for orientation is that the polyframe needs to have the Normal creating an up vector and the Bitangent needs to be utilized for the normal. If the vectors are wonky after this, use first edge instead of two edges, but this will depend on the geometry. In the creep node you will need to check “Set Point Attributes From Path” and make sure that the point attributes are all copied.

This works great for one point, but what if multiple are needed? This is actually rather trivial it turns out. Instead of using the X offset in the creep node, if you instead add more points in the add node, then offset their individual X positions between 0 and 1, you can set each one of their % around the path independently, then use the creep offset to shift all of them together.

Hope this helps and good luck with your projects!