Jump to content

Leaderboard


Popular Content

Showing most liked content on 01/04/2021 in all areas

  1. 1 point
    found the problem, its because when you enable union compressed fluid surface, it uses a union operation in a vdb combine with the surface from the compressed cache and the vdb particle fluid. For some reason the surface was too small on some frames and the union operation. failed. A simple vdb reshape sdf with dilation fixed it
  2. 1 point
    Hello, I`m working on Ink style effect. I would like to add point in between two (or more) nearest existing points, interpolate velocity and push new point slightly in vel direction, to have little bit more circular interpolation. That works well, better than point jitter or different cheap techniques. I would like to still fell motion from original sim. But I stuck on duplicated positions of some points, which is logical, other points can have similar near point. So I would like to add some counter, so if there were pair in past, don`t create new point. We are talking about millions of new points, so I need it as cheap and straight forward as possible. Basic idea, with some new points duplicated: float maxDistance = chf("maxDistance"); float minDistance = chf("minDistance"); int maxPoints = chi("maxPoints"); int nearPnts[] = nearpoints(0,@P,maxDistance, maxPoints); foreach (int pnts; nearPnts){ float distance = distance(point(0,"P",pnts), @P); if (distance > minDistance){ vector nearPos = point(0,"P", pnts); vector nearVel = point(0,"v", pnts); vector centerPos = lerp(nearPos, @P, 0.5); vector centerVel = lerp(nearVel, @v, 0.5); centerPos += centerVel * chf("pos_offset"); int newPoint = addpoint(0,centerPos); setpointattrib(0,"v",newPoint,centerVel); setpointattrib(0,"id",newPoint,@id*1000); setpointattrib(0,"newBorn",newPoint,1); } } I`m trying to add some counter ("tested") but seems like I cant read this attribute and my head is twisted I can see in spreadsheed, that "tested" has some range, so I need to connect with it. Any idea? Thanks a lot float minDistance = chf("minDistance"); int maxPoints = chi("maxPoints"); i@tested = 0; int nearPnts[] = nearpoints(0,@P,maxDistance, maxPoints); foreach (int pnts; nearPnts){ float distance = distance(point(0,"P",pnts), @P); setpointattrib(0,"tested",pnts,1,"add"); if (distance > minDistance && point(geoself(), "tested", pnts) == 1){ vector nearPos = point(0,"P", pnts); vector nearVel = point(0,"v", pnts); vector centerPos = lerp(nearPos, @P, 0.5); vector centerVel = lerp(nearVel, @v, 0.5); centerPos += centerVel * chf("pos_offset"); int newPoint = addpoint(0,centerPos); setpointattrib(0,"v",newPoint,centerVel); setpointattrib(0,"id",newPoint,@id*1000); setpointattrib(0,"newBorn",newPoint,1); } }
  3. 1 point
    Few tips and tricks to manipulate gas simulation. 1. Independent resolution grid. E.g. Overriding vel grid size independent to a density grid. 2. Creating additional utilities. E.g. gradient, speed, vorticity and etc which can be used to manipulate forces. 3. Forces via VEX and some example snippets. smokesolver_v1.hipnc P.S. Some of this technique are not Open CL friendly though.
  4. 1 point
    I have a subnet that is comprised of a bunch of RS lights (that have to remain on the OBJ level) and geometry that represents a practical light setup. I need to animate all lights and geo as a single entity, so I've dropped down a null and parented the subnet to it. 'Child compensation' is turned on in the null to get the subnet to move, but for some reason the objects below move in the opposite direction of the null transform, and it appears to be a double translation as well. Has anyone ever seen this? What can I do to get the subnet to cleanly inherit the the transforms of the null? This can be replicated by dropping down a sphere, collapsing it into a subnet, then attaching it to a null. Thanks. -- mC
  5. 1 point
    Hi Everyone, I am still new to houdini and I frequently run into the following problem. WhenI use VDB volume for collisions in houdini Particle or Flip sim, particles collide with the bound of VDB volume instead of actual VDB shape. It kind of creates a boundary around VDB and uses that boundary for collision. Its visible in the viewport in orange color (yellow color in the provided SS as d object was selected when took SS). I often get this issue and I dont know what I am doing wrong and how to solve it. Even If I use shelf tool the problem still persists. If anyone of you have ran into this problem then please let me know how u solved it. thank you for your time. Cheers!!!
  6. 1 point
    Here is another file I found on SideFX website that shows how to setup a chimney with smoke. A little bit different setup. chimny_smoke_Fix.hip
×