Jump to content


  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

  • Days Won


anim last won the day on April 12

anim had the most liked content!

Community Reputation

630 Excellent

About anim

  • Rank
    Grand Master
  • Birthday 02/28/1985

Contact Methods

  • Website URL

Personal Information

  • Name
  • Location
    New York

Recent Profile Visitors

12,768 profile views
  1. Beginner VEX variable questions

    @elemnum contains current element number so when iterating over Points it's the same as @ptnum, over Prims the same as @primnum, over Vertices the same as @vtxnum, over Numbers it's the current number same equivalency for @numelem
  2. you don't need loop at all, just promote your attribs to get average values per prim to each point compute transform attribute and invert transform then use Transform By Attribute SOP to transform back and forth as you need, see the file rotation_reset_at_origin_fix.hipnc
  3. Copy Stamp / For-Each / Compile-Block

    it looks like a bug, something with alembic and overall packed primitives viewport optimization in H16.5 H16.0 seems to be fine
  4. it's just because that piece has the same pivot as it's parent and it's oriented to the opposite way, so if you rotate the parent, it will follow, but it's own local rotation will cancel that perfectly so it will not move at all in the world space
  5. description in the file PolyTransforms_fix.hip
  6. Displacing displacements for curly paper

    here are 2 examples displace_example.hip
  7. Displacing displacements for curly paper

    just a lazy way to describe one displace along normal applied after another, or simply any operation that advects P along any vector until you get to final P and N in Houdini you can move P around to any position to create displacement, what can be tricky is to compute corresponding N, but however you get to new P doesn't have to be just moving along N or custom vector. Let's say you want to advect P through volume vel in a several steps, well, why not Mantra still needs to dice geometry to get enough resolution for Displacement or achieve perfect smoothness for Subd, so no, dicing is not only for micropoly, however micropoly has to dice every geo as it's shading corners of micropolygons, in Raytrace mode dicing is purely to generate hi res geo to raytrace against like in mentioned cases Shading Quality is controlling dicing density based on geometry before displacement Re-Dicing runs trial dice and displace pass just to measure area of displaced geometry, then adjusts dicing density accordingly and displaces for real, therefore hopefully giving you more micropolys where you need them
  8. Displacing displacements for curly paper

    just a note to displacing displacements it doesn't matter how many displacement steps you do as they are all added to single vector displacement value in the end so whether you do it at once with some function that maps starting point to the end or if you displace with recomputing new P and N and displace along the new N again, or in any direction it's essentially the same the only difference is in the cost of the calculations you decide to use to come up with the final P and N for very extreme displacements to make sure you have enough geometry to move around you can turn on Re-Dice Displacements property ( vm_redice )
  9. a poly primitive can't branch you can however try appending PolyPath SOP to minimize number of primitives your geo is composed of
  10. Combine VDB vectors

    accurate velocity is sort of arbitrary as it depends on the situation, I was reacting to the need of pure average also just using volumesamplev() will give you 0 or Background value for volumes sampled outside of their active regions, making it essentially the same, so other math is still requited to average just active velocities in either case I agree that in most of the real world cases just average of velocity field is not useful, it's much more useful if you compute weighted average based on length or density of all incoming vel fields
  11. you can read more about matte shading here: http://www.sidefx.com/docs/houdini/props/mantra.html#shading
  12. it's because box is casting shadows on the volume by default glass material doesn't allow light through, you can either enable Opacity/Fake Caustics on your glass shader for fast approximate or allow All Paths on Mantra/Rendering/Shading/Allowable Paths, but I wouldn't recommend that as it is not only slow and extremely inefficient for uni-directional pathtracer like Mantra, but you'd need to have Volume Limit set at least to 1, which is additional performance hit, so I'd stick to fake caustics
  13. you can blend and layer materials in houdini so if you paint your mask in Mari you can use them to create soft transition between completely different materials if you desire https://www.sidefx.com/tutorials/houdini-16-masterclass-custom-shading/ not sure about Mari, but Substance Painter for example allows you to easily combine and paint materials directly so all your final textures have appropriate values for all the parts of your geo and ideally can be used in a single material without any additional work
  14. glue constraint issue

    such behavior happens if you are updating constraint geometry on your Constraint Network DOP every frame by default this happens if your constraint network geometry in SOPs is Time Dependent, so you seeing this behavior means that it probably is so either make sure your constraint network is not time dependent OR that Overwrite with SOP parm on Constraint Network is 1 only on the frame you want constraints to be updated from SOPs but 0 on other frames, so usually 1 only on first frame of the sim
  15. Combine VDB vectors

    or you can also use Add in VDB Combine then afterwards just divide by number of volumes to get the average