Welcome to od|forum

Register now to gain access to all of our features. Once registered and logged in, you will be able to contribute to this site by submitting your own content or replying to existing content. You'll be able to customize your profile, receive reputation points as a reward for submitting content, while also communicating with other members via your own private inbox, plus much more! This message will be removed once you have signed in.


  • Content count

  • Joined

  • Last visited

  • Days Won


dchow1992 last won the day on October 8 2016

dchow1992 had the most liked content!

Community Reputation

20 Excellent

About dchow1992

  • Rank
  • Birthday 04/30/1992

Personal Information

  • Name
  • Location
    Los Angeles

Recent Profile Visitors

1,235 profile views
  1. 2 things when you reference your own attributes for the first time in a wrangle you need to declare the type v@rdir instead of @rdir, which actually evaluates to (@rdir.x, @rdir.x, @rdir.x) and then the length of the direction function parameter dictates the max distance that the ray can look for collisions, so in this case you need to multiply it by some scalar so that it can travel far enough to reach your obj.
  2. you're close, you just need to delete the pivot attribute when you're importing your rbd sim as points the copy sop recognizes that attribute and the geometry you are copying onto the points isn't in the same rest position as the proxy object it is inheriting its orientation from. also take a look at rbd packed primitives if you want, they are generally the more modern way to do rbd sims
  3. v@vel *= fit(length(@P), 0, circumference, 0, 1); length of P gives you distance from position to origin, if your circle isn't origin centered then you need something like length(center - @P)
  4. nvm
  5. you can also apply the transformation after the copy sop which might give you a little more control matrix3 x = primintrinsic(1, "transform", @ptnum); setprimintrinsic(0, "transform", @ptnum, x); @P = point(1, "P", @ptnum); where input 1 is your object merge
  6. i see the same uvs on both meshes in maya 2015
  7. offset position, rotate, subtract offset
  8. the first statement is there so that you only run the code on non infected points since you don't need to infect already infected pts. if you are running this on millions of pts you'll see a performance gain
  9. you are opening your point cloud around points that are infect=0. when you set @infect = 1 you are setting the attribute on the current wrangle point, not the foreach point. you are looking around the current wrangle point for infected points so that you can become infected also
  10. if you export it yourself in the shader as a custom attribute and compensate for the scale change (cm -> m) either there or in nuke you can achieve closely matching values
  11. //point wrangle @P.y += v@scale.y; not sure if this is a small example of a larger problem you're trying to solve. sorry if this is obvious and not what you're looking for if you still want to use a detail wrangle for (int i = 0; i < (@numpt); i++) { vector pos = point(0, "P", i); vector scale = point(0, "scale", i); pos.y += scale.y; setpointattrib(0, "P", i, pos); }
  12. you can use setattrib to set point attributes ex: int newpt = addpoint(0, @P); setattrib(0, "point", "pscale", newpt, 0, @area); removeprim(0, @primnum, 1); make sure you have pscale on your points edit*couldn't resist trying to make something kinda slow though, i'm sure there's a better way sphere_packing_005.hip
  13. you can test it against an sdf of the boundary each frame if you've never used an sdf before, it's a volume representation of a shape with negative values on the inside and positive outside within the narrow band. there's built-in vex functions to sample volumes and in the file I use the border of the sdf to control the displacement vornoi_growth.hiplc
  14. at the simplest level constraints are just connected points with different name attributes. in my file I change the name attribute so that there are only 2 unique names that connect adj pieces can create connections between. Then replace the name attribute to what it was initially so bullet knows which packed pieces to constrain in dops. There is a bullet masterclass out there that is great if you haven't already checked it out constraints.hip
  15. can you post your file