Andrey Beleckiy

Beleckiy Andrey

About Me

Connect

LOCATION
Kremenchuk, Ukraine
WEBSITE

Houdini Skills

INTERMEDIATE
Karma
BEGINNER
Procedural Modeling

Availability

I am available for Full Time Work

Recent Forum Posts

Building a Procedural Curve-Driven Lip Rig with Dynamic Weld April 20, 2026, 9:31 a.m.

Fraenk
Maybe you'll have good starting point by checking the worm-rig. I'v learned a lot from this example since it has also a custom viewer-state for creating sub-ctrls dynamically which is only possible in H21 (without writing your custom plugin like in Maya). So in theory you could let the animator decide how many micro-controls she/he wants to use on runtime(!). It's amazing!
I'd be really interessted in your poc if you can/want to keep sharing your progress since I'm currently working on something similar. Good luck. Apex rocks
Thanks for the tip I think that's what you meant https://www.sidefx.com/contentlibrary/earthworm/ [www.sidefx.com]

Building a Procedural Curve-Driven Lip Rig with Dynamic Weld April 19, 2026, 6 a.m.

джуджодже
Wouldn't claim to be an expert in any way shape or form, but, off the top of my head:

  • The component or rig::ControlSpline / rig::SampleSplineTransforms nodes should be able to get you a lot of the way there in terms of driving your joints with a curve.
  • Procedural density should be doable (in the graph construction not the animate state). You're still going to have to do the weights though.
  • For closing the mouth sop::fuse should work pretty well for basic things. Just put it after the bone deformation and set it to pick up a group on the geometry to fuse. You might want some fancier logic to blend it in, but should give you a start.

Image Not Found
Thank you so much for taking the time to point me in the right direction! I really like your train of thought here.

The suggestion to use rig::ControlSpline and rig::SampleSplineTransforms is spot on for driving the joints. Also, using sop::fuse after the deformation for the mouth logic sounds like a great starting point. I'm going to give this a try

Building a Procedural Curve-Driven Lip Rig with Dynamic Weld April 6, 2026, 6:22 a.m.

I am developing a high-end, flexible lip rigging system in Houdini 21 using APEX. I want to move away from static bone chains and create a fully procedural, curve-based solution.

The Goal (as shown in my Blender screenshots):
I have a cylinder with procedurally split edges at the mouth area. I want to implement a system that handles the following natively in APEX:

Curve-to-Joint Binding: A system where a curve (or multiple curves for upper/lower lips) drives a set of joints. These joints should be constrained to the curve points.

Dynamic Procedural Welding: Similar to the Blender Weld modifier, I need real-time vertex welding within the APEX graph. When the upper and lower lip joints approach each other, the mesh should seamlessly seal.

Advanced Lip Roll: Each joint along the lip curve needs a Roll (rotation) attribute to simulate the lip rolling in/out, which should be easily controllable via the curve’s tangents or custom attributes.

Procedural Density (Variable Controller Count): I want to be able to change the number of controllers (and joints) on the fly. For example, switching from 5 main controllers to 11 for finer detail without breaking the skinning or the APEX graph logic.

Sticky Lips / Seal: Logic that allows the lips to "stick" together within a certain distance threshold before they finally snap open.

My Questions for APEX Experts:

What is the best way to implement a Curve Constraint within an APEX Edit Graph to drive joint positions?

How should I handle the Lip Roll logic procedurally? Should I use an Orientation Along Curve approach within APEX?

Is it possible to make the Joint Count a procedural parameter that updates the APEX Rig Graph dynamically?

How can I implement a Distance-based Weld/Fuse node directly in the APEX evaluation to ensure the mouth seals perfectly when closed?

I'm looking for the most robust, "production-ready" way to set this up in H21. Any graph examples or node suggestions would be invaluable!