Jump to content
[[Template core/front/profile/profileHeader is throwing an error. This theme may be out of date. Run the support tool in the AdminCP to restore the default theme.]]

underscoreus last won the day on May 20 2021

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
  • Location

Recent Profile Visitors

658 profile views
  1. Set quickmarks via python

    Hey everyone! Like the title suggests I am trying to find a way to set quickmarks in Houdini via python (or if it is considerably easier to do via hscript I am totally open to doing it there as well). So far I've come across the "nodegraphview" module with it's "Quickmark", "createQuickMark" and "setQuickMark" functions but that's about as far as I have gotten. The documentation I've been able to find here is a little bit too sparse for my skill level. Mostly I am unsure of/confused about what the function wants as its inputs, as it is only listed by variable names with no further description. What does 'net' mean? Or 'bounds', or 'items'? This is what I have tried so far just to test and see what error messages I got which I hoped could lead me towards what to google for (Yeah the empty string are there just because I have no idea what to put there): import nodegraphview as view net = hou.ui.currentPaneTabs()[0] qmark = view.QuickMark(net, '', '', hou.node('/obj')) view.setQuickMark(8, qmark) And this is the error I got: AttributeError: 'NetworkEditor' object has no attribute 'isSelected' Has anyone out there done this before and could give me some tips or know of any more in depth documentations about how to use this module and these functions? Thank you so much for your time!
  2. 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.
  3. 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.
  4. 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.
  5. 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
  6. 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.
  7. 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.
  8. 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!
  9. 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!
  10. 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
  11. 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.
  12. 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?
  13. 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
  14. 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
  15. 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".