Jump to content


  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

  • Days Won


Everything posted by ThomasPara

  1. Deleting points close to specific groups

    //set your wranglenode to run over group2 int nearpt = nearpoint(0,"group1",@P,chf("radius")); if(nearpt != -1){ removepoint(0,@ptnum); }
  2. Creating points vex

    its a handle to the new point, so you could ex set an attribute value to it, or add it to a primitive. vector position = set(0,0,0); vector color = set(1,0,0); int newprim = addprim(0,"polyline"); // create a primitive int newpoint = addpoint(0,position); // create a point addvertex(0,newprim,newpoint); // connect that point to the primtive setpointattrib(0,"Cd",newpoint,color,"set"); //set an attribute
  3. Color drops (flip)

    Nice, the next step would be to feed it into a dopnet and use it as a source. 42 projectors, thats kinda crazy! Does it involve mapping?
  4. Color drops (flip)

    Heres a version where it rains by the normal of the sphere, havent tested other geometries. ap_sphere_rain_04.hiplc
  5. Color drops (flip)

    The sim stuff might have more potential, i like the mood of the first clip you got. It seems like a fun challenge
  6. Color drops (flip)

    Better ripples, not realy any better explanation. Its basicly a combination of fitrange and modulo. rain_02.hiplc
  7. Color drops (flip)

    you "animation range" can be created by fitting @Time or @Frame to fit your beat. float range = fit(@Frame%50,0,50,0,1); //this will give you a cycle that repeat every 50 frame float range = fit(@Frame%50,25,50,0,1); // this will also give you a cycle every 50 frame, but your animation wont start until frame 25 float range = chramp("curve",range); // this will give you a ramp with some extra controll
  8. Color drops (flip)

    ill will try to make a more understandable setup when ill get some time, im happy that you liked it.
  9. Color drops (flip)

    Tried to make a version without a solver. rain_01.hiplc
  10. VEX selecting border edges

    What do you mean with border edges? In my opinion a cube doesnt have border-edges, while a grid has. The edges that isnt connected to any other geometry. But if you mean border edges like the hard angle, thats something different. Both are doable in vex, but different aproaches.
  11. Need help with loops and Foreach

    Yes its kinda cool. Played around with a similar setup a year ago, maybe i should try to find the files and give it another try. Easy way to kill your machine atleast
  12. PC falloff/ Attr transfer random

    The attribute transfer doesnt work because every "point-transfer" overwrites the last iteration combined with some hscript-expressions written wrong and your for-each was also setup to run over every point in the grid instead of your scatterpoints. So i went for a pcopen solution for you. PC_falloff_fix.hiplc
  13. the thing is that you only got one vector, from point 1 to point 2. You need atleast two vectors to get rid of the random flipping of your object. You can create a static vector like up to fix this, but it will flip when it crosses this static vector. Heres some solutions vector_fix.hipnc Red is dihedral, Green is with up, and blue is with solver without up
  14. Wire Solver for ropes

    Hard to say witch one is best, both needs some fiddeling. Wire solver isnt that good to interact with other solvers, same goes with vellum. Heres a basic setup comparing them. wire_vs_vellum_01.hip Vellum is blue and wire is red
  15. int primpts[] = primpoints(0,@primnum); i@pointcount = len(primpts); Will also work. In a curve each point will have one vertex, so they the count will match.
  16. Subdivision Sop Producing bad results

    Seems like the subdivide sop is doing the subdivide correct according to your pictures, is it the bevel sop that is the problem? (since the topic is that the subdivide is doing something wrong)
  17. vex function to read all the attributes of a point?

    string pointattribs[] = detailintrinsic(0,"pointattributes"); this gives you a list of pointattribs that allready exist, the problem is to create the attributes on your new point. The problem is that you dont know the attribtype (float,string,vector). You can somehow use attribsize combined with pointattribtype to check what it is. It becomes alot of if statements if you want it to be rock solid. Personaly i have ignored some types to make it simpler. void transferPoint(int input;int fromPoint ;int toPoint){ string pointattribs[] = detailintrinsic(input,"pointattributes"); foreach(string name;pointattribs){ int found = 0; int size = attribsize(input,"point",name); int type = pointattribtype(input,name); if(type == 0){ int attrib = pointattrib(input,name,fromPoint,found); setpointattrib(0,name,toPoint,attrib,"set"); } if(type == 1 && size == 1){ float attrib = pointattrib(input,name,fromPoint,found); setpointattrib(0,name,toPoint,attrib,"set"); } if(type == 2){ string attrib = pointattrib(input,name,fromPoint,found); setpointattrib(0,name,toPoint,attrib,"set"); } if(type == 1 && size >= 2){ if(size == 4){ vector4 attrib = pointattrib(input,name,fromPoint,found); setpointattrib(0,name,toPoint,attrib,"set"); } else{ vector attrib = pointattrib(input,name,fromPoint,found); setpointattrib(0,name,toPoint,attrib,"set"); } } } }
  18. Hi odforce when i create a string in vex with the @ sing it becomes _bound_ ex s@text = "@variable" becomes "_bound_variable" if i use the "create attribute" sop it gets correct How can i get it to become "@variable" instead in vex?
  19. Clean Growth PolyWires, Tutorials?

    The rendertime was a bit high i feel, a little under an hour. But since im not a renderguy and used no time on setting this up i guess there is alot of room for optimization, but the result was good for how little time i used. I added some backlightning in the shader and gave it some translucency so light would pass. I felt it got a bit dark without it. This also affected the rendertime, but i also suspect the big hit on the rendertime is because of gpu-ram. I also want to try the scene in arnold when i get the time for it. Ive tried rendering curves in Mantra before, and its incredible slow and the results arent that good right out of the box.
  20. Clean Growth PolyWires, Tutorials?

    Tried your scene in redshift without the holdout. Upped the resolution on the spheres and added some tapering on the ends of the curves.
  21. Polygon from vdb topology problem

    Timeshift your dirt geo (after vdb, might get heavy if its a dense mesh) and insert it to input#01 on a pointwrangle Timeshift your cloth and insert into input#02 Take the moving cloth and insert it into input#03 int prim_id; vector prim_uv; float dist = xyzdist(1,@P,prim_id,prim_uv); vector surface_pos = primuv(2,"P",prim_id,prim_uv); vector surface_normal = primuv(2,"N",prim_id,prim_uv); @P = surface_pos + (surface_normal * dist);
  22. make a pointwrangle on your points, before the copy to points sop and write: @pscale = fit01(rand(@ptnum),chf("min"),chf("max")); And push the little icon on the right to get the sliders
  23. Highlight in viewport ?

    Is that packed objects or instances? If so its the viewport culling the instances.
  24. Exclude identical points from different arrays

    That might become alot of processing and hard to multithread. I would try: Wrangle#1 Create an empty array on the goalpoints Wrangle#2 Let the points search for their goalpoint and append their id to the goalpoint array. Wrangle#3 Check the goalpoints and their arrays and select the points that you want to connect to. This can be multithreaded and there is only one set of arrays (no comparing).
  25. Vegetation using bullet

    I think this is the right way to go. We use bullet aswell on trees and foliage, great for interaction with other objects (since grain and wire is a bit to unstable). You can set rotational stiffness on the rbd objects to make it more bendy. Now it looks a bit dry.