Jump to content


  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

  • Days Won


ThomasPara last won the day on June 26

ThomasPara had the most liked content!

Community Reputation

26 Excellent

About ThomasPara

  • Rank

Contact Methods

  • Website URL

Personal Information

  • Name
  • Location

Recent Profile Visitors

716 profile views
  1. 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.
  2. 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.
  3. 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);
  4. 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
  5. Highlight in viewport ?

    Is that packed objects or instances? If so its the viewport culling the instances.
  6. 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).
  7. 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.
  8. @name attribute without assembly ?

    I was tierd when i wrote that post, but its all in the file.
  9. Cone To Glue Constraint Switch / metal Bending

    The main problem is that your glue constraints arent active from the start. Just merge all your constraints before you put them inside the solver, it will figure it out based on the constraint_names. Cone_to_Glue_Jiggle_fix.hipnc
  10. Cool, i dont think thoose chips are so healty for that burger! And i forgot that they put that option in houdini 16, sorry about that.
  11. @name attribute without assembly ?

    In the "attribute transfer", set it to name. After that insert an attribute promote, where you promote your name attribute from primitive to point. Now your connect adjacent pieces will have the name attribute. connect_adjacent_01.hiplc
  12. @name attribute without assembly ?

    You can use whatever to set your name attribute as long as its a primitve attribute. ex: put down a connectivity and use the @class attribute. s@name = "piece"+itoa(i@class); or you could use the primitive number itself s@name = "packed_prim"+itoa(@primnum); or closest point to this primitive int nearpt = nearpoint(1,@P); s@name = "say_my_name"+itoa(nearpt); or get the name of the closest point int nearpt = nearpoint(1,@P); s@name = point(1,"name",nearpt); Its just an attribute you can call whatever and name whatever. If several primitives have the same attribute with the same value, they get packed togheter.
  13. Some minor things you forgot, the most important one was to set the right input on your Constraint Network. Since that was incorrect it couldnt find the Constraints. I also set your Goal Twist Axis and Constrained Twist Axis to X(1,0,0). But usualy this is Z on a curve where orientations is set. If you want to noise your curves before you drop them you need to set some orientations that follow the curve. I think Entagama has something on Parallell Transport or i could share my setup on fixing orientations on curves. chips_sim_v006_fix.hiplc
  14. I think the rbd is the way to go on this one. Heres a simple setup to get you starting. chips.hiplc
  15. trying to roate pieces of my burger randomly

    You can also just pack them first, that will give you the pivots. Use assemble. Or connectivity. If you use connectivity you need to assign the name on the primitives yourself. //primitive wrangle with class as primitive attribute s@name = "piece"+itoa(i@class); Then pack by name attribute. Now you can rotate the packed primitives //pointwrangle matrix3 m = primintrinsic(0,"transform",@ptnum); vector axis_y = set(0,1,0); //if you want axis to be aligned with packed transform axis_y *= m; float angle = radians(rand(@ptnum)*360); rotate(m,angle,axis_y); setprimintrinsic(0,"transform",@ptnum,m,"set");