Jump to content

anim

Moderator
  • Content count

    2,833
  • Donations

    0.00 CAD 
  • Joined

  • Last visited

  • Days Won

    154

Everything posted by anim

  1. Sparse for everything?

    You don't necessarily need old pyro solver as the "sparse" one can simulate both sparse and dense grids You may still chose to sim on a dense grid occasionally especially if you care about velocities outside of the density or flame usually for advection needs for particles, vellum, ...
  2. You can use Ray SOP usually in Minimum Distance mode and output Prim Num and Prim UVW attributes as posprim and posuv Similarly you can use xyzdist() vex function to get those from closest surface location also
  3. Sweep Control

    hard to comment on what you are missin without seeing what you did, but yeah essentially looks like a specific profile shape swept along curve and rendered with rough refractive material and absorption
  4. UVs and connectivity

    this however you can get island id's using Connectivity SOP in uv connectivity mode
  5. vellum cloth problem

    probably thickness (pscale) on your cloth or collider or both on your Vellum Cloth you can check Visualize Thickness to see (or also on Vellum Solver in Visualize tab) if that one seems ok, it may be pscale attrib on your colliders
  6. you don't need backticks, with backticks you are inserting HScript expression into the code string, which will get resolver first and then the string is used as VEXpression, so it's similar to typing the number there to use detail() VEX function with an operator path you have to specify the path with op: prefix, so in your case i@loopN = detail("op:../eachP", "iteration"); however I'd suggest using Spare Inputs to reference geo from operator path instead
  7. be careful with .pressButton() though as that will trigger callback script on your parm if you have any, which may not always be desirable
  8. if you call .menuItems() or .menuLabels() on such parm (which clearly evaluates the script) it would return already updated values also setting the menu items or labels directly on that parm using parm template would change them however none of those seem to have immediate UI change effect only opening the menu or also simple clicking on different node and back would show updated ones even without doing any of the above I'm not sure which clean function would refresh the UI what you can do as a workaround, at least seems to work for me is do callback script for your parm A to do this: hou.ui.paneTabOfType(hou.paneTabType.Parm).setShowParmDialog(1) which should refresh the UI and therefore force parm B to show item from updated menu B but I'd consider this a bit dirty, maybe someone knows a better way
  9. B menu should be calling the script any time you open the menu, sort of generated on the fly if needed, therefore it would pick up the changes in which situation do you see the B menu's items during changing A that you would notice it's not updated? EDIT: an, I see, you are using Normal menu so you see the label of chosen entry instead of the actual value
  10. how to for each primitive with vex

    you can do this for example in point wrangle after your Connectivity SOP int class = prim(0, "class", @primnum); // get class of point's prim string grp = sprintf("@class=%s", class); // ad-hoc group string for all prims with that class value vector rbb = relbbox(0, grp, @P); // rel bbox of point's p within bbox of all prims in that group v@Cd = chramp('color',rbb.y); // profit how_to_foreach_prim_with_vex_fix.hip
  11. split along edge for simulation

    Edge Cusp SOP should be what you need
  12. Simple Way to Disconnect Edge?

    Have you tried Edge Cusp?
  13. it's the i@id attribute that's messing stuff up, it was added as a way to match points by id, but the fact that it is using id whenever it finds it instead of it being an option is causing such issues also you don't need for each anymore if you have piece attrib, in your case i@class was_working_fix.hipnc
  14. string copystamp

    you can directly stamp string attribs, if you put your string attrib name into Attribute Stamps parameter on Copy SOP and then use stamps() expression to retrieve it Test_fix.hip
  15. UDIMs in Houdini, how?

    https://www.sidefx.com/forum/topic/56984/
  16. Karma Vex Volume Procedural?

    or maybe you saw they are not, and just wish they were https://www.sidefx.com/faq/question/karma-vs-mantra/
  17. any node that is based on VOPs and uses Bind VOP or Parameter VOP would automatically bind attribute of the same name and type if exist instead of its value (unless mapping is altered in Binding tab ), (materials work the same way) Mountain SOP just happens to be one of those nodes, it's just an HDA and if you dive inside you can see it's based on attribvop, dive deeper and you will see Bind VOP named height, that will bind automatically you can also see lot of Parameter VOPs in there, those would bind also, like one named parm_elementsize so if you create attribute called f@parm_elementsize =5; it will override value of that parameter, etc, some have prefix parm_ just to make it more difficult to override by accident, but the principle still works the same so its still possible for nodes that are not HDA's based on Attrib VOP it's not that easy to tell, it may be hardcoded, a lot of them though offer some kind of interface where you can pick attribute etc...
  18. global attribute in houdini

    there is no such thing as global attributes, some attributes have become more commonly used than others and theerfore adopted in certain workflows and nodes, like instancing attributes https://www.sidefx.com/docs/houdini/copy/instanceattrs many others are described per nodes or workflows they were developed for https://www.sidefx.com/docs/houdini/nodes/dop/rbdpackedobject.html#point-attributes https://www.sidefx.com/docs/houdini/vellum/vellumattributes.html https://www.sidefx.com/docs/houdini/nodes/sop/pyroburstsource.html#customize ... but short answer would be, you have a good chance finding them in help
  19. Houdini 18.5 Group by Attribute

    you can try Partition SOP and put this into rule: $NAME
  20. you can use this string directly in Group parameters set to Primitive: @name=piece0* or to create new group based on it use Group SOP and type the same in Base Group: @name=piece0* or if you really need it in Wrangle use match() function: @group_group1 = match("piece0*", s@name);
  21. Retime vs scale time DOP parameter?

    recommended would be using both, depending on your setup unfortunately it's very generic to just say simulation, as different types have different issues, so while maybe not addressing your specific issue with unknown solver but to keep it general,dop level scale time - is precise as it literally computes finer steps for lower timescales - doesn't scale everything as there is plenty of microsolvers especially that rely on global time instead of sim time especially nodes noise phases, so you can't rely on just slowing down something you have tweaked on different time scale - can't be animated solver level timescale - is precise as it literally computes finer steps for lower timescales - doesn't scale any microsolvers plugged into solver, only internal ones, so external have to have linked timescale, has the same issues with pulses, etc. - can be animated retime after sim - it's just interpolated which can cause issues with extreme slowdowns, depending on type (volume stepping or artefacts even with advection method, particle or rbd inacurracies in interpolated samples due to subframe collisions, stepped birthing/dying of particles, etc...) - since it interpolates already cached frames it doesnt suffer from per microsolver time inconsistencies mentioned in previous methods so I prefer simming slowmotion shots slower than realtime and then push it even slower by Retime SOP if needed, also by simming at slower time scales you can avoid having many substeps so just gain precision data without slower sim time, or you can chose to use substeps instead and cache those, but it may get tricky to deal with fractional frame numbers
  22. in your Vellum Constraints you can specify Output group name for your stitch constraints then after sim can use Blast SOP on constraint (second) output to delete everything except for your group and append Sweep SOP, change surface type to Round Tube and tweak the radius merge with your primary geo
  23. replicate particles from same point.

    in Shape tab change Shape to Point
  24. Convert curve to mesh overlapping mesh

    not sure what you are using for converting curve to mesh, but this should work: Curve SOP -> Resample SOP -> Remesh SOP you can also link resample Length to Remesh Target Size to have equal edge lengths if you want
  25. if you already have an animation you can for example use Trail SOP to make multiple copies of it in time, mesh together using VDBs and assign glass material to it, then render with your original object that's shaded differently, black in this case
×