Jump to content

trzanko

Members
  • Content count

    55
  • Joined

  • Last visited

  • Days Won

    4

trzanko last won the day on March 14

trzanko had the most liked content!

Community Reputation

41 Excellent

2 Followers

About trzanko

  • Rank
    Peon

Contact Methods

  • Website URL
    www.trzanko.com

Personal Information

  • Name
    Tighe Rzankowski
  • Location
    Toronto
  • Interests
    VFX Legos Star Wars Cameras

Recent Profile Visitors

579 profile views
  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

    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.
  11. 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!
  12. 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.
  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
×