Jump to content

anim

Members
  • Content count

    2,226
  • Donations

    0.00 CAD 
  • Joined

  • Last visited

  • Days Won

    119

Everything posted by anim

  1. or Measure SOP, which was updated in 17.5 and has several useful curvature modes
  2. because you are using RBD Solver and that doesn't care about packed geometry use Bullet Solver or Rigid Body Solver with Bullet engine
  3. for loop in vop issue

    because Import Point Attribute VOP imports attribute value from the input geometry, not the modified one from previous iteration
  4. alternatively just append Repack SOP after native Assemble SOP and check Repack Packed Fragments
  5. you can advect your particles in a number of ways using vel field from FLIP sim either use POP sim with POP advect by volumes, or Slover SOP with VDB Advect Points or custom VOP/VEX using Advect By Volume VOP or volumesamplev() to directly sample the velocity and do your own advection alternatively you can isolate subset of particles by 'id' from the flip sim and instance your bubbles or other things to them
  6. Flipbook

    its in the Render dropdown menu, that by default says Current Viewport
  7. How do I skin connected curves?

    you can try using PolyExpand2D SOP instead of Skin SOP
  8. Drops with dynamics

    vellum for grapes and for fluid you can explore new POP Fluid and Condensation Shelf Tool, but also traditional flip with high surface tension and custom SDF based attractive force towards grapes will do just fine
  9. store getbbox into attribute

    vector min; vector max; getbbox(min,max); v@bbox_min = min; v@bbox_max = max; //or as array containing both v[]@bbox = array(min, max);
  10. carve will interpolate the attributes so if one point has pscale of 1 and second 2, then if you carve in the middle the new point will have interpolated value in the middle of 1 and 2 so 1.5 then if you base your random on @primnum both points will have the same value so even interpolated value will be the same
  11. Limit speed on rbd

    Either put there point number s of packed rbds you want to affect Or Put there adhoc group pattern like: @name=piece2,piece3
  12. this has always been the case, progressive rendering (preview) always uses Raytrace so if your engine is Micropoly, you will see the difference
  13. FLIP - pprevious attribute - What is it?

    Well, internally, next frame, when the P updates, pprevious will still contain previous P, until it's updated to P at the end of the frame, usually by Gas Integrate So technically it is previous P during the solve
  14. you may benefit from compiled foreach loop for this since as I understand it all point/vertex/prim creation within a single wrangle has to be queued at the end on a single thread as each of your points may want to add vertices to any primitive for example so wrangle can't assume that the operation are safe to run in parallel for example even though you know that they are in your case
  15. Handeling cache chain

    reuploaded the file
  16. Mantra transparency

    you can do the same what Fake Caustics does, use Is Shadow Ray VOP node to switch opacity for shadow rays, in case of turning shadows off switch to constant 0 however be careful with Glass materials that don't cast shadows at all, I remember them producing unrealistically bright values within the Glass, I had the best results with fake caustics or combined with real ones
  17. Handeling cache chain

    updated cache_chain_001_fix.hiplc
  18. why don't you just sample the vector field directly at the particle position? vector vel = volumesamplev(1, 'velField', @P); it will automatically interpolate the value from neighboring voxels, you don't have to do that part
  19. You may want to look into TOPs and wedging
  20. didn't check your file, but could it be that your rest normals are a point attribute and therefore interpolated across sharp edges? If your original has N as vertex attribute try to just copy it as your rest normals vertex attribute
  21. something like this: vector P = @P; string ptgrp = "17 306"; float radius = chf("MaxDist"); int pts[] = nearpoints(0, ptgrp, P, radius); foreach(int pt; pts) { vector ptP = point(0, "P", pt); float dist = distance(ptP, P); float invdist = fit( dist , 0, radius, 2, f@y); f@y = invdist; } Attribute Ramp_03_fix.hip
  22. @targetv is used by solver as a velocity of the medium the object or particle is in (air, water, whatever) It couples with @airresist, which sets the resistance of such medium (as a product of medium density, drag coefficient, ...) So even at 0 it @targetv will still affect your velocity as it will drag it down whenever @airresist is not 0 One way would be to animate @airresist to 0 so it will not affect it at all Or just don't use @targetv, update @v directly within DOPs when you need to give the impulse @force is another option, as you mentioned
  23. functions that write to not current point like setpointattrib() or create new geometry like addpoint() etc. Are queued in point order and executed on a single thread after all multithreaded code However that doesn't really matter in your case as much as the fact that in the single wrangle point() function will never read the updated "y" attribute, it will always read it from the input from so that's why 2 wrangles work for you You can always flip your code to be other way around and therefore more multithread friendly Like make all points look within the certain radius for points 17 and 306 and in the loop of found points they will change @y accordingly, as each point will only change its own value it'll be able to read it back using @y within the for look as expected
  24. Why is my Color Transfer Offset?

    here is an example, I created boxes based on the points, but you can create points from boxes too if you need it that way cut_by_boxes.hip
  25. Mantra transparency

    You can turn on fake caustics on the glass material
×