MaxToHoudiniSOPs

From Odwiki

Jump to: navigation, search

recently updated ! 07-05-03 this doc was initially created with houdini 5 as a reference, now im on version 8.2. ! recently updated ! 10-09-09 lol now im on H11 and have a little more experience with some feature film modeling with houdini under my belt.

Disclaimer: This doc was not an official guide or 'how to' but simply my opinion as a noob, and a start to help Max people understand what SOPS they could use to achieve similar results. Now i'm still a noob in some circles but not so in others. I will try to dust the cobwebs off this one again over the next few weeks...months - however long it takes. Daniel Phillis.

  • WIP

Some newer SOPS may not have been added yet.

*dusting off the cobwebs*

Here's an uopdated list of some common HOUDINI commands with my layman's description, and the equivalent modifier/ command in 3DSMax, if relevant.

feel free to email me for feedback daniel.phillis@gmail.com

  • Add SOP This Sop is used to create geometry (from scratch or by ADDing to existing geom) procedurally, with expressions or by specifying individual points to form the primitives(faces / polys in max). NB that Add SOP allows you to delete the geometry but keep the points which can be useful. Ive found I most often use this SOP to add only a single point often for rigging type functions or as a place holder for transformations.
  • Align SOP like the align 'action' in max whci deals with objects. There are options to align position and rotation seperately like max, but designed to align groups of points or prims / faces only - ie sub-object level, not object level.
  • Attributes It is safe to say i understand Houdini's concept of attributes infinitely better than when i started this document user posted image

Attributes are a good testimonial to why i switched over from Max. Ok now im rusty in max but when i first made the switch to assign custom attributes to objects or components such as points in Max seemed to be in the realm of programmers which didnt appeal to me then at all. Attributes are essential to using Houdini's power ! i reccommend Peter Quints Tutorials !

eg imagine your particle has an age attribute - so when it reaches a certain age - it explodes and births more particles.

each point on a grid can have an attribute - say velocity - even though the points may not be moving, when chosen to emit particles - this attribute - velocity can be transferred onto the particles, allowing you to set up the characteristics or customise you particle behaviour with normal SOPS tools on the emitter before moving into 'particle-land' or the POPS context as they say.

What kind of attributes ? anything ! color - velocity, ID numbers..custom attributes..a history of what the particle has been up to...etc.

it seems the atrtibutes can be a great medium for artistic control - as they can be painted onto a model. ie a valley that has various attributes on its points, could define certain areas for other geometry to grow - like grass in some areas and trees in other areas.

with other attribute related sops - like attr. transfer, attr. composite and attr. promote - you can copy and mix attributes from one model to another - or change the attributes in different ways - ie change point attributes to primitive attributes, or change a custom attribute on some points to tell them they have just collided with another object, and that its time to start emitting particles - or automagically - the car has collided with a pole at a certain velocity - time for the fuel tank to explode !!

again Check out the all the Attribute Transfer tutorials on the www.sidefx.com tutoirals section and Peter Quints tuts.

  • BlendShapes (new to 6.5) Same as Blend but without the 16 channel limitation. Equiv in Max is of course Morpher.

NB for the funtionality of Morpher in Max i tend to find Sequence Blend SOP easier to use.

  • Bulge Similar to push in max. Houdini's metaballs are used like bones or spacewarps to push the mesh around - very handy for

all sorts of things like faking muscles sims or bending particle caches etc etc.

  • Cap cap an open shape on an NURBS object. for capping holes in a polygonal model, use PolyCap.

try creating a tube, with no caps - then add a CAP sop, rounded caps looks handy.

  • Cache same as point cache in Max.
  • Capture think - skin. Basically - this allows you to specify a bunch of bones to deform your geometry. Its used in conjuntion with with Capture Layer paint - to then correct the vertex weights assigned by the capture regions (envelopes) and Deform to allow the bones to Deform the captured Geometry.
  • Capture edit skin weight editing - not sure if this is still in houdini 8.2 or above - i used Capture layer Paint recently - seems to allow you to do the painting like in sub-object mode in max.
  • Capture mirror skin weight mirroring - had some problems with this one...

