Jump to content


Popular Content

Showing most liked content since 10/12/2021 in all areas

  1. 4 points
    I just worked my way through Dave's whirlwind tutorial on how to get better creasing out of vellum. ap_ds_vellum_advanced_crumple_wrinkle_101421.hiplc
  2. 3 points
    Particle based RBDs ap_egj_particles_to_rbd_101421.hiplc
  3. 3 points
    inside the Sheeter sop, where you get the particles from the flip solver and apply the filling process, you can do VDBfromParticles, then use VdbSmoothSDF to smooth a bit the surface, and then use a Group SOP where you group only the particles that are inside the smoothed surface, AND THEN apply the filling process only on that group. This causes the Hole Filling to be applied only on areas that are the "body" of the simulation and not the egdes.
  4. 3 points
    Here's a simple example. You need to use a Vellum constraint type that supports orientation, which generally means you want to use hair. Once the sim is done, convert the orient attribute to the KineFX-supported 3x3 transform matrix like this: 3@transform = qconvert(p@orient); Then input to a Bone Deform and you're done. vellum_kinefx_toadstorm.hip
  5. 3 points
    attached is an example of how it could be done. Keep in mind this is intended to be used with lower contrast images, for bump mapping etc and not a fully blown high contrast brick image. but it gets the point across I think. restratio_flipblend.hiplc
  6. 2 points
    I'm guessing you probably have the Nvidia 496 driver installed. If you do, rollback to a version < 495 or no shader program that uses a geometry shader will compile (and Houdini uses them a lot - it'll be unusable with 496). We contacted Nvidia earlier last week about this and they're looking at it.
  7. 2 points
    It's not much different from using single rest fields, just in addition of that you have to consider the interpolation between the two rest fields and their resets. To interpolate two details attribute are created by the solver. They are called rest_ratio and rest2_ratio, which are basically values that describe how much the noise advected by rest1 and the noise advected by rest2 should be visible at a certain frame. About that, I think it's better you use higher values on "Frames between resets" on the Rest tab of the flip solver. Since usually it has to move slowly, you don't want to see any fast changing noise on the shader.
  8. 2 points
    FLIP comes with built-in options for dual rest fields now... they've been there for a few years. My post is really old, but the concept behind dual rest fields hasn't changed... it's actually pretty similar to how flow map shaders work, if you're into shaders. You can find the options under Particle Motion > Rest on the FLIP Solver DOP.
  9. 1 point
    How to procedurally punch scattered holes into a quad mesh using scatter and circle from edges-node.
  10. 1 point
    There are probably easier ways to get gear models but hey. Spur and helix only because if I have to look at more math I only barely grasp I'll cry. I'll maybe come back for bevel/hypoid/planetary/worm some other time. I'm a hobbyist and this marks the first time I've shared anything with anyone so... my horn, toot, etc. Not blackboxed or anything if you want to have a gander. Peace. buildgear.hdalc
  11. 1 point
    Hi, I also had this problem. My only advice would be just stick with 471 for the time being. It seems like there is a problem with Nvidia 496 driver. I wasted my whole day trying to solve this problem. Nice job and thanks to Nvidia .
  12. 1 point
    SBUX_dl.hipnc EDIT: I meant to say "cross product" instead of "dot product" in the sticky note.
  13. 1 point
    Probably best to reserve praises for when we'll have had the chance to do some testing. And the same for criticizing. I have a piece in this category related to the hotkeys system (more transient keys) which seems like it got no attention and as such working with snapping will continue to feel like getting kicked in the nuts whenever I have to toggle it on/off. But, like I said, I should wait, maybe they did finally do something about it.
  14. 1 point
    aaaaand there it is. New shiny curves in ver 19. Thanks a lot! It's funny how happy that change made me. What have I became It's hard for me I'm more of a hobbist-artist than a programmer but thanks.
  15. 1 point
    You can make multiple RS Rops and assign them to different cameras. Then wire them into a merge, and under options set it to node by node then hit render.
  16. 1 point
    Very clever ! Thanks for your work, I'm probably going to rewrite it from scratch this year and make something better this time !
  17. 1 point
    If you've worked through a tutorial and want to share your HIP file with the community, post it here. I completed one where Mikael Pettersen demonstrates how to create a Blendshape crowd agent. ap_mp_blendshape_crowd_character_052120.hiplc
  18. 1 point
    I swear, best community in the known universe. Thanks alot Ultraman! Lots of useful stuff you added there, appreciate it
  19. 1 point
    There is Houdini engine with python api. That should solve the license issue's. Integration shouldn't be that hard. https://www.sidefx.com/docs/houdini/hapi/
  20. 1 point
    Attach the corrected scene with a working rest pos binding also in layer mode. layered_shader_rest_pos.hiplc
  21. 1 point
    You can use Polyloft for it. But in order for it to work all curves must be the same kind. Yours is a mix of nurbs and polygons. Polyloft works best if both curves have equal amount of points. untitled.hip
  22. 1 point
    popadvectfromvolume takes a vel field (from a smoke sim for example) and advects the points through it
  23. 1 point
  24. 1 point
    In the "Asset Manager" window, set the "Asset Bar" to "Display Menu of All Definitions" https://www.sidefx.com/docs/houdini/ref/windows/optypemanager.html#configuration-tab Operator Type Bar Controls the visibility of the Operator Type Bar that appears at the top of Parameter dialogs. This bar shows the path to the HDA file that defines the node pointed to by the Parameter dialog. The Operator Type Bar can be hidden completely, or it can be in a read-only mode where it simply displays the HDA path, or it can be in a mode where it presents a menu listing all HDAs that contain a definition for the asset. You can then revert back to the previous definition of the sweep node if needed.
  25. 1 point
    Overlay network editor would be nice to have built-in in H19 or 20 I have been using it for more than 2 years in production, so the video I initially uploaded is severely outdated. Will update once H19 is released.
  26. 1 point
    A simpler and more efficient solution Inspired by Konstantin 's last post (one more time :)) but this time transfering distance to displacement. Embrace F3.hiplc
  27. 1 point
    Animation and rigging toolset to rival Maya so I can dump Autodesk for good!
  28. 1 point
    You can multiply your noise by a volume mask like so. Mind that if your noise goes *through* the geometry your mask would sit on the surface, so transfer your mask to points that fill the geometry (like with Points from Volume SOP). maskvol.hiplc
  29. 1 point
    It's hard to say exactly what's going wrong without seeing a file, but my guess is that you're not properly applying the orientations of your vellum sim back to the transforms of your skeleton. When you run the Vellum simulation, assuming you're using a constraint type like "String" that supports orientation, the p@orient value of your input points needs to match the KineFX joints. You can do this pretty quickly by converting your 3@transform attribute (this is in world space and common to all KineFX joints): p@orient = qconvert(3@transform); Then feed this into your Vellum String configuration and simulate. I'm using Pins to keep some of the original joints attached to their animation. The p@orient attribute will update during the simulation. To turn these results into something useful post-sim, we have to take this computed orientation and convert it back into the 3@transform attribute. You start with a default matrix, make sure its scale matches that of the original, then rotate it to match the orientation of your simulated points: // convert world space orient quaternion (from vellum) back to transform matrix vector scale = cracktransform(0, 0, 2, 0, 3@transform); matrix3 xform = ident(); scale(xform, scale); matrix3 rot = qconvert(p@orient); 3@transform = xform * rot; Now that that's done, you can connect your skeleton into the Bone Deform SOP and it ought to work. I'm attaching an example HIP file... you'll have to load your own FBX, define a clip name and pick new pin numbers on the Vellum Constraint. vellumcat.hip
  30. 1 point
    You just need to click on "Copy Cutting Surface Attributes" on the Boolean fracture and put uv in the Vertex Attributes. I believe the Boolean Fracture sop tries to do its own uv jazz on the inside which is why you are getting distorted uvs like this. By clicking the copy on, it should just bypass all that and use the incoming from your cutting planes. Also, not quite sure why you have the extrude volume sop in there as it doesn't really do anything for cutting in this case.
  31. 1 point
    for those who need that for vellum cloth , here is an other hip pin_to_animation_att.hiplc cheers E EDIT : I also add the link to this post , cause Tomas hip is very useful and concise to get pin constrain control by an attribute : https://www.sidefx.com/forum/topic/68425/
  32. 1 point
    Try using opscript command trick https://kiko3d.wordpress.com/2015/03/19/converting-houdini-not-commercial-files/
  33. 1 point
    Use the fit function like this... This will give you a random switch between 0-3. Notice the -1 count on the maximum number. Set the maximum fit number to the number of inputs. fit01(rand($F),0,4)
  34. 1 point
    Year 2019...had issue with this in Houdini 17.5. Solution is to add word 'function' and everything works only then. function int[] getPointsForPrim(int targetPrimID){ int pts[] = primpoints(0, targetPrimID); return pts; }
  35. 1 point
    Hi Mirabela, you could trail curl noise and mesh it with varying thickness. Finer details could originate from a displacement shader utilizing to the same curves again. curly_curves.hipnc
  36. 1 point
    Excellent finding. I kinda knew the new uvlayout from H17 acquired super powers, because they mentioned it in the Launch presentation video... but there are only so many hours in a day.
  37. 1 point
    Just a quick update on this..2 years old entry! As I had issues with this and found a way thought I'll share it, so basically after packing with Pivot set to "Centroid" add a wrangle vector pivotOffset= chv("PivotOffset"); vector pivotCentroid = primintrinsic(0, "pivot", @ptnum); vector newPivot = pivotCentroid + pivotOffset; setprimintrinsic(0, "pivot", @ptnum, newPivot); @P += pivotOffset; Just one another way
  38. 1 point
    Assuming you would want the circles not to intersect, we can solve this in a VOP network with only a few nodes. First we make sure the geometry we want the circles copied to has normals (if we want this to work with any input). We scatter points, and append them to a point VOP. Inside the VOP (which loops over the points), we want to evaluate the closest point and the point itself, subtract their positions to measure that distance and divide it in half, since we are looking for the largest radius each circle copied to those points could have. pcopen (original P to P, OpInput1 to file) > 2x pcimportbyidx (handle to handle, first has index 1, second has index 0) > subtract > length > multconst (0.5) > bind export (pscale) Also, make sure to adjust the search radius on the pcopen accordingly. A large enough number will suffice. After that we only have to copy circles to those points. I can provide a file later. All of this could also be solved with wrangles, obviously. I might give that a try too. Hope it helps, cheers! edit: well, the same principle in vex is actually simpler than I thought. Put this in a wrangle after scatter and copy the circles to points. int pcloud = pcopen(0, "P", @P, 10, 2); vector found = pcimportbyidxv(pcloud, "P", 1); @pscale = length(found - @P)*.5;
  39. 1 point
    <?xml version="1.0" encoding="UTF-8"?> <shelfDocument> <tool name="delta_edit" label="Delta Edit" icon="SOP_edit"> <helpText> <![CDATA[ #type: tool #icon: SOP/edit = Delta Edit = """Create Edit SOP from difference between two SOPs.""" ]]> </helpText> <script scriptType="python"> <![CDATA[ def safe_name(network, name): ''' Append a digit to the name making it unique within the network. Depends on existing nodes inside the network. E.g. if the network contains edit1, edit5 and edit6 nodes, 'edit7' will be returned, ignoring vacant numbers between edit1 and edit5, the way Houdini does it. ''' digits = [n.digitsInName() for n in network.glob(name + '*')] return '{}{}'.format(name, max([0] + digits) + 1) def delta_edit(selected_nodes): '''Create Edit SOP from difference between two SOPs.''' nodes = [x.name() for x in selected_nodes if isinstance(x, hou.SopNode)] if len(nodes) != 2: return network = selected_nodes[0].parent() name = safe_name(network, 'delta') script = 'cd {}; sopcreateedit {} {} {}'.format(network.path(), name, *nodes) hou.hscript(script) delta_edit(hou.selectedNodes()) ]]> </script> </tool> </shelfDocument> I made a shelf tool wrapping this command. Usage: Select "from this state" node, shift-select "into this state" node, click the tool. Origin and target nodes should share topology. Installation: Save to $(HIP|JOB|HOUDINI_USER_PREF_DIR)/toolbar/delta_edit.shelf Launch Houdini Right-click on empty place in shelf tab, select "Edit Shelf Tab..." Find "Delta Edit" in the long list of tools, hightlight it Accept
  40. 1 point
    Afaik, you have to change the type of the ramp in the Edit Parameter Interface manually. Like this: Also the vex code then will be for example @Cd = chramp('myramp',@P.x);
  41. 1 point
    I am really disappointed that noone helps me at all :(((( I want to acheive something better but it seems there is no chance I watched this video and i can't do anything more to reach this effect at all ! it seems like a secret or something very private !!! i don't know what are the GVS and Oversampling parameters and i can't have a collision otr effect like this please please i am very disappointed and about to leave everything
  42. 1 point
    attached is a file with all sorts of curvature computation for vdbs ... hth. petz vdb_curvature.hipnc
  43. 1 point
    it's used in the Cloud Light SOP to precompute arrival times from light points, in other words how long it takes to get from light point to certain voxel based on speed field that information is then used to compute light intensity/color basically just remap arrival time volumes to light color so it's quite fast to tweak light color, intensity, falloff since arrival times are already computed