Jump to content


  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

  • Days Won


toadstorm last won the day on January 2

toadstorm had the most liked content!

Community Reputation

248 Excellent

About toadstorm

  • Rank

Contact Methods

  • Website URL

Personal Information

  • Name
  • Location
    San Jose, CA

Recent Profile Visitors

4,938 profile views
  1. It's the same exact file you uploaded. All I did was increase the maximum substeps on the Pyro solver to 4, under the Advanced tab.
  2. Looks like you're losing density because your divergence scale is enormous, and it's causing the velocities to be too high relative to the time increment. If you increase your max substeps a bit, you should get more accurate results.
  3. If you want to make smoke expand, source a scalar field with positive values like you'd source any other field (density, etc), and set the destination field to "divergence". If you're getting holes inside, consider adding more density into the area that you're expanding.
  4. Stick points to growing geometry

    I'm not sure I understand exactly what this solver is doing. Is the end goal to have these points reveal themselves over time as that color spreads over the grid? If so, why not scatter all the points at once on the full grid, then transfer your color attribute over from the grid to the points, then delete points that don't meet the color threshold?
  5. Stick points to growing geometry

    Since your target geometry has a changing point/prim count, you'll probably want to handle the points-sticking behavior as a solver, preferably inside the same solver that's handling the growth. You can use minpos() in VEX to compute the nearest point on the growing surface to each existing point and stick that way, or if you need to stick orientations as well, use xyzdist() to get the nearest primitive and primitive UV on the growing surface to each point, then use primuv() to sample P, N and up from the growing surface, move each point to the sampled P, then set N and up for each point based on the sampled values.
  6. Fireflies in Mantra render direct reflection

    Took a closer look at your scene. There's a few things that probably need adjustment. One, your roughness map has very hard edges between different roughness values, and is also very noisy. If you blur the roughness map slightly, you can resolve some of these artifacts. Two, you're using spot lights, which are infinitely small light sources, so you're not going to get very nice soft rolloffs on your highlights. I'd just use small-ish area lights instead of spot lights here, and then you'll have control over the sampling quality.
  7. Fireflies in Mantra render direct reflection

    If you're seeing noise in direct reflections, the best place to crank the samples you want is the Sampling Quality parameter on the light. You could also increase pixel samples, but this will multiply samples for everything, which you probably don't need in this case.
  8. Your source for the points to copy are from an RBD simulation, so they have a v@pivot point attribute, which the Copy to Points SOP recognizes and will apply to the resulting geometry. If you just delete v@pivot, you'll get your copies centered on the input points.
  9. What you're looking for is called a "Multiparm Block." Here's a quick tutorial: https://www.artstation.com/arjunaravikumar/blog/WEoY/tutorial-using-multiparms-in-houdini
  10. Wedging Specific Values

    The Wedge TOP can handle this... just enable "Target Parameter", point to the attribute you want to vary, and then set the Wedge Type to Value List and type in the values you want. Then write the results out via a ROP Geometry TOP. The Wedge TOP example file at the bottom of the help card is a pretty good explanation.
  11. Instantiate objects in Shader

    Try copying Packed Disk Primitives to your millions of points. Any .bgeo that you save to disk can be loaded in as a Packed Disk Primitive via the File SOP. As they are technically references to a file on disk, they don't need to be embedded into the .IFD and should be nice and lightweight. The Point Instance Procedural workflow got messed up in the switch to the MAT context from SHOPs, and hasn't really been fully addressed since then. You're probably best off avoiding it.
  12. copy/stamp, alternative ways?

    It's literally exactly the same process. Just scatter points onto a sphere instead of onto a grid, then copy to those points.
  13. It isn't really necessary to use fancy tricks for varying copy shapes in Houdini 18... the new Copy SOP has a pretty straightforward workflow for this. Pack each of the objects you want to instance and merge them, then on your template points create an integer attribute that will refer to the primitive number from the merge that you want to copy to each point. Then on the Copy to Points SOP just activate the "piece attribute" parameter and give it the name of the integer attribute you created on the template points.
  14. mantra start time

    There's a few ways you can decrease time to first pixel. First thing I'd do is switch over as much geometry as possible to packed disk primitives... just cache your shit to disk as .bgeo and then load it back in via a File SOP in Packed Disk Primitives mode. This means your IFDs don't need to actually contain any geometry; they'll just point to the cached geometry on disk instead. Second, try to avoid using lots of unlocked materials or packing your materials in such a way that you need to use "Save all materials" under "Declare Materials" on the Mantra ROP, in case you're doing that. In bigger scenes with lots of materials that can seriously bloat your IFD size. Third, disable displacement if you can. Displacement means you have to generate all that geometry at runtime, instead of streaming it from disk. It can honestly be faster in some cases to just subdivide your geometry in SOPs and then cache, rather than running a displacement shader.
  15. Best way for Air buble in bottle

    For a few large bubbles in an otherwise full bottle, Vellum really does seem like the best choice. What's unsuccessful about your current tests with Vellum? Some more details might be helpful.