Jump to content


  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

  • Days Won


Everything posted by TheDude

  1. Only mesh flip particles that are closest together?

    Average proximity would be one way, check how far away your nearby particles are. If the 10 nearest particles to your current point are greater than 1cm away, then split this into a seperate group. mesh only those that were not in this group, and leave the rest as points.
  2. I can't view your attached files, not at a computer. My initial reaction would be to take whatever mesh, convert it to non optimized quad mesh, sample nml, up and cross. Through a single axis along the centroid of the geo progressively push the point along the cross by the percentage it is along that axis. You'll want to run this in a for loop also referencing the original mesh so the ones that are pushed a long way can remain fairly accurate through complex surfaces towards the max end of the axis your pushing geo around.
  3. recording start frame

    scatter the new points per frame and set @BirthTime to -1, in a solver, merge these new points with the previous frame, if @BirthTime is not -1, set @BirthTime to @Frame
  4. Sticking wire to collision object

    Sounds cool, to answer your question directly, you could measure distance to collision object with xyzdist, below a certain distance you could then switch its position data to then always stick on the object you found within the distance. To do this, use primuv, and track the location found from xyzdist, and keep your current position to match that parametric uv of the object from when it was within range. As a general comment, I found grains in the past to be awesome for sticky high detail saliva fx!

    Put down a pop drag, and keyframe animate the drag as needed. You can also use vex expressions in this if you need to control specific groups / areas / procedural approach based on other data
  6. Trigger an animation

    Hey Chris good to see you here. In that situation what I've done in the past is use a solver, to in this instance, flip a value from 0 to 1 if this colour turns red. If this triggers you mark down the current time. Timeshift to the end of your timeframe, and transfer the "triggerTime" value to whatever you are doing. You now have the time at which your colour will change. Use that value as an offset to your alembic and it will know when to start playing. If you had a bgeo cache and thousands of points, you could use this to be able to know what offset all your animations would need to be on particles
  7. Rendering to disk doesn't work

    output picture on mantra -- this dictates where your image will save. You are rendering frame 1 - 50 as 1 file, which is shown second from top of your file browser. this also has no extension. make sure to include extension on your output picture (as in .jpg, .exr, .tiff, whatever you want), and i presume you don't want to overwrite every frame into the same file, so add in _$F4 before your extension. $F means current frame number, $F4 means it will always output 4 digits representing current frame number.
  8. I was wondering if OPscript file is no longer supported for setting desired node preferences in your network view? I have also seen that now under Network View Display Options, under Themes tab, it now has pull downs / user made settings for shapes, colors, and wire style. This however saves a pretty gross .json, which is fine if you are not looking to edit this in the text editor (but that was the benefit of OPscript). It also appears that, unless you are going to edit the json through a text editor, you now have to make a new theme whenever you'd like to change your default settings, and this has no way of replacing your current custom theme. These are all changes I don't like D: Is OPscript no longer supported?
  9. To explicitly answer your question: Take your current volume, and place 3 "name" nodes, in each one link it to your current volume and name in the string parm "vel.x", "vel.y", "vel.z" -- place a merge, and combine your original volume, along with the 3 volumes that have been renamed. You'll now have your original volume, and 3 fields for vel. I think with more context though, there will be a better answer.
  10. Pyro Temperature Field Banding

    What bunker recommended will work well. To address why this is happening, I am guessing, is that you have a significantly high heat value around your source and the temperature dissipation is significantly high along with buoyancy. This means you have fast moving voxels in the Y value, carrying high values that will consistently devalue at each step. Solutions being to increase steps, add noise to your source fields with appropriate frequency enough to mess up this obvious banding.
  11. Animated loop in particles?

    To answer your question specifically, to replace particles with animated geo -- copy your animated geo onto your particles, and if your particles are already looped, make sure your animation cycles of your geometry match the duration of your particle animation and youre done! Keep in mind the fundamental use of the sin wave -- it is super functional for creating loops in all types of animations
  12. Both using arnold? It should be identical by default
  13. There are lots of variables here, so it's hard to speculate. Here's a few things to check. Alpha Consistency from different angles. Near / Far clipping plane on camera. Density consistency in the geo of the file you are using. Check in shader for unusual manipulation of the fields imported.
  14. So once you've got your points on your deforming geometry, you can then inherit your UVs from the object, and displace by the texture
  15. Grains cloth - bend resistance

    Right, the only balancing act if you wanna do it the hack way is simply how many grains thick you make it along with constraint parameters -- That being said I've found cloth in houdini to be getting better and better each version, despite innumerable changes. Or maybe I'm just better at not doing dumb stuff
  16. Grains cloth - bend resistance

    There's not a way for grains to do this by default. You'd need to add in a good amount of work but it is possible. Without thinking about it too much, you'd want your initial object your putting into the sim to have some sort of angular and position comparison to the array of points near to it. (I am imagining this as a sheet) Now if a cloth falls going down, perpendicular to the ground, you would need to add in force as its rest comparative position is changed from its current comparative position, this will enforce its "rest" shape, and so enforce non-bending. This is super primitive, for example, you'd now need to build into this the ability to rotate while retaining this comparative position, requiring it to additionally contain a rest quaternion which it can carry through to multiply into its rest position. Once this is all built, you could keep pushing, giving plasticity, by adapting the rest position and rotations if a sudden change in the current shape exists, or a gradual constant update of the rest attributes by the current shape, giving an almost viscous property. But yeah, this isn't really integrated into pops, but cloth does edit: quick hack workaround -- make your grain sheet about 5 grains thick
  17. Point Instancing Render Issue with Smoke elements

    Good news! I reported an RFE again with an attached hip file showing it breaking. They looked into it, and the next week i got an email. "This problem should be fixed in Houdini 16.5.304." Finally!! haha, pretty excited to not have to have hundreds of individual geo nodes in the future
  18. I wouldn't do this with a simulation. I would do something like copy a line 10 times, make them in a row next to each other -- resample them all -- (pseudocode coming) if my y position is between 1 and 2, x value is total avg x position of all lines, if not, remain at your current x position, so they'll remain in their line outside of that range. resample for even distribution again, then slap on UVs -- now you can animate points along the whole thing using UV to drive them What you need is super specific so I don't think simulating is necessary, just a bunch of sops n cheats also this gives flexibility to change the lines shapes, make them rounded or rectangular, more or less, etc
  19. Gas OpenCL

    I was wondering where I could learn how to make functions in the Gas OpenCL dop node? I could barely find any documentation on it aside from AMDs site, but that's a lot more low level programming related. Just looking for simple houdini-centric openCL demonstrations / examples. Update: A friend Artem showed me where the kernels live $HFS/houdini/ocl/ -- You can open them up and have a lil dig around, but even the simplest functions take a lot of overhead to set up
  20. Mantra error loading Geo issue

    without properly combining volumes, just merging multiple volumes can be a bad idea. for example if you have 2 seperate volumes each with primitive names "density" "vel.x" "vel.y" "vel.z" the shader won't necessarily know properties to apply to competing fields. It can just cause horrible problems. To "merge" volumes, you can use vdb combine or volume merge
  21. missile trail simulation/rendering

    Another option is to just get nice particle motion from the trail, then vdb rasterize particles, and you can cluster by distance from cam for volume resolution staggering
  22. Super hacky, also looking for a better method DartThrowingAttempt_JG.hip
  23. Controlling animated instances

    Hey man, houdini is down at work atm so can't check out your hip, but basically if you have a trigger set up in your pops of when you want animation to start (I am imagining if it hits a surface, or something like that, then you'd make a new attribute that starts at 0 that adds 1 per frame), you can use this for what frame of the animation it is. Using the instancefile attribute (think that is the one) you explicitly tell what file to instance. So some sudo code would be string Frame = itoa(i@FrameCountingFromTrigger); //Frame is the trigger you add a value to every frame from whatever the condition is you want to start counting from s@instancfile = "/harddrive/project/instancefil1_" + Frame + ".bgeo.sc";
  24. 2 parameters in one link

    you can do something like this string parm1 = chs("../null1/parm4_"); string parm2 = chs('detail("../loop_info", "ivalue", 0)')); s@newparm = parm1+parm2; then if you need that value in a parameter, rather than an attribute, you can just point() to it
  25. Point Instancing Render Issue with Smoke elements

    No way! That's awesome to hear, thanks for actually following through with this, much appreciated and hope to hear more soon on it!