Jump to content


  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

Everything posted by coltonmil

  1. Contract A Rope (Vellum)

    Perhaps adjusting Rest Length Scale under Stretch could achieve a similar thing. It defaults to 1 which keeps points at their input distances, if you drop it below 1 it should cause them to contract. Edit: Doh, totally missed the last sentence! Hmm, maybe stiffness is set too high for it to properly contract? Vellum is very sensitive to scene scale, so the values for stiffness often have to be wacky.
  2. Hey Kikohs, I'm not able to upload a file at the moment, but hopefully I can help anyways! First thing: your polyextrude is currently only extruding, but not creating a closed object. Make sure "Output Back" on the Extrusion tab is checked to have it create a closed object. VDBfrompolygons requires a closed object to correctly generate a VDB. Next, turn the Distance VDB back on in the vdbfrompolygons. Finally, in your vdbcombine clear the group fields as it will use the surface volume by default (which I believe is what you desire). Let me know if you have any other questions!
  3. Connecting two groups of points?

    Assuming the points you wish to connect have a corresponding id attribute (or something similar), you just merge the points and the Add SOP should do the trick! Set it to the "Polygons" tab, then "By Group" tab within there, set the "Add" drop down to by attribute, and enter the name of your id attribute. If you don't have an id attribute, do all of the above, and instead set "Add" to groups of N points.
  4. Workflow for creating terrain

    Stretching of UVs on extreme vertical changes will always be the weakness of a system using Y Projection UVs. In Alex's example, he doesn't have any vertical displacements nearly as extreme as your example, so that would be why you don't see the degradation you're seeing. The other weakness isn't just UV degradation, but also the lack of much terrain detail in highly sloped areas. I recently completed a project that had very large terrains, with a few extremely vertical mountains. The workflow that I found to work best for this situation is to separate the extreme mountains and map them individually (or sculpt extra detail into them as we did), while keeping as much of the remaining terrain as possible as heightfields. You can use some of the heightfield masks to isolate the large elevation changes, but I was manually selecting areas where the mountains were for separation. This worked in my case as the output was highly driven by concept art, so it needed to be very manually directed. As for texturing, I found exporting the heightfield masks to be very useful. I did a small amount of processing in COPs, but not much, as I preferred to use Nuke to do essentially the same processing. There wasn't much direct texturing work we did with the masks, as we mostly used them to drive scattering of trees, grass, etc. We did use painted texture maps for the rocks and such, and masked them in via shaders. Let me know if you have any specific questions about workflow etc.!
  5. [SOLVED] Cycle animation every time its copied

    My mistake! I always forget that expressions key with bezier() anim as well, but my method was flawed from the beginning as I was doing + as opposed to * anyways. If you go to both keyframes of your rising anim and change the + to a *, and copy the value from frame 24 to 1, it should fix this problem.
  6. [SOLVED] Cycle animation every time its copied

    You had all the pieces, just needed the glue to get it together I used your ID attribute that you generated to control the isolation of the points on a specific frame number. This ID effectively acts as a generation frame, so current frame minus this gives you an animation frame that starts each time a point is generated. All of this is controlled through copy stamping, no additional For Each is needed. I also provided a solution in the file for additional randomized Y scale. initialize_anim_H16_v2.hip
  7. You had the right idea with the solver! I did exactly as you were thinking additive velocity that controls a copy stamp that affects an upstream timeshift SOP. Your use of alembic frame is interesting and new to me; I don't have your test abc to see how that works, but you should be able to adapt my setup to work with yours. animation_playback_by_speed_v3.hip
  8. Pyro Collisions

    For a fast explosion and thin collisions 10 substeps is actually not super crazy. It'll really be the only way you can get accurate collisions at that level. You can set the max substeps and play with the CFL so it's only doing the full 10 substeps at the beginning of the sim where it needs the detail. If you're looking for a dirty trick, you could make your roof much thicker in the +Y direction for the first couple frames of the explosion, and as the fire ball begins to slow as it breaches the roof, start to scale it back to normal. This may cause some strangeness in the smaller pieces, and negatively effect the way the fireball would wrap around the roof as it blows outwards.
  9. voronoi fracture, how to avoid straight segments

    Is it significantly faster to sim with a larger number of simple convex hulls than one complex concave?
  10. missing reflections from fire

    Adding density field and using the temperature as density fixed the issue as well. cmil_debug_refl_v001.hiplc
  11. Point Cloud Lattice

    Sorry about that, forgot I'm using a custom vdbfrompolygons, if you just swap in the standard one you should be good!
  12. Point Cloud Lattice

    Got a closer shape using the ideas I posted above! With some overall warping, and playing with the VDB meshing, you might be able to massage this into something like the ref. vexGeoTest_v01.hipnc
  13. Point Cloud Lattice

    Sorry man, I haven't had a lot of time to try out some of the ideas I had, but here's the basis of what I'm thinking: Use this method to create polylines: Do a nearpoints like shown, but then don't connect points that are at the same "level" as each other (or distance from center), so you end up more with these 45 degree connections going inwards like in your ref. Then convert to geo and blend using VDB to get the nice smooth connections like the ref. I'll try and flesh something out more, but this is a great tut to go through regardless
  14. Point Cloud Lattice

    I think it might be more controllable using poly-lines and creatively grouped points to connect everything as opposed to just metaballs like the method I'm doing. I'm trying a couple other things to see what I can come up with, but I'm certain a Houdini genius can swoop in here with a solution readily available We really need a bat-signal type light with a giant H for these guys
  15. Point Cloud Lattice

    Something like this?
  16. Paint peeling effect-How to disappear fragments

    You'll need another attribute that has the frame at which the points activate, so you can compare current frame and activation frame, and then remove them when they exceed 1.5. Something like: @corrosion = (@Frame - i@activationFrame) * .1; if (@corrosion > 1.5){ removepoint(geoself(),@ptnum); } For user-friendliness it'd be nice to replace those hard coded numbers with sliders though @corrosion = (@Frame - i@activationFrame) * ch("FrameStep"); if (@corrosion > ch("KillThresh")){ removepoint(geoself(),@ptnum); }
  17. VEX nearpoint

    Hey Kashmere, This may be way off-target, but maybe it'll still help! I know you're going for a mainly vex focused approach, but if you're just trying to get a single point attribute of the nearest point between two pieces of geo, using an attribute transfer might be the way to go. Set an attribute like "nearpointid" to the ptnum, and then attribtransfer that over. Edit: On second thought shouldn't a simple implementation of nearpoint in vex do what you're looking for? Maybe I'm completely mistaken. i@nearestpoint = nearpoint(1,"",@P,ch("radius"));
  18. Anyone here dabbling in cryptocurrencies?

    I originally mined a bitcoin back in mid/early 2011, when it was possible on a single personal machine! I gave up, as it took about a day and a half to mine one coin, and they were worth about 4 bucks. I had that coin kicking around a wallet.dat for a while that I promptly forgot about, and then in 2013 the price spiked up to $1000. I scrambled to find the wallet.dat, luckily, found it and quickly sold it on Mt. Gox. The same week the Mt. Gox hack/scandal happened... Still in their bankruptcy proceedings, apparently I will see that money some day hahaha. If only I knew!
  19. I have an imperfect solution, but it's very close, and should at least be workable. This is using a tool from the Qlib toolset called group_edge_loop. First group an edge ring of the tube (Select first edge then hold A and middle mouse click to select the whole ring). This part could use proceduralizing, I'm not sure the best way to do this though. Then use group_edge_loop_ql SOP to create groups of every loop. Promote to point group and then use pack SOP to get a centroid point for each loop. The group_edge_loop_ql SOP doesn't seem to resolve the loops on the caps correctly, so I'm removing the end points from the line. FindthecenterTest_v02.hipnc Edit: In regards to Aragatory's question above, this will only work with a tube.
  20. timeshift and velocity

    Hey Noel, You can create a point wrangle that has a multiplier channel to control the velocity mult and frame mult. Something like this: v@v *= ch("Mult"); Then you can reference this channel for multiplying your $FF in the Time Shift SOP.
  21. Y ramp volume vop

    Which version are you using? It's working correctly in 16.0.742.
  22. Y ramp volume vop

    Hey ejr, Is the problem you're having the stepping you're seeing in the viewport? Falloff appears correctly in the render despite the stepping you're seeing in the viewport.
  23. Boolean subtract geometry from curves?

    Because there is always far more than one way to skin a cat in Houdini, I've attached my solution as well Preserving original points (attrib transfer>blast away points outside threshold of original) Also, when I see I have the exact same solution as Noobini, I know I'm doing something right! curveBoolean_v01.hipnc
  24. Boolean subtract geometry from curves?

    Hey Elly, Your best bet is to resample the curve, and group points based on bounding geo (your desired subtract geo). Then promote this group to an edge group using the groupPromote SOP. Experiment with whether the "Include Only Elements..." checkbox works better for you. Use a dissolve SOP to delete the edges of your grouped points. Then finally drop a facet SOP with "Remove Inline Points" turned on to bring the curve back (close) to its original sampling. If this isn't close enough, you could do a compare with the original curve to keep points that are in close proximity. Hope that works for you
  25. Apple Decomposition

    Well done! The effect itself actually looks to be quite nice, and has a lot of detail that is getting lost in the render. I think you need to focus on lighting and shading a bit more though. See if you can find a few reference photos of the different stages of a rotting apple to try and match shading as much as possible. Double check your perspective as well. I think your camera might be just slightly too low and thus tilted too far up for your BG plate. It might be nice to actually do a nice subtle camera move, a push in or something. That little bit of extra perspective could help show off some of the detail that's in your rotting effect. The initial spread of the black rotting part could also use some more breakup, as it is a very smooth gradient that appears a little unnatural. Adding a puddle of rotting juice that is leaking from the apple might also look nice, and maybe a curious fly or two in there too You've done the hard part, now you just have to polish it up!