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.

Leaderboard

There are no members to show


Popular Content

Showing most liked content since 02/25/2017 in Status Updates

  1. Hello Everyone, This is a recording of the presentation I gave at the sidefx booth at GDC. Topic: Creating a custom grooming system in Houdini for VFX and Games. Chapters: --Hair grooming For VFX. --Auto generating cards with texture for Real-time rendering. --Exporting the hair for real-time rendering using Nvidia Hairworks. I hope you guys like it! If you have any questions please feel free to email me at sabervfx@gmail.com Link: https://vimeo.com/sabervfx/hairfx Thanks Saber
    10 likes
  2. Hey everyone! Here's a demo of some point cloud tools I created to calculate concave and convex curvature as well as gradient and curl direction, also sharpening. Forgot to mention in the demo that the curvature calculation is a great way to do differential growth by advection along normal * curve * noise * parm. Also, the curl calculation can be used to make grass patches and groom fur by orienting curves along the direction to add swirly variance. There's a lot of ways these tools can be handy, interested to see what you all come up with! Let me know if you have any questions, enjoy! curveGradientCurlSharpen_v002.hipnc
    9 likes
  3. drive.google.com/open?id=0B5Ol7zmvIewTQlRVYkN0cWVDUnc
    7 likes
  4. Hello, I've revamped this thing in H16. Basically it's same, just changed a long distance geometry query to VDB sampling, it seems to fits best. Also added some auxiliary functionalities, like reversing polygons if needed, uv creation and such. It's created by H SOP and VOP arsenal. Get hiplc here. How it works: First step is volume sample of VDB representation of another mesh. Sampled SDF is saved as float attribute, zero SDF is used by PolyCut SOP to create intersection curve. Final offset Cuts on meshes are also PolyCut SOP done by spatial query, XYZ Distance VOP and such. Intersection curve is re-sampled down and converted to NURBS, to get as much smooth fillet. From that curve, there's spatial query to cuts on meshes, to get closed points. In next step, curve is re-sampled again to final fillet resolution, also there's new spatial query to cuts, this time only to match the final position, while orientations are derived from low res curve. This is to avoid 'bulging', invoked by linear cuts over polygons. Last step is six point bezier curve, well known as G2 blend in NurbS world, used to loft the fillets, by Skin SOP. More specific, what it can and can not do: - it automatically creates NURBS style fillets around intersections of two polygon meshes. - it wants two closed meshes as inputs, while second mesh has to be perfectly closed (no boundary edges) - will see is there a simple way to improve that. - it is able to perform fillets over fillets - only in case of closed second input. - it is able to deal with multiple intersections, or multiple (closed) volumes, let's say created by Merge SOP. - it creates fillets from union, intersection or subtraction. Default is union. - it creates UVs on fillets. If there are existing UVs on inputs, H will keep them. - it aligns normals (or exactly, vertex order) of created fillet, to first input. - each intersection has to be 'closed', that is, resulting in closed curve, in order to work properly. - meshes has to be nicely subdivided before inputs. It's just cutting over supplied inputs, it won't create new, smaller polygons. - it does not work well with sharp curvature - will see is there a way to improve that. - fillets should not overlap. - resulting meshes are just stacked, there is no any re-meshing, at this point.
    7 likes
  5. please take a look at the attached file. it´s an example how you could create bezier curves with arbitrary degree and another one relying on beziers in hermite form since you wrote about blending curves... petz curves_vex.hipnc
    6 likes
  6. Recently I wanted to make constraints based on impacts. I finally managed it. Here's the basics of the system. It uses a couple of ForeEach SOPs to step through and delete any constraint between the same two rbd's. Phew! This one was really tricky to work out. The hip file is available here
    6 likes
  7. Put all point positions into an array and make parameter "t" slide e.g. from 0 to 1 inside a for loop. int steps = chi('steps'); vector all_points[]; resize(all_points, npoints(0)); for (int i = 0; i < npoints(0); i++){ all_points[i] = point(0, "P", i); } int prim = addprim(0, "polyline"); for(int i = 0; i < steps; i++){ float slide = i / float(steps - 1); vector pos = spline("catrom", slide, all_points); int inter_pt = addpoint(0, pos); addvertex(0, prim, inter_pt); } Also a simple function for interpolating 4 points to a curve by yourself would be: int steps = chi('steps'); vector pt0 = point(0, "P", 0); vector pt1 = point(0, "P", 1); vector pt2 = point(0, "P", 2); vector pt3 = point(0, "P", 3); int prim = addprim(0, "polyline"); for(int i = 0; i < steps; i++) { float slide = i / float(steps - 1); vector pos0 = lerp(pt0, pt1, slide); vector pos1 = lerp(pt2, pt3, slide); vector ipol = lerp(pos0, pos1, slide); int inter_pt = addpoint(0, ipol); addvertex(0, prim, inter_pt); } VEX_spline.hipnc
    5 likes
  8. Here is collection of breakdowns for a project I was working on during last half of a year Vimeo album: https://vimeo.com/album/4471569 Or individual videos:
    5 likes
  9. "Sine Cube" Sphere packing on a rounded cube with pscale defined by a sine function. Post in Lightroom & PS. Cheers, Tom
    5 likes
  10. "Bubbles" Followed Ben Watts' tutorial on sphere packing via the grain solver: Quick Tip 05 - Object Packing In Houdini - very cool stuff! Thanks Ben! Went my own merry way from there :-) Rendered in Thea Render. Cheers, Tom
    5 likes
  11. I thought I had lost the hip file for the Multi-scale Turing Patterns, but finally I found it. It was using the old proto_install Feedback SOP so I converted that to using Solver SOP. 2017_02_28_ee_mccabe_v001.hiplc
    5 likes
  12. This tutorial goes over from start to finish the creation of a rudimentary fence asset that can easily be expanded upon. This is an introductory lecture on procedural modeling in Houdini I gave at Drexel University's SIGGRAPH chapter as a Junior Animation & FX major. Let me know if you have any questions, enjoy! Link To Demo File: drive.google.com/open?id=0B--RBrg9u--oWkNDU2ZUYnFpUjQ Link to Documented File: drive.google.com/open?id=0B--RBrg9u--odEhVYnluaFRGeGs
    4 likes
  13. Hello, I've been finally getting around to learning Houdini constraints and motors. Here's a first set of tests that I've ran. They are all quite simple beginnings, but I've learnt alot, particularly about ways to generate constraints in SOPS and then apply to DOPS, which seems really powerful. Im also using this to have a little peek at mantra, and learn how to set up really simple scenes. Heres the hip files for anyone else trying to work this stuff out. They are a bit disorganised, and alot of them contain ROPS that will need to be rerendered. hip_file hip_file hip_file hip_file hip_file
    4 likes
  14. Hey Graham, and anyone else trying to do this I just put out a video with a little explanation of the gotchas of the process as well as the project that I showed at GDC with source files and an updated HDA (which should be going into the build anyday now) A lot of people have been asking for more info on this, so hopefully this clarifies it a bit
    4 likes
  15. youtube.com/watch?v=QHEQuoIKgNE disk.hipnc
    4 likes
  16. Move, rotate and scale components independently on their local axis...as per Mcnistor's feedback.
    4 likes
  17. helpful little tip for people who hate waiting for the tooltip info that pops up when you hover over a shelf tool, or parameter, etc.... if you hold the CTRL key while you hover, the tooltip pops up instantly.
    4 likes
  18. Just so happens that I created my very own bubble tool that works just as you've described it! Here's some videos: I simply implemented a spherical particle intersection algorithm. I intend on releasing the file soon in a tutorial once I have some time after this term's finals week. -Tighe
    4 likes
  19. Here's another test. Im experimenting with making chains of rbds and adding different forces to the motors at regular intervals. I got some pretty nice movement! I posted the hip files for the scene here - http://richardlord.tumblr.com/post/141237935366/hipfile-hipfile-hipfile-hipfile
    4 likes
  20. http://www.openvdb.org/download/openvdb_particle_storage_2015.pdf
    3 likes
  21. You can use a Sop Solver DOP to set forces for your points. H16.0.550 Indie - WindDirection_v2.zip
    3 likes
  22. AFAIK people generate vectors in external apps (usually After Effects or Nuke with plugins like Twixor or go fancy with openCV libs or hacked ffmpeg builds), and then use that image sequence to make a velocity field. I assume that's how the amazing video below was done. (edit) Ah, he says in another video he uses deep flow: https://thoth.inrialpes.fr/src/deepflow/ (/edit) Had a quick look around last night and this morning, found this javascript image processing library. They have an implementation of 'Lucas-Kanade optical flow', I have a suspicion it'd be good starting point to port to vex: https://github.com/inspirit/jsfeat https://github.com/inspirit/jsfeat/blob/master/src/jsfeat_optical_flow_lk.js -matt
    3 likes
  23. There is also a new course on pluralsight.com that addresses this: Practical Houdini Math Tips By Beau Garcia "This Houdini course will take the user over the fundamental math concepts that are pivotal to working within Houdini. Software required: Houdini 15." https://www.pluralsight.com/courses/houdini-practical-math-tips
    3 likes
  24. Read this. This is base knowledge you need to work. https://drive.google.com/file/d/0B7D36pm7TOBCUk9RaXpDZ3NMbUU/view?usp=drivesdk Its for XSI but its simple.
    3 likes
  25. Ok, Just 2 days to figure this out! I tried so many things, but ended up just using a foreach SOP to step through each constraint and compare it. Its not the fastest...... I also do the same thing on the initial impact points too, which seemed to be a little faster as I cull some points before I even build the constraint. The constraints are currently just made at the center of each rbd, but its easy to shift it to the exact point by using the info in the DOP Impacts. Get the hip here - http://richardlord.tumblr.com/post/158126297816/hipfile-making-collisions-based-on-impacts-is-way
    3 likes
  26. Hi! Just want to share my last work, a magic reconstruction of a world globe. It contains DOP sop solver, smoke by color, advection by smoke and fog, basically. Hope you like it. Pol https://vimeo.com/207149300 Job searching as vfx generalist. https://vimeo.com/polvilla particles.mov
    3 likes
  27. Getting servos working has been bugging me for a long time. I want to set exact rotation values for them rather than just setting motor forces. I finally got them working for both packed and unpacked geo. you can get the hip from here :- http://richardlord.tumblr.com/post/157323581986/hipfile-got-servos-working-using-both-normal-geo
    3 likes
  28. 3 likes
  29. There's no such thing as "proper way" in Houdini, there's only better or worse way's, faster or slower way's, more or less controllable way's - and most complex scenes end up being a mixed bag, all of that at once, depending on where you look... I would set this up heavy to light, big to small, so one sim for the big pieces, cache that. Then you'd start breaking those cached pieces up around the edges, simming that in one go, cache that. Then you'd add the first layer of the road, the second layer, debris, dust with Pyro, etc, caching each step, building it up in layers. So I'd say you're in the right spot to start at least.
    3 likes
  30. Had some strange shapes, I guess Affinity "booleans" are not well suported ! Here is an updated svg, Genji style ! cut.svg
    3 likes
  31. This is H16. To add Displacements you have to build this in to the Core shaders. Core shaders only do surface shading. If you want to add a texture displacement, use displacetyexture VOP. To build a single non-mixing shader, you add two output VOPs one of type surface and one of type displacement after the skinshadercore and displacetyexture. Add a Collect VOP and wire in the two outputs. You also have to add a Properties VOP. RMB (RightMouseButton) on the properties and choose Edit Render Properties. In the dialog that pops up, in the render property list, in the bottom search field type displace. Then find the Mantra > Render and choose all the render properties as in the snapshot image. See the attached Houdini scene file for a working skinshadercore with displacements in /mat. skinshader_with_displace.hiplc
    3 likes
  32. I've done some more tests with motors. This time trying to create a bunch of them procedurally at once. Getting all the name attributes to line up was a little tricky on some of them, but I understand all this so much better after doing this. Getting the axis of the motors to do what I want was also a bit tricky, but I've mostly cracked it now. I've put all 5 hips that make up this video on my tumblr here - http://richardlord.tumblr.com/post/139634705771/hipfile-hipfile-hipfile-hipfile-hipfile. The sims will need to be re-rendered into the ROPs for you to see anything. Thanks! Hope you enjoy!
    3 likes
  33. I didnt check your file but just an idea, if the RBD pieces are bullet and packed , you can put a pop speed limit to automatically cull crazy max speeds, this usually solves a lot of explosive behaivour
    3 likes
  34. 3 likes
  35. In H16 we finally dropped the requirement that C and A must exist regardless of the actual file contents. This is good in a lot of cases (why create C and A when an EXR contains only Pz) and was pushed by the Terrain project. It was also the original intent of COPs, so I'm glad that this change finally happened. Unfortunately, due to the fact that this restriction has been in place for a dozen versions or so, a few cases that expect A to exist have now broken, the lumakey and chromakey among them.
    2 likes
  36. 2 likes
  37. It should be possible to do using Qt event system if you familiar with it. What you need to do is to install eventFilter to Houdini's QApplication instance, and catch QMouseEvent there. Quick untested code from the top of my head: app = QApplication.instance() class Filter(QObject): def eventFilter(self, event, **kwargs): if isinstance(QMouseEvent, event): if event.button() == Qt.RightButton: # DO stuff return super(Filter, self).eventFilter(event, **kwargs) app.installEventFilter(Filter())
    2 likes
  38. "Splash Flower" Then I played with the resulting mesh, looking for interesting ways of stylisation. Thought I should try the new booleans. Created radial planes to cut the object and only kept the intersection splines, then extruded them. Duplicated them several times and came up with this: Again, rendered in Thea Render.
    2 likes
  39. Here is a Redshift conversion of your test scene. It comes in just over a minute at 1:21 using the 1070GTX. redshift_instancelights_bldgs_H15.5.hiplc
    2 likes
  40. Posted a thread on some tools, one of which is how to calculate the concave curvature of a mesh. I've used it to get some pretty cool differential growth results. It runs on points only so it's pretty fast. Here's a link to the thread. -Tighe
    2 likes
  41. ... Except for the kitchen sink nodes: Facet and Divide. The functions in these nodes are so undiscoverable, IMHO. I would still live a true Tesselate function, and a Dice function (based on Mantra's dicing, adhering to the Measurer strategy).
    2 likes
  42. Bring back voxelsize for VDBs in the middle-click panel/info window.
    2 likes
  43. Heres an example. This stuff is tricky to do in Houdini, but is really amazing once you wrap your head around it. I create a sphere in SOPS. Pack it and give it a unique name and velocity(v) Then, in DOPS, in a SOP Sover, I bring a new sphere in every so often using an Object Merge. In the same SOP Solver I build a constraint, name each point correctly and set all the attribs up correctly. They go out the OUT_CON null. Then I read that into the Constraint Network There's a million ways to do this, this is the method that works well for me, and has proved most flexible so far. 17_02_27_spawning_constraints_b.hiplc
    2 likes
  44. I made myself a Katana icon You can grab my svg and put it in your Houdini folder (may be hidden) ..\Houdini 16.0.504.20\houdini\config\Cursors Make sure you backup your old cut.svg, just in case you want those scissors back ! cut.svg
    2 likes
  45. http://www.awn.com/news/deluxe-names-craig-zerouni-head-technology-vfx
    2 likes
  46. I did something similar a few weeks ago (that ended up not being used). I took a curve, constrained some of it's points and did a wire sim. Then I used a Point Replicate and adjusted pscale along the length of the curve, and then I meshed it. The result was a dangling snot with a bigger "drop" at the end of it. If you only need a dangling snot thing, with not much other interaction, I think a full flip/grain sim is a bit overkill and harder to control.
    2 likes
  47. 2 likes
  48. Hey guys! Here's my latest short called REACTION that I've been working on and off with for a couple of months. Enjoy! All Houdini and rendered with Octane
    2 likes
  49. Anything I can do in Houdini is thanks to the great community of people helping and sharing their knowledge. Thank you everybody, you guys rock! This is my first job done fully in Houdini (+AE) and my client let me share the source files (attached in this post). Rendered animation is here on vimeo The included network is quite simple and I hope it can help beginners to learn Houdini. I have tried to avoid slow for each loops and copy stamping, so you can find few small tricks in there. It was rendered in one afternoon on Redshift and two 1070s (cca 1.8K pixels res). And also warning: some of the effects and glows are done in AE. Used VEX if, vertexindex, smooth, rotate (matrix), setpointattrib addprim, addpoint, addvertex, removepoint user-defined functions Used CHOPs lag, math, spring, geometry, envelope, area, trigger jiggle (even for single channel) chop() expression Used VOPs dot product (to control the linear falloff), cross product primuv, volume samples VDB vdb activate, custom masked advection (clouds) nearpoint (to sample the mask advection offset) SOPs uv texture(rows&columns) to control the ramp (color&pscale) along u attribute interpolate, attribute transfer, solver polyextrude (with local controls) RedShift volume shader, light instancing point and vertex attributes odforce - project - v1.zip
    2 likes
  50. Try this... Put down a measure SOP and set it to measure the perimeter of your curves. After that a primitive wrangle and write. #include <groom.h> adjustPrimLength(0, @primnum, @perimeter, @perimeter*@dist); groom.h is a included file containing some functions used in the grooming tools and one of the functions is... void adjustPrimLength(const int geo, prim; const float currentlength, targetlength)
    2 likes