Jump to content


  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

  • Days Won


Everything posted by adrianr

  1. use point attribs in volume

    @Jesper Rahlff Here is the file with VDBs, nothing really different. Is there a specific issue you're having with your scene you could share? I've popped in an example using the bunny from http://www.openvdb.org/download/ too so just download it from there if you want to see that. bunny_cloud.vdb is the file, top right. volume_pc_colour_02.hip
  2. use point attribs in volume

    @Jesper Rahlff Here you go. Sops and Shader versions inside. volume_pc_colour_01.hip
  3. target position for particles

    If you need a super fast morph with no wiggle can you not just use a blend shape or mix?
  4. target position for particles

    Here are just some various ways. You can see the difference between normalising the direction vector or not, adding to force or vel, etc. Plus the normal Pop Attract. test_particles_02.hip
  5. The panel will be in a different place depending on which desktop you're in. But you can always add it to any pane.
  6. Uniform volume is still in 16.5. Check in the Material Palette.
  7. Why would you not use @age to scale your particles? The popnet will give you that for free. Something like f@pscale = fit(f@age, 0, 2, 0, 0.1); will scale the particles between 0 and 0.1 between the ages of 0 and 2. If you want to delete points not in the group drop down a blast, select your group from the drop down and then check delete non-selected. No solvers required. If you needed to test against the eventual flip surface you could do that with VDBs.
  8. How could I make this dynamic ?

    You could create a density point attribute prior to sending it to dops. Set the density for the bottom point separate to the rest of the wire. Drop a point wrangle with something like, f@density = 1; if(@ptnum == 0) f@density = 1000; You can play with the normal and tangent drag too. Can help make it more restrained and less bouncy.
  9. Yeah really you should have f@Alpha = 1; and then go on to modify later with the if statement. The 'float Alpha = 1;" line isn't doing anything in that example as it's creating a local variable that isn't called later. In the case of Alpha, where Houdini already considers objects to have an Alpha value of 1 by default (even though it doesn't show you) you don't have to initialise it first, but for arbitrary values you do (Example attached). And yes, there are some attributes you don't need to explicitly declare (like Alpha), but to be honest given it doesn't make a difference if you do or not, it's good practice to just declare everything anyway. Sure in the case of @P I don't bother, but unless you know exactly which attributes Houdini recognises, better be safe than sorry. You'll only end up calling a vector as a float somewhere and breaking something. Initialize_attributes_01.hip
  10. Rebelway workshops

    I doubt all you'll take away from that course is how to make good rocks. I bet there is a ton of useful and transferable info, real time stuff especially, that will be worth the cost. Providing of course you currently know very little about what the course intends to cover.
  11. London user group

    Cross posting from the Side-Fx forums, https://www.sidefx.com/forum/topic/50578/ Must be loads of us in London! Never been to a user group meeting before so not sure what you're supposed to do, but I'm sure we can figure it out. Probably get merry and make bad Houdini puns. No dates set yet, just gauging interest. Anyone game?
  12. London user group

    Serves me right for not turning on thread notifications! We've set up a slack at the following to try and organise meet ups, but whatever we decide we'll try and remember to post back here and the SideFX thread. https://join.slack.com/t/londonhug/shared_invite/MjE0MjM5Mjg4OTI5LTE1MDA0Njc3ODctN2RjYmNlMTY0ZA
  13. Faceted Normals After Displacement

    Sooo my solution worked? Just using quaternion dihedral as you had set up instead of a 3x3 matrix. Good to know about the raytracing bias. Regarding your latest scene pretty sure the source is the shading normal vop inside the displace vop. It creates new normals from the displaced position, rather than rotating the existing normals along with the position. You can go into the displace vop and hijack the matrix coming out of the 'get_space' subnetwork to rotate the normals and bypass the shading normal vop - Just be sure to turn off your transform after the displace normal. Edit: I haven't checked the full subnet to see what it's making or if the normals are now technically rotated the same as the points, but I think this gives you enough to go on for further poking around.
  14. Faceted Normals After Displacement

    Damn, thought I had it, still a bit broken.. Only render time subdiv fixes it but I know that wasn't the point. Curious to know the proper solution as this would technically work in sops regarding rotating the position and normals. Displacement_Normals_02.hipnc
  15. Constraining wires to Cached Geometry

    Hmm not familiar with Maya but have a look at the connect adjacent pieces sop, might be good for what you need. No worries on the file glad to help
  16. Constraining wires to Cached Geometry

    See my last post in this thread
  17. I'm not 100% but I don't think you can use transform pieces in this situation. You're getting out more points from DOPs than you're putting in. Transform pieces expects a matching point count (well, technically this can work without it as you'll see in Anthony's thread, but it's not ideal) and a matching name attribute. If you're trying to move 20 initial chunks based on 40 points coming from DOPs I'm not sure how you expect that to work? The geometry being made in DOPs doesn't exist pre-sim in SOPs.
  18. No worries chief. Shame about the Maya export but I guess it's most often the case. And re: clustering I don't mean the clustering on the voronoi fracture - I mean clustering your glue constraints with different strengths. If a glue primitive has a strength of -1 to the solver it is unbreakable, so you can mix not just between bonds of varying strengths but also of bond of unbreakable strength. You can control these with layered noise just as you would anything else you needed various sizes from. If you just want straight up different sized pieces based on some seed points you could look into the 'Voronoi fracture points' sop, hip attached. Can be pretty finicky though - I think the glue constraints method is better albeit more work. Voronoifracturepoints_01.hip
  19. That expression should work fine, but bear in mind that will place the focus of the camera at the centroid of the follow object, which isn't how we usually focus on things, so you might want to subtract a slight value from the result to shift the focus distance more in line with the nearest face of the object. You can check where the focus distance is by hitting Z when you have your camera transforms active in the viewport - This brings up the focus handles. You can also right click and select focus handle there. Oddly when you have a camera lookat constraint it doesn't orient the focus handle with the look direction of the camera which makes visualizing it a bit tricky - Not sure if there is a fix for this or if you'll just have to do spot renders and check focus. Follow_focus_01.hip
  20. Just thinking aloud but I'm guessing you want to convert the head/neck to a FEM solid object and use pintoanimation to constrain the bottom of it to the original animation (Definitely threads on that around here if you search, and done in H16). So the bottom is locked to your dancing but the rest of the neck up from that is free to wobble around. Then do a point deform from your FEM mesh to the original head at the end.
  21. It's all covered here - Really worth a watch.
  22. About modeling a bottle

    Hah, that is bloody impressive. Tube to bottle in 1 vop!
  23. Expression for delete faces

    Switch sop evaluating based on the number of columns % 2 will let you use a sort sop to cover that. Have put in the Delete sop with Delete by range and a prim wrangle version to do the same thing. checkerboard_01.hip
  24. Yeah you're really creating a headache for yourself with two voronois. Even feeding them the same fracture points doesn't guarantee the same output because you're feeding it a different mesh. Regarding this specific scene I have 2 quick solutions. One is doing an attribute transfer after packing the geometry, then unpacking it in the high res stream to do your inner noise stuff. Reason I pack is because then you're transferring the names by proximity from the center of each chunk, so it's way safer than trying to do each chunk where it rests (check the add sop). This does highlight the problem with the two voronois though, as even with the same fracture points the eventual chunk count doesn't match. Fortunately it just seems to ignore it but it doesn't feel very clean. Second, if you were happy with the edge wobble you're getting from that level of divide it's not *too* bad keeping that on your sim geo and chucking it in. Yes your collision geo will be a bit less accurate and it's a few more points but maybe that's ok for you. If it sims stable then it's no worse than the non-collisions you would get transferring the low res sim to the high res chunks anyway. v004 and v005 scenes attached. In my opinion I'd look at another route. If you wanted big chunks but with more detail along the edges I'd fracture into smaller pieces and then use clustering with glue constraints to hold those big chunks together. This has the added benefit of allowing secondary breakups when things hit the floor etc. You can then still do the high res stream and add detail to those chunks for even more detail, you can sub-fracture even smaller chunks, or create some displacement vectors to use in a shader for crazy pixel level detail. You get good collisions back too because even with all the edge jagginess to bullet it's still all convex hulls. building_collapse_v004.hip building_collapse_v005.hip