|On this page|
This node creates a series of constraints on the geometry (skin surface and skin solid) generated by the Skin Solify SOP, uses the settings defined by the Skin Properties SOP to drive them, and then computes the skin simulation (second pass tissue) using the Vellum solver.
When simulating the skin pass (skin surface and skin solid), it is important to understand the following constraint relationships it has with the tissue layer (tissue surface and tissue solid):
Clears the entire skin simulation cache from memory.
Sets the frame on the Houdini playbar that the skin simulation should begin at.
Determines how points are integrated forward by their velocities during the simulation when curved motions (like swinging pendulums) are mispredicted and damped by the constraint projections.
Use first order prediction for integrating points. First order prediction avoids excessive bouncing. If the solver detects collisions during the simulation, then it will fall back to using first order prediction.
Use second order prediction for integrating points. Second order prediction recovers more curved motion and maintains more energy in the system.
Specifies a scale multiplier for the effective time of the Vellum solve. You can use this value to create bullet time-like effects where the physics of the Vellum solver runs at a different rate than the Houdini playbar. A value of 2 will cause the skin to fall twice as fast, and a value of 0.1 will slow the skin down to a tenth its speed.
Specifies the number of substeps each frame of the simulation is divided into. For fast moving collisions or sudden forces, you should use additional substeps.
If your skin is too stretchy, then try raising the substeps to see if that helps.
Specifies the number of passes that are taken by the constraint enforcement operations within each substep. Stiff constraints may require a greater number of iterations to converge.
Constraint iterations use a Gauss-Seidel approach that is fast to converge. However, if it doesn’t fully converge due to too high stiffness or impossible configurations, it will leave the error as bad looking triangles.
Specifies the number of passes that are taken by the smoothing operations within each substep.
Smoothing iterations use a Jacobi approach that is slower to converge but leaves error spread out in a more attractive fashion. The default Smoothing Iterations value of ten passes helps smooth out error, but you might need to increase it if the Constraint Iterations value is very high.
When on, enables external and self-collisions for the skin. Only the skin surface layer does the colliding.
Collision Radius Scale
Specifies the scale multiplier value for the space between the tissue and the skin. You can view this space in the viewport with Visualize ▸ Tissue Collision Radius on the Tissue Solver Vellum SOP node.
When on, creates a collision ground plane. This is useful when you have a creature with a big floppy tail hitting the floor. If a flat plane is not sufficient, you can use the External Collisions parameters to introduce an external collider.
Specifies the XYZ world position of the ground plane and allows you to offset it.
Specifies the number of collision passes to perform for the simulation. These passes are interleaved between the constraint iterations. Since collisions are expensive, we recommend that you use these passes sparingly.
A Collision Passes value of 10 works in most situations, but we recommend that you use substeps instead. Substeps are a better solution for increasing quality.
Post Collision Passes
Specifies the number of final-round collision detection passes that are performed
When on, specifies the number of additional collider-pair passes to run. In any collision pass, any colliding pair may not be fully resolved. These passes will run until all the unresolved colliding pairs are resolved. Since these passes are only performed on active colliders and no new collision searches are done, this operation is very inexpensive.
When on, you can use external collision objects with the skin.
Specifies the network path to the external collision objects.
Specifies the geometry group (or groups) that contains the collider primitives.
Specifies the uniform gravity force to apply to the skin.
Specifies the amount of points that are dragged by the wind force.
When on, the skin simulation is cached to memory.
Allow Caching To Disk
When on, the skin simulation is cached to disk.
Cache Memory (MB)
Sets the maximum size of the memory cache.
Specifies the name of a rigid skin point group to include in the skin simulation.
When you need parts of your skin to attach as rigidly as possible to the tissue’s surface layer and ignore sliding, then you can create a Group SOP node, connect it to the Skin Solidify SOP node, and use it to define a rigid skin point group for your skin network. If you define a rigid skin point group like this, then type the Group Name you defined on the Group SOP in Rigid Group parameter’s field.
Specifies the sliding method that is used for finding the next closest position on the tissue surface layer’s geometry when sliding the skin.
Choose the closest point on the target geometry to the projected sliding position. This approach is fast but can improperly jump across concavities in the tissue surface layer’s geometry.
Start from the current tissue surface layer primitive and successively walk outwards, finding the closest point on the surrounding primitives. This approach is more expensive but handles concave tissue surface layer geometry better.
Traverse Triangles (Optimized)
Similar Traverse Polygons with its improved handling of concavities, but can be many times faster as it uses specialized triangle distance functions.
When on, these options allow a substep to be repeated until certain conditions are met. The current conditions are designed to fix issues that are caused by disabled points causing geometry to be caught and causing the non-disabled points to generate stretching. Since collisions always pre-empt constraints, the result is skin stretching. Points adjacent to auto-disabled points will also be disabled if too much stretching is detected. The solve step will then be repeated in the hopes that this frees up the geometry.
Specifies the maximum number of times to repeat the substep. If no new points need to be disabled, the process will stop immediately.
Disable Stretch Ratio
The amount of stretch at the end of a solve step that will trigger points to be eligible for disabling. This is to detect when failed collisions are pulling the skin apart. By failing additional points, the skin can usually be released and this often results in better results than continuing to stretch.
Internal Attach Geometry
When on, shows the tissue layer and core layer inside of the skin pass in the viewport state.
When on, shows the attachments between the skin surface and the tissue surface as pink vector lines, and the skin solid and the tissue surface as green vector lines.
When on, all external collision objects (even the ground plane) are highlighted blue in the viewport state.
When on, all tissue points that lie outside the skin surface layer appear as pink spheres in the viewport.
Muscles that lie outside the tissue surface. So we don’t want to have that outliers situation where we have muscle poking through the skin. This is where the offsets thing comes into play (Tissue Layer > Surface Offset). The pink balls visualization are actual points that are on the muscles. So turn on this viz and then tweak the Surface offset. But if this leaves not enough space for the skin you want, you have to either a) make the skin bigger or b) make the muscles more compact/smaller. There is some compensation built in if you don’t leave enough room for the skin.
Specifies the scale multiplier for the size the Outlier pink spheres appear in the viewport state.
Tissue. The skin geometry (skin surface layer and skin solid layer).
Internal Attach Geometry. The cached tissue simulation.
Tissue Output. The skin simulation.