Jump to content


  • Content count

  • Joined

  • Last visited

  • Days Won


Everything posted by trzanko

  1. Great thread, the unpacking method is viable though a bit weird to work with because of the bones and capturing. I recently wrote my own wrangle for normalizing, coloring for visualization, and creating densities per a set of different attributes of an incremental name(basically paint capture weights for a set of attribs). So for example you can display the hda and up stream you can paint in multiple paint nodes overriding the color paint attrib to your own attrib but make sure the names goes like attrib0, attrib1, attrib2, ... attribn. Of course you can make the name anything you want, for my purposes I named it fgroup, simply replace fgroup to your desired prefix, display the wrangle and paint upstream attribs! Happy painting! The multi-parm allows you to vary a density attrib by the amount specified in the channel per painted region, so fgroup0 corresponds to density0 and so on. Just make sure you have as many multiparms as you do painted attribs. Play around with it a bit and let me know if you have any questions, Link to HDA -> https://gum.co/TKCTM It's free but if you're up for giving me some support I'd be grateful!
  2. Creating VEX libraries

    I've found that clicking in the network pane recompiles wrangles
  3. Group By Range VEX

    if(@ptnum < chi("max") && @ptnum > chi("min")){ i@group_groupA = 1; }
  4. Bird rig

    Posted a response on the sidefx forum that may help. https://www.sidefx.com/forum/topic/49780/ Tighe
  5. if you hover over the name to the left of the text box for inputting values you will see that the names are uniqued. in a multiparm it would be something like attrib0, attrib1, attrib2 To access this data by groups you can do some string manipulation in vex. you don't necessarily need python for this. for example you can do something like this: @pointAttrib = ch("attrib"+itoa(@ptnum)); if you want unique attribs on the points such that each point has attrib0, attrib1, .... attribN you'll have to do a bit of python but what's nice is that you can create a python script to populate a wrangle with code. To start you'll have to set up a script that cooks every time you click on the multiparm add/subtract, you can do this in the edit parm interface area and set up the multiparm with a callback script. You can write scripts in the script tab of the interface. Your script can look something like this: node = hou.node("/obj/geo1/attribwrangle1/") numAttribs = node.parm("numMultiParms").eval() snippetCode = "" for i in range(0,numAttribs,1): snippetCode += "\n" + "float attribName" + str(i) + " = " + 'ch("attrib"' + str(i) + ");" node.parm("snippet").set(snippetCode) That'll work but you'll definitely want to make it so that you just add to the existing code that's in the snippet or else you'll overwrite it every time unless you set it in python lol it's easy to do just read what's already there into a string, save the code you want to save and then add this stuff. Will probably also want to add some logic to only put a new line when the iteration is > 1 but I'll leave that to you! Hope this helps Tighe
  6. Melting plastic approach

    For the shrinking, I'd try advecting the particles along the gradient of the surface volume towards the center before surfacing. This step could be done on the particle updates input of the flip solver.
  7. Smoke/Pyro | Cluster Simulation

    Nice! Yea, polvy has the right idea, oriented clusters could definitely save you some space/sim time on your sim! You can check out the tut's here: Part 1 -> https://gum.co/TqUNR Part 2 -> https://gum.co/lAcVQ
  8. Point deform would work but if you want it to dynamically dent as it gets closer/further away from the object you'll need to do something else. So long as the topology of the deforming mesh is consistent you need only look back to the same point of the animated geometry from the last frame, get the attrib and apply the deformation ( assuming it's @P += -@N * attrib;). Then after or in the same step you can do a new additive deformation on the animated geo. This ensures that you're retaining the info from the last frame of the deforming object. Things get lossy if the topo is not the same so if you can keep the topo the same then do as it'll make it a lot easier to solve. Hope this helps, Tighe
  9. FEM DOPEmbedded geo issue

    Make sure the tet cage completely encompasses the embedded mesh. Check out the example file at the bottom of the solid embed node for how to get a nice embedded mesh going.
  10. Pyro Clustering Tutorial

    In this tutorial we will go over how to set up optimized pyro clustering with oriented DOP containers in Houdini given a piece of geometry moving through a scene. This process will lower simulation time and be more efficient when saving to disk because there are fewer voxels. Link to Tutorial -> https://gum.co/TqUNR The tutorial is free though, if you feel like giving me some support I'd be grateful !! We first go over how to get things set up quick and easy and in the second half of the tutorial we make further optimizations using VEX. We'll look at how to rewrite cluster points to do exactly what we need it to, which includes rewriting the resample sop using VEX. An intermediate tutorial for those looking to speed up their pyro workflow and learn some VEX. Includes the scene file! Hope to see everyone leveraging these optimizations in the future and squeezing in those extra few iterations before deadline! You can reach me at trzankofx@gmail.com for questions or comments.
  11. Pyro Clustering Tutorial

    Happy to announce part 2 of my pyro clustering tutorial! Link to tutorial -> gum.co/lAcVQ In this tutorial we will go over how to set up oriented forces on an oriented cluster simulation, this will ensure that initial, internal and external forces work as expected. We'll create a simulation that uses animated initial forces, external particle forces and internal microsolvers to influence a rotated cluster simulation. Learn how to create temporary fields in DOPs, apply transformations to a field and integrate them with a simulation. Make sure to watch part 1 or download the digital asset as we'll need the digital asset we created in that tutorial in this one. An intermediate tutorial for those looking to optimize their pyro simulations and learn some VEX. Includes the scene file! Hope to see everyone using rotated cluster simulations in the future! Link to Part 1 tutorial and digital asset -> gum.co/TqUNR You can reach me at trzankofx@gmail.com for questions or comments.
  12. Pyro Clustering Tutorial

    Are you asking how to flatten all the containers into a singular container/field? They're already just density and vel fields, but you're right there is a vel and density per container. I don't see the benefit of flattening all the volumes into a singular container or field as this field would have to encompass all the clusters and itself be very large. If it's because you want to avoid the doubling up of overlapping velocities/densities when rendering or using this sim as a vel source for another sim, you can create a volume that represents the amount of containers overlapping a given position and multiply the densities/velocities by the reciprocal of the amount of containers overlapping that location. Hope that answers your question!
  13. Copy to points with rotations

    The copy to points node accepts an orient quaternion and also a vector "matrix" as @N for z-axis, v@up for y-axis, v@side for x-axis. if these are packed objects you can set the transform primintrinsic to a matrix3 comprised of the v@side,v@up,@N matrix
  14. use a sop solver to accumulate an attribute over time, it's not just age or time it comes in handy for a lot of things like rotating particles based on how far it's traveled
  15. motion vector pass

    you're also able to change the space the motion blur happens in using the transform vop. so if you want 3d moblur you should use world space and if you want 2d moblut transform to NDC space
  16. Attaching wires to surface

    No matter the orient or resolution of the wires you can determine the point nearest the surface. You can use the vertex prim index function to determine which points are the 0 point on the primitive. http://www.sidefx.com/docs/houdini/vex/functions/vertexprimindex Then if the points that equal vertex zero are actually the furthest from the surface you can determine how many points are on the primitive by the prim vertex count function and then the point that has that corresponding vert number is the nearest point. http://www.sidefx.com/docs/houdini/vex/functions/primvertexcount Furthermore if you have varying wires where the nearest point is sometimes the zero point and sometimes the end point then you can determine which one is closest to the skin by measuring the length to the nearest point on the nearest primitive. Hope this helps, -Tighe
  17. Draw lines while player jumps?

    Nice! Let me know when it's finished, excited to see the final result!
  18. Draw lines while player jumps?

    You can use an add sop and connect by attribute and enter "id". as long as there are proper id's they'll connect
  19. Draw lines while player jumps?

    connect the floor points to the foot points by an id and then manipulate those curves?
  20. This tutorial goes over from start to finish the creation of a rudimentary fence asset that can easily be expanded upon. This is an introductory lecture on procedural modeling in Houdini I gave at Drexel University's SIGGRAPH chapter as a Junior Animation & FX major. Let me know if you have any questions, enjoy! Link To Demo File: drive.google.com/open?id=0B--RBrg9u--oWkNDU2ZUYnFpUjQ Link to Documented File: drive.google.com/open?id=0B--RBrg9u--odEhVYnluaFRGeGs
  21. Intro To Procedural Modeling: Fence Asset Tutorial

    Yea absolutely! Excited to see how much attention it got, seems like procedural modeling is a hot topic!
  22. Particle Nebulas

    Looks like a good start. Keep pushing it further, use more layers, vary everything. Vary the pscale by the age or distance, make volumes from the particles and sim those. There's no "make beautiful" button just keep at it.
  23. Hurricane type effects

    You can make a simple twist deformer, rotate around origin and vary the twist by distance from the origin. Then animate the twist and the spin, calculate the velocity with a trail sop, use it as a source for a volume. https://academo.org/demos/rotation-about-point/ -Tighe
  24. Nike Presto Effect

    Put the primitive shape outside of the shoe shape. Put point normals on the shoe. Pipe shoe into first input on wrangle, pipe primitive into second input. Use intersect function to ray the shoe to the primitive along normal, animate the activation. That should give you the effect. Build more controls as necessary to get the look/timing you want. -T