got it working in a simple file - but not for my character. I'll have to look into this.

  • Channel op This allows you to override a parm with a CHOPS channel. The Equivalent in Max would be something along the lines of several levels of Aimation or script controllers contributing or overriding animation to a parm.
  • CaptureLayerPaint (new to 6.5) paint skin weights. Much better than CapturePaint in layering on top of existing capture weights like photoshop layers.
  • Capture proximity create skin weights based on envelopes of bones - like the old skin modifier from the old days of max 3 an 4 etc
  • Carve acts like a max slice mod and a section mod all in one ! (it works on all Houdini geometry types) (it also extracts curves and points)
  • CLAY op it has a similar functionality to soft selection - but works in a different way - "The Clay OP deforms faces and surfaces by pulling points that lie directly on them." For moving points based on a rolloff, see SoftTransform and Soft Peak.
  • CLIP like slice, has a plane that you can animate like in max but more easily and with full cotrol.
  • COMB (allows you to intuitively adjust surface point normals *EDIT or other attributes, in the view port.
  • CONVERT convert to nurbs/polygons/mesh like the Rc menu / modifier in Max. (converts from one geom type to another)
  • COOKIE like max's Boolean functions - but it seems to work much better.
  • COPY An amazing SOP. One of Houdinis many big-guns. I dont think there really is an equivalent singular feature in max . The copy SOP could work simply like the CLONE modifier ain Max, pasting objects onto the points of some template geometry like Max's scatter, but it is more often used to COPY an object around with a degree of randomisation....see 'Stamping Parameters'...

"...like the scatter compound object in max.."...well it could be - but so much more.eg you can adjust any type of characteristic or *custom* parameter of the 'clones' so as to create a randomness or make every copy unique in some way.

eg you could use it to lay down a field of grass - so that every copy of the one blade of grass was randomly scaled and rotated ...but also randomly tinted green to appear more or less lush than its neighbor, or randomly animated to respond differently to the breeze blowing through it. (i know im not doing this SOP much justice so far.)

or rather than randomly - , you could establish any form of complex relationship with the blade of grass and its environment - ie - it could be more lush in the shade and dryer in the sun...

  • CREASE weights Edit poly Crease weights adds creased edges to SUBD'd polygons.
  • CREEP will cause other objects to be 'stuck' along a surface with control for orientation in respect tot he surface. Animatable UV parameters allow it to travel around on a surface. I've seen it used to force thousands of curves representing hair onto animated nurbs surfaces.
  • CURVE you can make a curve (oooh) either polygonal, or nurbs or BSpline.
  • CURVECLAY like soft selection on a curve
  • CURVESECT you might have to use maxscript for this one.(finds points of intersection (or min dist) between two polygons)
  • DEFORM like skin in Max, used in conjunction with capture ops.
  • DELETE delete mesh (see also blast)
  • DISSOLVE removes edges or points.
  • DIVIDE like tessellate with more options. (lots of other functionality also)
  • DUPLICATE clone or array.
  • EDIT Op Edit is a good one.

imagine in max - your editing a mesh - but everytime you do an operation - like move a face/prim here - adjust the rotation of those vertices there - those operations were added to the modifier stack. geez ! you'd have a big stack - max might even crash ! user posted image Houdini allows you to do this, but you dont have to - why waste memory ? With the Edit SOP, you can adjust points till the cows come home - and all the changes will be stored in the one SOP.

  • EDGE BLAST edge delete - see dissolve and delete (in Houdini)

this one also leaves a hole in the mesh ( unlike Dissolve) so any faces / primitives made by those edges will be Blasted away to nothingness...like Guido...

  • EDGE COLLAPSE same as max - the 2 verts on the edge are effectively merged.
  • EDGE DIVIDE same as max, cut is optional
  • EDGE FLIP turn edge in edit mesh / re-triangulate in edit ploy
  • ENDS caps or uncaps - you must have a 'hole' thingy (tech terminology)

in the mesh - see also PolyCap and Hole in Houdini for more options.

  • EXTRUDE same as max - but quite powerful with more options.

ie you can choose which faces to output - you can turn off the sides and only keep the newly extruded faces. Newly Extruded faces can have a new group.

  • FACET clear smoothing groups - but with extra features - good for cleaning DXF files..i beleive it can also 'detach' all faces/primitives - so their vertices are no longer shared between primitives. - do a smooth (relax) on this and see what happens...
  • FILLET bridge NURBS surfaces NB there is also a bridge poly op in Houdini now.
  • FIT (fits a spline curve to a sequence of points) - no equivalent in max that i know off.
  • FONT procedural text. there is an option for TTF's - True Type Fonts..
  • FORCE (metaballs or springs, axial/ directional,spiral, vortex) similar to a max force or spacewarp- they can effect particles.
  • FRACTAL (creates fractal deviations with subdivision) : like noise but with added functionality of subdivisions
  • FUSE weld verts to a threshold distamce (and other options) with option of welding x points to a 'first' point, - target weld for several verts at once.
  • GRID plane
  • GROUP this one is really powerful - I've only just begun to...*EDIT* Now I understand its potential.

It acts as max's 'sub-object selection sets' for points or primitives(faces)in max. I've noticed other ops have a group input field that causes the op to operate only on the group rather than the whole object - the same effect as a sub-object selection being passed on to different modifiers up the stack... Whats really cool is that vertices's/primitives(faces) can be selected by their id numbers with out the hassle of scripting, by typing in either their numbers or an expression; or even by their normal values... and probably a whole lot more...

in a group SOP, you can also procedurally combine groups with boolean operations - add subtract , union, difference to make new groups for use with other SOPS. Point Groups can also be converted to primitive groups and visa versa.

Groups can also be dynamically changed with expressions - for example - the verts in an animated mesh that are below a certain 'height' in the Y axis ( Houdini is a Y-up packackage - max is a Z-up) can for a dynamic group - so the members of this group could be constantly changing so that as the mesh deforms new verts may come into the group. Think max's Volume Select. Houdini's groups actually have a Vols. Select functionality built into them !

you can pipe any other object into them as selection geometry, or choose a standard animatable sphere or cube.


  • HOLE makes or caps a hole like capping an multi-edge boundary in max
  • ISO surface allows you to generate a surface based on a mathematiacl expression. There is a math object plug-in for max that is similar in this regard. Also allows one to view volumetric data outputted by mantra like a cloud of smoke - but represented with polygons !
  • JOIN allows unification of different surface types attach ? impossible in max ?
  • JOINT not yet obsolete - now bone objects.
  • LATTICE (like Maya) like Max's FFD s - but you can define almost any object as a cage ! thus deform that cage with any of Houdini tools ! cool.
  • LOD same funtionality as max - define different LODS
  • LIMB obsolete.
  • MAGNET like a soft deformation defined by a metaball - like a vols with a push !
  • MATERIAL OP (obsolete ?)
  • Measure (primitives) same as max, generate an area or length of a spline etc.
  • Merge attach./ attach multi..
  • NETWORK op similar to xref in functionality ?
  • NULL dummy or point helper
  • OBJECT MERGE like an instance of one or more objects brought inside/to another object - like a reference if more sops are added to this initial object merge.
  • PAINT like paint deform or vertex paint - you can paint attributes onto point or primitives.
  • PARTICLE SOP like using Max's old particle systems compared to PFLOW *low level part system as opposed to POPS.
  • PARTITION *places points/primitives into groups based on user defined rules such as whether or not they are connected to ther prims

- Maxscript would be needed for this ? very cool !

  • PEAK like push - pushes points along their normals.
  • POINT like using maxscript to manipulate points with custom expressions. You can also transfer attributes around using the seond input.
  • POLYREDUCE akin to optimise *can be based on distance to camera for LOD generation.
  • POLYSPLIT *cut (it can handle a chain of cuts) like Maya (and sometimes Max) if you try and cut between two non-adjacent polygons -Houdini will try to cut those polygons in-between as well. If there is a section with no connected path of ploys - Houdini will still cut as much as it can.

You can also pan and orbit around your object inbetween cuts - whilst still in the cut tool , making life much happier for the modeller.

  • polystitch attempts to 'stitch' polys together procedurally, based on vertex/primitive(face) numbers entered manually or by an expression. The help file says there are sometimes gaps between polygons as a result of evaluating surfaces at different levels of detail.
  • Polywire -like making a spline in max renderable - it'll turn a curve into tube- like lofting a circle over an open curve. Or like adding the old Max lattice modifier.
  • POP op obsolete ? POPS is beyond the scope of this document.
  • Primitive Op believe it or not - you can use it to reverse a primitives normals. you can also use it to stick an object to a primitive - like the circle on top of Jason Busby's tornado spline - like the surface attachment controller in max.
  • Primitive split op nothing like it in max it checks the verts and decides whether or not to split them up (somehow) based on the specified parameters ?
  • Profile Op a nurbs operation - no details yet - coming from max i don't use nurbs often anyway.
  • Project Op a nurbs op - projects a curve onto a surface.
  • RAILS Nurbs - i didn't use NURBS in Max.

"The Rails OP generates surfaces by stretching cross-sections between two rails. "like sweep (revolve / lathe) but gives more control over the cross sections."

  • RAY projects the geom of one object to another along a ray.
  • REFINE this allows you to add a point along an already existing curve - like refining of a curve from within a Max edit spline modifier, increases the number of CVs in a curve or surface (polygonal or NURBS) without changing the shape. See Resample Below.
  • RESAMPLE Op like normalise spline in max - but it can turn to poly as well, then divides into even segments of length x
  • REST POSITION like UVW Unwrap (stops proc textures from 'swimming' on deforming objects).

It gives Houdini a relative position to work with when procedural textures are transformed.

  • REVERSE like a reverse modifier or check box on the spline sub-object level. (reverses or cycles the order of vertices's in an surface or curve)
  • REVOLVE like max's lathe. Simple.
  • ROUND (generates fillets {between 2 objects})
  • SCULPT `brush` based poly-sculpting albeit cruse like Max's.
  • SELECT mesh select / edit mesh *lets you pre-select geom for next Houdini op (this confused me as this is the usual work flow for max but the opposite for Houdini, usually in H, you would choose an op then specify sub-objects for it to work upon). This `first select then add operator' - workflow is sometimes reversed and seems to be generally reversed to Match the Max and Maya paradidigms since Houdini 9. Check the docs.
  • SEQUENCE BLEND like morpher for shapes - but you can also blend other attributes ie Normals as well.
  • SHADER - now obsolete - see material. You can assign a shader (material) to an object or group of objects or a group of primitives - like setting the multi-sub object numbers
  • SKIN parts of this functionality reside in max - the loft modifier take some faces and builds a skin over them.
  • SMOOTH akin to 'Relax' - but you can relax other attributes as well as points - like point colors, UVs and custom attributes !
  • SOFT PEAK like peak (push) but with a soft-selection - moving the points along their normals.
  • SOFT TRANSFORM like transforming with soft selection on.
  • SORT (allows sorting of points and primitives in different ways ie randomly or by world coords or distance to the camera or an arbitrary point etc etc.).
  • SPRING like 'flex' in max - can be used for simple cloth - like flags - or a table cloth settling on a table. Can also be used to make simple pseudo-soft bodies as max does with Flex. There are options forforces as well. NB - there are much more robust ways for making soft bodies - and lagging mesh. see Houdini's Dynamics - beyond the scope of this doc.
  • STARBURST seems to be like poly inset and bevel over all primitives/faces simulataneously.
  • STITCH not yet - actually i cant see this in H 8.2 - is it obsolete? possible now called polystitch.
  • SUBDIVIDE akin to Meshsmooth in Max.
  • SUBNET holds a group of ops like a macro - the balls of Houdini !

see HDAs / OTLS, think - custom plug-in - you roll your own !

  • SUPERQUAD not yet - seems to be a mathematically defined surface.
  • SURFSECT NURBS / Bezier (patch) booleans & intersections
  • SWEEP like a loft - can output nurbs or polys. You can procedurally scale / modify the cross-sections with expressions like in max's loft deformations. Or for more Max like functionality you can add a ramp parameter for visual scaling along the spline / path of the loft.

with options for multiple cross sections - just like Max :)

  • 'SWITCH *like layering controllers in track view or animating the strength of modifiers with a linear on/off controller - it allows switching between up to 9999 possible inputs! - so in SOPS these would be different models / SOPS or variations of parameters. Ideal for procedural effects.
  • TRACE generates polygons based on an image and its contrast levels - be carful not to throw too much geometry at your RAM with this.

very powerful ! i (not so recently) saw it used in David Gary's Procedural cities DVD. wow ! a must see...really !

  • TRAIL like ghosting but actually creates new geometry - not just a display feature.. can also be used to create cool trails of points or simply to calculate velocity :)
  • TRANSFORM allows for transforms at SOP level space as opposed to animating the object's xform channels in the parameter window ay object level space.
  • TRANSFORM AXIS Transforms an object with respect to a specified axis.
  • TRI BEZIER not looked into yet
  • TRISTRIP not looked into yet
  • TRIM op NURBS / spline patches trim operation
  • TUBE a 'primitive' - Note the different meaning of the same terminology. Poly, Nurbs or parametric, open or closed tubes, cones or pyramids
  • TWIST actually encompasses bend, linear taper, shear, squash and stretch, taper and twist ! NB - the bend doesnt function exactly

like max's bend - you have to make you own version that does if you want this - or go to the Houdini exchange and download Robert Kelly's bend 'modifier' OTL - look for 'rkBend' or `omni-bend`.

  • UNIX allows comand line modeling operations. it appears it allows you to take control with other scripting languages like Pytond or maybe even PERL !
  • UNPASTE - paste seems to be a NURBS stitching thing. *EDIT

"It's being able to paste higher resolution NURBs meshes on top of lower resolution NURBS meshes so that you can add more detail locally with less memory." - thx for the edit on this.

  • UV EDIT like uv unwrap see also UV pelt.
  • UV FUSE like uv unwrap, fuse is an one of the action possible in the max uvw editor
  • UVW PROJECT like max, assigns UVs using a projection ( possibly from another piece of geometry ? )
  • UV XFORM unlike UVedit - UVxform supports animation.
  • UV Texture assigns UV coordinates.
  • UV UNWRAP similar functionality to max - im yet to play with this in Houdini. Max's unwrapper in my opinion is the strongest ive seen - ill be very interested to see what Houdini has to offer here.
  • VERTEX not yet.
  • VERTEX SPLIT splits vertices's based on user set parameters
  • WIREFRAME like Max's lattice modifier - converts edges to tubes and points to spheres what a great modifier...

more edits to come,

  • WIP*

Back to MaxToHoudini

© 2009 od[force].net | advertise