Jump to content

All Activity

This stream auto-updates     

  1. Past hour
  2. Detail wrangle: string grps[] = detailintrinsic(0, 'primitivegroups'); foreach(string g; grps){ addprimattrib(0, g, 123); }
  3. Today
  4. Houdini : Need Suggestion for talcum powder simulation

    Thank you all for your valuable suggestion.. !!
  5. create a name attribute (primitive) for each primitive group, name is the group name
  6. Hi I just want to confirm if my understanding is correct. Basically in a simply scene like this. Two object hard constraint together with two anchors in between. When constraint_type = "position", only one anchor should rotate. Simply because only two object involved, if they are constraint by one line, they should rotation around one point. If we want to achieve effect of box rotate around two anchors, there has to be a third object in between. Otherwise there will only be one anchor rotate. The other one will never rotate in constraint_type = "position" mode. I'm not sure my understanding is correct, can someone confirm this? Thank you.
  7. Hi, You can do this by directly using the @primnum attribute in VEX. So you can use the same thing in VOPs. That will refer to the primitive using that point. In case of multiple prims, it should be the first one I think. In that case you can use the pointprims function.
  8. Applying Corrective shapes with kinefx

    I did this quick, so I'm not 100% sure it will work in all cases, but it should point you in the right direction. I mocked up two options: 1-- uses the joint angle VOP. It's a handy VOP. Basically you pipe in the joint you're interested in and then tell it which child you are interested in. You can hard-wire it with another get_point_transform VOP. Here I just used "0", which is the joint's first child. You can also set it to -1, which will calculate the average of all the children (which might be useful in some cases). It then return the angle between them in radians. I just fit the output based on what I though the min and max range should be and it outputs a 0.0-1.0 value that I can use to drive the blend shape. 2-- uses the local transform. I multiply the local transform of the joint in rest pose with the local transform of the joint after the rig pose. That is the same as moving the rest state joint to the new (animated) position and rotation. If you extract the rotation from the localtransform, you've got how much it rotated in degrees. Fit that and you have another variable to drive the blend shape. It's a bit late, so I didn't do the dot product, but it's the same idea as 1. You'd create a vector between shoulder and elbow (upper arm) and another between elbow and wrist (lower arm), then take the dot product. The dot product gives you a range (1 when the vectors are pointing in the same direction, 0 when perpendicular, and -1 when pointing in the opposite direction). You fit that to get your 0 - 1 range. Try those. I think they should work and you shouldn't get any gimble lock problems. They don't account for twist, but they could be updated to do it. Also, just an aside, about the weird localtransform values: I don't like the orient_joints SOP. I prefer to do it manually. In the skeleton SOP click each joint and hit "P" to open up the individual controls. You can make sure the local transform values are what you would expect. GimbalLockPoseDriver_v02.hipnc
  9. Yesterday
  10. while pointvop only run over points, is it possible for the point to find out what's the prim number belongs to, and then retrieve a attribute from the prim? i am currently making: 1) attributes in a curve 2) promoting the attributes to points 3) using those attributes, but now i have 3 loops over the geometry =( and i would like to optimize since will be a lot of curves/points, i would like to vopsop loop the point, find what's the Prim number that belongs to and retrieve the attribute from that prim. thanks guys optimize_vopsop.hip
  11. Switch if

    Hey Sam, The If syntax can be found here → https://www.sidefx.com/docs/houdini/expressions/if.html if(ch("../transform7/ty")>0.5, 1, 0) But for a simple comparison such as this, you could simply remove the if altogether. ch("../transform7/ty")>1 This will resolve to 1 if true, and 0 if false.
  12. Hero Object with multiple imported instances

    Unfortunately not working with a hero object. It doesnt react to names. I want this object especially for interactions with fluids. its working nicely in terms of re-solving but I dont wanna add object by object. Imagine a container ship with hundrets of containers on it. It will treat all of those containers as one big thing.
  13. Switch if

    Hey up, Hope every one is well. Just a quick question regarding the switch if node. i want to switch based on the transform7 , ty value . is this possible ? if so any suggestions how i could script this ?
  14. Hero Object with multiple imported instances

    Hi, use packed geometry with different s@name for each piece of geo and RBD Packed Object dop.
  15. Thanks for the response. I have made a hip file and will upload it now if you want to take a look. For your first point, this doesnt work for when there are multiple rig nodes including IK one. Second point, In the hip file I am uploading if you move between frame 1 and 2 the left hip will rotate from -90 to -120 and gimbal will flip out. Also I have noticed that when getting the local transform rotation when I haven't done any pose, my rotation doesnt start at 0, it starts at something wierd like 0, -90, -90. So that probably doesnt help. I didn't know about the dot product thing, sounds like it could be useful. I was suggested the joint angle VOP by another guy on another forum a year ago when I was asking about this but it still didn't work. I would love to post an example of me attempting PSD in kinefx but I don't even know where to begin. Not much in the way of tutorials out there. In the meantime I have come up with my own solution to getting pose correction morphs to work but it is very awkward and cumbersome and I don't like it. I figure I am missing a much simpler and better solution. What I do is, pose the rest skeleton with where I want the joint to be rotated when the corrective is fully activated. I then turn on local transform parameter and use python to calculate the rotation from the local transform matrix and save the rotation as a detail attribute on the animated rig pose. Then once finished posing, I run another python node which looks for joints that are associated with corrective morphs and then it calculates the local rotation of the current joint. I then have 2 rotations for the joint, what it currently is and what it should be if the corrective is to be activated. I then make a Vector in the z direction and rotate it by each rotation. I then compare the distance between these 2 vectors. I then manually adjust the radius for when I want the rotation to start and apply the blendshape based on that. Problems with this method are that it doesn't account for twist, the joints needs to be lined up in the z direction, and it takes a lot of work just to set it up, and its probably slow. GimbalLockPoseDriver.zip
  16. Hey, I was wondering how I can have the hero object inherit multiple incomming objects but treat them as seperate items. I can import one item, replicate it in dops and adjust each one with $OBJID but cannot import multiple layed out objects without having them act as one entity. hero.hiplc
  17. Last week
  18. Applying Corrective shapes with kinefx

    Maybe a quick .hip file would help. There are lots of way to do this. -- You could fit the angle rotation from the rig pose and use that to drive the blend shape. -- As you say you can extract the rotational transforms of the localtransform and fit those to drive it (I haven't run into gimble lock problems yet). -- For knees and elbows, fitting the dot product of the upper limb (the vector between the shoulder joint and elbow joint) and the lower limb (the vector between the elbow and wrist) can be a useful way to drive the blend shape. -- There's a joint angle VOP that can be useful. I have not had a chance yet to explore how to use the PSD SOPs with kinefx but if you post an example we might be able to help figure it out.
  19. The prop doesn't stay where it's meant to stay. I've added a simple cube and used the (brand new) agent layer node which isn't covered anywhere and is different than the older one. Any idea how to get the brand new agent layer node to work and to stop the prop from swinging? (Attached screen-print of all nodes and their parameters.)
  20. On Growth and Form

    for patterns . vertVe1x.hiplc
  21. Hard Surface Design

    Finally did a render of this old dude to close that test between 2 jobs https://lnkd.in/g2wdBGVd ________________________________________________________________ Vincent Thomas (VFX and Art since 1998) Senior Env and Lighting artist & Houdini generalist & Creative Concepts http://fr.linkedin.com/in/vincentthomas
  22. Ah yes there was a weird name i found, clumsy mistake. Thanks for the function as well works perfectly!
  23. FBX EXPORT - DIFFERENT FILE FOR EACH FRAME

    Here's my take on it It's not polished or anything, it just works. Basically, it's a foreach loop, set to By Count, which is controlled by a frame range attribute. Within the loop is a timeshift tied to the loop's iteration, as well as an FBX Export with the same loop iteration in the filename. Finally, a python sop simply does a pressButton() on the FBX. (The execution is handled through the Stop Condition of the loop. The subnet's Export button sets it to 0, force cook, then sets it back to 1) Anyways here's the file (19.0.455), hopefully that helps. export_separate_fbx_per_frame.hiplc Cheers ! (I took that as a fun mini tool-building exercise, but sebkaine's link has a few other solutions that works just as well)
  24. I saw this video recently, unfortunately it's in Chinese. I'm mainly concerned with procedural rock placement section. Any ideas how this was achieved? I can manage the masks I'm getting stuck on how the geo is section into what seem like plots of land. Would anyone have any ideas? I've attached a hip file as well proceduralPlacement_v001.hip
  25. I'm running into the same issue. What were the settings that you tweaked to make it work? Thx.
  26. Yeah I thought of that, just do a bunch of small domains with edge boundaries, combine all the flip sims into one with soft edges, then do whitewater from that... but it will look like mixed sims a bit.
  27. What worth to try its make few sims with lower res and combine them, and then mesh result
  28. Thanks for your ideas. This is what I came up with in the end. I did only a rough interpolation and then used resample and subdivide to get adaptive and smooth samples. interpolate_transforms.hiplc
  1. Load more activity
×