Jump to content


Popular Content

Showing most liked content on 04/27/2021 in all areas

  1. 1 point
    https://github.com/kamilhepner/kinefx_tools these tools might help you started, he created some hdas, just to make this bridge between traditional rigging and kinefx tools.
  2. 1 point
    Hmm, I think the issue is that by default the "rigid body solver" node actually uses the bullet solver under the hood, meaning that you have to configure your colliders in the bullet tab and by default, the bullet collider is set to "Convex Hull" for performance reasons and with a convex collision geometry, it'll only collide with a simplified bounding box of your geometry (not an entirely accurate explanation but I just don't know how to best describe Convexity ). Just move over to the bullet tab in collisions for your static object and set it to "Concave" or move over to your "rigid body solver" and change the top dropdown from "bullet" to "RBD" and it should fix your issue. P.S. Also, if you want to share your scenes on the forum remember to "unlock" your custom HDA's (RMB + "Allow Editing of Contents"), if not they will come through as empty for us on the other side.
  3. 1 point
    I've found a solution. My two part fix required 1) increasing the number of rows and columns in the intersecting grid, and 2) transferring the color attribute from the polygon to the intersecting grid. Initially, my intersecting grid was only 2 rows by 2 columns (ie. 4 corner points). In the polysphere example, this gave me the problem pattern (attachment 1). By making the grid, say, 5 rows by 5 columns and then also doing an attribute transfer of the sphere's Cd to the intersecting grid I get the even color that I wanted (attachment 2). (Just doing the attribute transfer onto the 2 x 2 grid wasn't enough. The grid needed to be at least 3 x 3 for the fix to have effect.) Thanks for your interest and advice!
  4. 1 point
    Not sure, my impression is it stays the same, because they would need to make a complete new system from ground up. CHOPs is one of the first systems from Hermanovic who now uses it on his new product Touchdesigner. But new nodes in kinefx are using some vops with the operations on clips which could be replacement for CHOPs, so my guess is that everything keyframe based will gradually move to sops and clip operators, it makes so much more sense, visually and because multi threaded. You are right about the mocap and putting a big focus on this aspect, at the moment. It is something to keep in mind, houdini is mostly used for liveaction special effects still. But make no mistake, mocap is just one possibility which is featured in this version. New paradigms in houdini introduced from 18, like python states and powerful rig nodes from 18.5 under the hood are just the beginning. They are working very actively on expanding these tools, as we speak. If you find time, google kinefx, you will be surprised what are people pulling up already, from using skeleton for modeling, to making custom HDA-s by utilizing kinefx vops and wrangles. There are still some hick-ups with the UI, especially, showing the keyframes on the timeline and some not so intuitive problems with the animation editor, but they are minor compared to what you can already do by using sop nodes in updating your rig and animation on a fly. Compared to this, Maya's human IK is very rigid, actually. It opens endless possibilities for experimentation. The problem is to forget the traditional workflow, but once you make that step, you can just keep discovering new stuff and experiment. The most difficult is to transfer quickly if you are already bind with the specific pipeline, but if you are free to just play of joy, kinefx is your toy. I can't speak about facial animation and what goes there (other then clever using of different blend shapes) but you can easily do all kind of bending of the limbs with just making your joints more procedural, using different sop nodes and then also curve IK constraints to get pretty much what ever you can imagine.
  5. 1 point
    I would hope it's because there is still actually density in those voxels that just isn't visible on your display. Quick check is to use a scatter on your volume to see if points scatter in those suspected empty areas - if they do, you've got density there.
  6. 1 point
    Currently working on a from-scratch texturing procedure that simulates water running down surfaces. Models shamelessly taken from @animatrix course files. Starting with projected points, the curves run along a volume until they drop onto the next underlying surfaces using nested while loops. The watery effect is achieved in COPs where the texture is drawn based on measuring distance from texture positions to these curves. Alright, enough art, here comes the proof of dripping :
  7. 1 point
    A caustics map generator rendered out in Karma using intersect() and refract(). caustics_map.hiplc
  8. 1 point
    if i understand correctly, you've got like 1000 blueprints and you want to say - hey, blueprint number 568, set your height to 12. in that case, wrangle SOP is your friend: if(@primnum==568) @height = 12; if you want to edit a bunch of prims you can chain them: if(@primnum==568 || @primnum==654 || @primnum==33) @height = 12; i'm using @primnum in these examples (which refers to the particular primitive number) but you can use any attribute: if(@P.x>10) @height=12; (modifies all prims with X axis position value > 10) obviously this becomes cumbersome if you want to edit more than few values. in that case you can first group them and do the operation on groups (the group is called "abc" in this example): if(@group_abc) @height = 12; these are just some trivial examples of how to manipulate subsets of data but possibilities are endless. you can get very creative here with arrays and loops here, you can filter things by incomins attribute values (names), it's location or a distance from something, by it's size, by user defined tags, you name it.
  9. 1 point
    Hi Johannes, have you looked into cracktransform() yet? It extracts transform vectors one at a time: // translate (c=0), rotate (c=1), scale (c=2), or shears (c=3) vector cracktransform(int trs, int xyz, int c, vector pivot, vector pivot_rotate, matrix xform) https://www.sidefx.com/docs/houdini/vex/functions/cracktransform.html
  10. 1 point
    I know how to target a group, but how to protect it? in this case not group 1, how do I write it?
  11. 1 point
    preface it with a '!' !group1
  12. 1 point