Jump to content


  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

  • Days Won


underscoreus last won the day on May 20

underscoreus had the most liked content!

Community Reputation

58 Excellent

1 Follower

About underscoreus

  • Rank
  • Birthday 09/02/1996

Contact Methods

  • Website URL

Personal Information

  • Name
    Martin Brattensborg

Recent Profile Visitors

483 profile views
  1. A scene file might be helpful here to see what you've tried so far. Normally, just assigning a material, either at the object level or using a "material" SOP node, to a piece of geometry will give you the result you are looking for when rendering using Mantra.
  2. multiple solver node execution order

    Assuming I've understood your explanation correctly, solver1 will always be computed before solver2 simply because when solver2 tries to getattrib from solver1, solver1 will be computed for the current frame. Everything in Houdini cooks (computes) from "top" to "bottom", "left" to "right" in a node tree and when you call nodes with getattrib or through a node like "object merge" those nodes will be placed above the current node in the node tree/execution order.
  3. volume displacement based of UV

    It happens because the displacement is hitting the maximum bounds of your volume in that area. You'll need to add more exterior bound voxels to the volume and might have to add a "VDB activate" node after the "VDB From Polygons" node and increase the "Expand" option.
  4. Alternating a Switch Node when using the Chain Sop

    Heyo! I don't know if you are still looking at this or if you've already solved it on your own but I've slapped together a quick edit of your file with the way I'd approach doing this. I did not end up using the "chain" sop so if that is a requirement then this solution is probably disqualified. My solution is using some Houdini 18.0 and above features so if you are using Houdini 17.5 or older then this is also probably a dud. Tell me if you are and I'll have a look at making a 17.5 compatible version. For my solution I used the good old "copy to points" sop with its "variant" attribute feature. This allows us to assign a "id" attribute to both each brick and to each point you want to copy to and if the attribute on the point and on the brick match then that brick will be copied to that point. Then I just also made a version of each brick that was mirrored using your setup and made sure to give these mirrored bricks their own unique "id". Lastly I just made sure that every other point on the line we are copying to has an id for one of the mirrored bricks and bam, alternating randomly distributed bricks. Hope this can be helpful! Alternating_Corner_Brick_mnb.hipnc
  5. Select / Delete inside Primitives

    Hey! Inside faces can be tricky. Here are a few ways that might be able to help you that I can think of right now: 1. Are the inside faces detached from the rest of the geo? If so have a look at the "measure" and "connectivity" nodes. The connectivity can give you an "id" attribute for each detached piece and the "measure" node can measure the surface area of each piece. So if the primitives are detached then they will be a lot smaller than the main model so you should be able to then just do a blast based on the attribute value from the measuring. 2. Depending on how the model is you could maybe have a look at the "unshared edges" option in the "group" node. Just add a "group" node, then disable "base group" and then inside "include by edges" check the "unshared edges" checkbox. This should add any primitive with edges that don't connect to another primitive to the group, then you can blast it. This could of course cause other issues if there are other places in your model that also have unshared edges but could be worth a try. Hope one of those can help you solve your problem.
  6. Voronoi Fracture creating holes in outer geo

    Hey there! It's a little difficult for me to say without poking around in your scene file. I've tried a quick test now and I can't replicate the issue but one of the things I'd have a look at is the scattering of the points. are you using a fog volume or an sdf (distance/surface) volume in the "vdb from polygons"? This should be a fog vdb and it should also be set to "fill interior", otherwise it is basically just the same as just scattering directly on the surface. When it comes to a quick fix you could try to use the fuse node but uncheck the "fuse snapped points". This should snap the points to the same position in space without actually welding them together, maybe that can solve the issue. Hope some of that can help, and if not, be sure to upload your hipfile if you can so we can dig into it and try to find the issue.
  7. Average Normal

    Heyo, there are a few ways to solve this that I can think of at the top of my head. 1. Use the "avg" vex function. Just make an array of all the normal attribute values and then plug that array of vectors into the "avg" function and it will give you the average value of all the vectors in the array. 2. Use the "attribute promote" node. Just add the "attribute promote" node and set it to promote the "N" attribute from primitives to detail and set the promotion mode to "average" (this is the default) and boom, you should now have it all averaged out and as a detail attribute. Hope that can be helpful!
  8. Polyextrude curve

    Alright, got it. To get it working there are two things you'll need to fix. 1. Make sure to give the extrusion quite a few "divisions" to allow it to assume the shape of your curve. Just assigning 1 will only ever allow it to make a straight line. I've used 50 divisions but this can obviously be tweaked to what you want/need. 2. I don't think the extrusion always follows the direction of the path by default. Even when in "Curve from second input" mode it will try to extrude along either the primitive normal or a point normal, so to get your box to extrude along your curve just assign the box a point normal that points along the direction of the path (something like 1,1,0) and then choose to extrude along an existing point normal attribute. After doing that it looks more or less how you'd expect. Hope that can be helpful!
  9. Polyextrude curve

    Not quite sure why it does not work for you, I'd need to have a look at your scene file. It seems to work for me. Only thing I noticed is that I needed to pull the "distance" slider to 1 and that the extrusion did not extrude along the spline like I expected but rather extruded into the shape of the spline. Polyextrude_mnb.hipnc
  10. Wire and RBD Packed Constraint network

    Sure there are a few ways to do this, the thing I'd have a look at first is the "point deform" node. In my example above you could just use the same points I copy spheres onto to copy your high res mesh, then just plug in that high res mesh into the first port of the point deform, then use the "timeshift" to freeze the spheres at the first frame and plug the frozen spheres into the second port of the point deform, and lastly plug the moving spheres into the last port of the point deform. After then the high res mesh should be getting its motion from the low res spheres. Of course, if you have a mesh that's a closer match to your final high res mesh inside the vellum sim instead of spheres that is preferable since the collision will be more accurate. Sorry about the kinda weird written explanation, I'm not in front of a machine with Houdini right now so I can't whip up an example.
  11. material lost after further modeling

    I'd need some more info about your setup or the scene file to be sure here, but could it be that even though you have the attribute on your prims, the value inside the attribute is empty? So that it does not point to any material. Or could it be that your material relies on UV's or other attributes that your new model does not have?
  12. Wire and RBD Packed Constraint network

    From my (somewhat limited) experience I'd recommend trying out Vellum. I've never had great success combining multiple solvers live together, I think it just always makes everything more stable and easy to work with if everything is done by one and the same solver. To that effect, I've attached a super quick and dirty vellum setup of what I think you are trying to setup. When working with vellum like this the number one thing to keep in mind is to have stuff organized into groups so its easy to configure things separately and also for constraining things together later. Hope it can help! Vellum_Thingy_mnb.hipnc
  13. RBD collision Geometry

    In that case, we might need some more information about your setup. Some of the things that came to my mind were: - Are you using the SOP version of the RBD solver or are you inside a dop network? (If you are inside a dopnet then the collision settings should not be on the solver node but on a separate collision or RBD object node) - Is your moving collider animated at object level or in SOPS? (Whenever things are animated at object level they are called "animated", but if they are animated inside SOPS they are called "Deforming") I totally get if you can't share stuff from work, just keep in mind that if we can't see or poke around at the problem we'll need a lot more info about your setup to be able to troubleshoot it
  14. What you could do is use the instancepath method and then simply add the "instance" node and set the "display as" drop-down to full geometry. That should spawn the full geometry onto your points. Then from there you could pack them and bring them into your sim as an "RBD packed object" or just import the full geo as a normal "RBD object".
  15. This sounds like what the "variant" attribute was made to solve. To set this up just assign an "id" attribute to each of your objects, like all the points on a sphere gets "id" 0 and all the points of the cube get "id" 1. Then assign each of the points you are copying to an "id" attribute with the same name with a value of 0 or 1 (you can of course have more than just 0 and 1, just limited it to these in this example since I only made up two shapes). Lastly, in the copy to points node, just enable the "variant" attribute checkbox and put the name of your "id" attribute in the text field and it should work. One thing with this approach is that this feature was added to houdini in version 18.0 I believe so you'll have to have that version or later for this to work. Looking at your file it looks like you have the older version of the copy to points node which came with Houdini 17.5 and earlier. If you cannot update your houdini you might have to look into either the copy stamp node (not really reccommended as copy stamping is VERY slow) or assigning geometry to points via the "instancepath" attribute. But if you can, I'd just say to update your houdini version. Here is an example made in houdini 18.0.460: IDTEST_mnb.hipnc