The Houdini Megathread

GordigGordig Posts: 9,172

Since we don't have our own subforum yet, I thought I'd start a thread to see who else is using Houdini, what they're working on, etc. I started using Houdini in earnest earlier this year because I was working on an animation project in C4D and wanted to add a crowd simulation to it, and because I'm a lunatic, that was my first serious project in Houdini. Since then I've been experimenting a lot with vellum, pyro and have even done some modeling. Most recently, I started using FEM for softbody simulations. Here are the results of that: 

It's taken an inordinate amount of time to get a particular outfit to properly simulate, and then I have to sim hair on top of it, but I'm nearly finished with this little project. What's everyone else working on?

Comments

  • I was just looking at this program a couple hours ago.  The topology transfer looks very interesting.  The pricing levels and "rental" model is discouraging (and a bit confusing), though.  Even if it is a leader in the market, it's a bit too expensive for one function I'm interested in.

  • GordigGordig Posts: 9,172

    Houdini has a lot going for it. There are some things that Houdini does so well that there's no reason to even look at other programs. Even outside of those things, Houdini is still incredibly powerful, and it's only $269/year for the Indie license. The modular workflow definitely takes some getting used to, but it's not impenetrable.

  • Write IdeaWrite Idea Posts: 291
    edited November 2023

    Gordig said:

    Houdini has a lot going for it. There are some things that Houdini does so well that there's no reason to even look at other programs. Even outside of those things, Houdini is still incredibly powerful, and it's only $269/year for the Indie license. The modular workflow definitely takes some getting used to, but it's not impenetrable.

    I looked over the levels, and it doesn't seem terribly unreasonable for the indie license--like you said.  I really only use Gen8 cos I've invested so much money into it.  Is the toplogy transfer any good?  I've seen videos where it says it'll do everything and the kitchen sink, but that's retail for you.

    Post edited by Write Idea on
  • GordigGordig Posts: 9,172

    I haven't used topology transfer, I just use G8 figures in Houdini. What do you want the topology transfer to do?

  • FaceBuilder for Blender looks like a great tool, but I haven't seen any successful ways to transfer that to the Gen8 figure.  That's why I started looking into Houdini and Wrap4D.

  • wolf359wolf359 Posts: 3,764

    I use the free Apprentice version
    to make smoke & pyro for export to VDB for Blender
    beyond that I dont have time/desire to tackle Houdini’s complexity
    because all of my other Character animation tasks are easily handled with Blender.

  • I had started a Houdini/Daz Studio thread several years ago with information on how to transfer geometry between the two.  I haven't gone back to see how much has changed in the latest versions of Daz Studio and Houdini.  It might be useful to some https://www.daz3d.com/forums/discussion/196556/daz-studio-and-houdini-go-procedural/p1

  • GordigGordig Posts: 9,172

    RobotHeadArt said:

    I had started a Houdini/Daz Studio thread several years ago with information on how to transfer geometry between the two.  I haven't gone back to see how much has changed in the latest versions of Daz Studio and Houdini.  It might be useful to some https://www.daz3d.com/forums/discussion/196556/daz-studio-and-houdini-go-procedural/p1

    Looks like there's some really good information in there, if you're interested in rendering in DS. For now I'm rendering everything in Houdini using Karma, although once I've subscribed to Houdini Indie I'll either use Arnold to render, or export Alembic to C4D and render in Arnold there.

  • GordigGordig Posts: 9,172

    Does anybody have any idea how I would halve the rotations of various bones on an animation?

  • Gordig said:

    Does anybody have any idea how I would halve the rotations of various bones on an animation?

    Hi Gorgig, up to something interesting again, I take it.

    Just halving Euler angles doesn't work. I mean spectacularly doesn't work :) I don't know how it is done in Houdini, but the math behind it is governed by Quaternion Spherical Linear Interpolation, so you might want to goole SLERP. Houdini has got to have some sort of facilities for it.

     

  • GordigGordig Posts: 9,172

    Short term, I just solved my problem by choosing different bones to retarget. I will look into SLERP, though.

  • GordigGordig Posts: 9,172

    I spent way too long trying to figure out how to simulate vellum hair within a DOP network so I could add additional wind force, turbulence and whatnot. Nothing worked, and the hairs would just infinitely stretch. Finally, watching a tutorial, I discovered something that should have been obvious.

    Helpful hint: you can just dive into the Vellum Solver SOP to add forces.

  • GordigGordig Posts: 9,172

    Does anyone know how to project textures across UVs? I'm trying to transfer a haircap texture from a haircap to the figure itself, because Karma isn't the best at resolving opacity on overlapping objects. There's a Labs UV Transfer SOP, but I don't want to overwrite any of the figure's UVs.

  • GordigGordig Posts: 9,172
    edited January 26

    I feel like there has to be an easier way of doing this that just hasn't occurred to me. I tried the UV Transfer SOP to transfer the figure UV to the haircap (rather than vice versa, which is what I was originally trying to do), then exported the haircap with the new UV, imported that into DS as a UV set for the haircap, map transferred the opacity map to the G8 UV and then imported those maps into Houdini. It turned out to be an imperfect solution.

    CapSplit.PNG
    533 x 527 - 539K
    Post edited by Gordig on
  • GordigGordig Posts: 9,172
    edited January 26

    I'd gotten into the habit of turning bleed factor all the way down when map transferring, so I set that back to default just this once. It's still not perfect, but it's good enough for my purposes.

     

    CapUnSplit.PNG
    500 x 524 - 545K
    Post edited by Gordig on
  • GordigGordig Posts: 9,172

    TheMysteryIsThePoint said:

    Gordig said:

    Does anybody have any idea how I would halve the rotations of various bones on an animation?

    Hi Gorgig, up to something interesting again, I take it.

    Just halving Euler angles doesn't work. I mean spectacularly doesn't work :) I don't know how it is done in Houdini, but the math behind it is governed by Quaternion Spherical Linear Interpolation, so you might want to goole SLERP. Houdini has got to have some sort of facilities for it.

    I don't know why I didn't think to clarify this at the time, but would it make a difference if the rotations were only along a single axis, with the other axes remaining at 0?

  • Gordig said:

    TheMysteryIsThePoint said:

    Gordig said:

    Does anybody have any idea how I would halve the rotations of various bones on an animation?

    Hi Gorgig, up to something interesting again, I take it.

    Just halving Euler angles doesn't work. I mean spectacularly doesn't work :) I don't know how it is done in Houdini, but the math behind it is governed by Quaternion Spherical Linear Interpolation, so you might want to goole SLERP. Houdini has got to have some sort of facilities for it.

    I don't know why I didn't think to clarify this at the time, but would it make a difference if the rotations were only along a single axis, with the other axes remaining at 0?

    Hi @Gordig

    I've never realy thought about it, but yes, that should greatly simplify things. A quaternion is defined by 4 floats: ( x, y, z, w ). The first three define a vector around which the object will be rotated, and w is the cosine of half the angle around that vector that the object will be rotated. So you'll take w, calculate the arc cosine to get back to an angle in radians. Divide that by two, and take the cosine again. That's your new w, call it w2. Basically:

    q' = ( qx, qy, qz, cos( acos( qw ) / 2) )

    I've already seen your VEX-Fu, so I'm sure you can take it from there. Try it and let me know if I'm off.

     

     

  • GordigGordig Posts: 9,172

    Who knows CHOPs? I've done very little in them so far, but I'm trying to drive JCMs on an imported character. I've got the Character Blend Shapes SOP driven by the Character Blend Shapes Channels, everything is working just fine there, but I don't know the next steps. I'm assuming I need to extract joint rotations so that I can connect them to channels for each JCM, but I haven't found the right CHOP for extracting the joint rotations. 

  • GordigGordig Posts: 9,172

    I think I've figured out the basic concept: use a Channel CHOP to create a channel for each joint that will fire a JCM, then do whatever range mapping needs to be done to turn those rotation values into percentages on the blend shape SOP. The problem I'm running into now is that I can't figure out which SOP to reference in order to get those joint rotations.

  • GordigGordig Posts: 9,172

    I've made SOME progress with CHOPs, but only to the point that I can automate a character blinking. Now I'm learning how to set up an HDA so I can easily drop one of my characters into a new scene and control parameters from the main page, which is involving some funky VEX just to control the rate of blinking:

    ch("../../blinkratevar") + efit(round(10 * rand(ch("../../blinkratevar"))), 0, 10, -1 * ch("../../blinkratevar"), ch("../../blinkratevar"))

    And even that isn't finished yet.

Sign In or Register to comment.