Jump to content


Popular Content

Showing most liked content on 12/13/2018 in all areas

  1. 1 point
    The team I work with has some full-time openings. We use Houdini for part of our pipeline and we're wanting to grow it. I can answer some general questions but I'm not the hiring manager. 462928BR - Full Time https://www.lockheedmartinjobs.com/job/grand-prairie/multimedia-design-engineer-grand-prairie-texas/694/10153801 462927BR - Full Time https://www.lockheedmartinjobs.com/job/grand-prairie/multimedia-design-engineer-grand-prairie-texas/694/10151727 462583BR - Full Time https://www.lockheedmartinjobs.com/job/grand-prairie/multimedia-design-engineer-grand-prairie-texas/694/10151739
  2. 1 point
    Here's another little building I made using a similar set up this was inspired by a restaurant I walked by in London
  3. 1 point
    Your work is great. Is there any planning to make them loopable, i.e. your last gifs, how do you make sure they are seamlessly looping? From composition to animation you must think about it? How do you pick your topics/subjects? They are amazing to look at.
  4. 1 point
    if I understood the question correctly, you are trying to generate an array of integers with newly created points: You have to run over detail only once. vector P; int btmSideArray[]; for (int i=0;i<@numpt;i++){ P = point(0, "P", i); int btmSide = addpoint(0, set(P.x, P.y-1, P.z)); append(btmSideArray, btmSide); setdetailattrib(0, "btmSide", btmSideArray, "set"); } hip file attached. appendarray.hip
  5. 1 point
    Hi Aj! I'm not the most knowledgeable person but here are a few things that might help > #1 You're wanting to convert btmside2 to an integer to append it to the array btmside? If you're stuck on "names" perhaps you should use strings instead? If you want to use the name btmside and convert btmside2 to an integer and append it to the end of btmside, sprintf is perfect for you! (I think) String btmside = sprintf(“%s%d”, btmside, integer); #2 Have you checked if your wrangle is running over points vs detail? #3 I'm still learning vex as well, but this method might be of use to you > Whenver I run over points in a loop and I want specific points to do specific things, I just check if the point number is = to the looping number. for (int i = 0; i<@numpt; i++) { if (i == @ptnum) { setpointgroup(0,btmside,i,0); } } Let me know if any of this helped, or if I'm just stupid. Good luck!
  6. 1 point
    all of your posts are great quality work , just brilliant
  7. 1 point
    I've not looked at that specific example, but to break constraints I typically do it in a SOP Solver wired into the Constraint Network DOP. Then in the SOP Solver, connect the relationship_geometry > Primitive Wrangle > Output SOP. In the Primitive Wrangle you can set @group_broken=1; based on some condition. It's worked fine for me in my Soft Constraint tests. :-)
  8. 1 point
  9. 1 point
  10. 1 point
    Nice man! Houdini's learning curve is quite steep but definitely worth it. Great work, keep them coming!
  11. 1 point
    man, that is some amazing stuff.
  12. 1 point
    Hi!! Here is another update for the Tension asset! I hope you like it! Thank you!
  13. 1 point
    Hope you don't mind, Karl, I coded a version of this in vex after checking out your file. Slightly different than yours, but using the same principle. I put two options in there, one to do even divisions between particles, and another to use a step size for divisions, so you always get a somewhat even distribution of new points. Match this to your flip particle step size, and I think that will provide optimized results. I also approximate normals on the point cloud and provide a random spread along the surface tangents which can further help fill in the gaps. There's an option in there to try and detect isolated particles and delte them, but that will slow things down a lot. HIP and OTL attached. splashExample.hip pc_gapfiller.hda
  14. 1 point
    use point attribute, so all points of first shape will have id=0 etc in that case all will be moved to point number 0 from source points you would need to replicate it manually, but it's sort of trivial task, just getting orient, scale, pscale, position and transform points based on them ( P*scale*pscale*(orient converted from quaternion to matrix) + position ) if you have N or v and up instead of orient you can construct matrix from them using lookat VOP, or if you have rot as well, that's just an rotation offset on top if you don't like that approach you can take slower one which would be doing everything in your original foreach SOP : just have source points as a second input, isolate just one based on current iteration and copy shape on it (still within foreach) this will be slower since it will need to recalculate foreach every time your source points change similarly the method you mentioned by blasting everything except one shape and copystamping that to points will be slower but for first method, your shapes would be prepared just once and then quickly moved to points every time points change, it's as fast as it gets