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


Popular Content

Showing most liked content since 03/01/2017 in all areas

  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. 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
  5. 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
  6. 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
  7. 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
  8. "Sine Cube" Sphere packing on a rounded cube with pscale defined by a sine function. Post in Lightroom & PS. Cheers, Tom
    5 likes
  9. "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
  10. Move, rotate and scale components independently on their local axis...as per Mcnistor's feedback.
    5 likes
  11. 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
  12. 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
  13. 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
  14. youtube.com/watch?v=QHEQuoIKgNE disk.hipnc
    4 likes
  15. 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
  16. 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
  17. http://www.openvdb.org/download/openvdb_particle_storage_2015.pdf
    3 likes
  18. You can use a Sop Solver DOP to set forces for your points. H16.0.550 Indie - WindDirection_v2.zip
    3 likes
  19. 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
  20. 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
  21. 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
  22. 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
  23. 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
  24. 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
  25. 3 likes
  26. 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
  27. 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
    3 likes
  28. 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
  29. 3 likes
  30. 2 likes
  31. 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
  32. What about some chops? odf_growing_line.hiplc
    2 likes
  33. Reflections requires HQ Lighting, Reflections enabled, and a material with the GL reflect parm/tag set to a value greater than the minimum reflect display option. As of build 550, Metallic will be used if the GL reflect parm isn't found, so Principled shaders will work out of the box for metallic objects. It works by removing the reflective object and rendering a cubemap of the scene at the objects origin using normal quality rendering. As such it can't do self reflection or multibounce reflection between two reflective objects. There is also some minor distortion at the edges of the reflective object for geometry that's far away from the origin. It seemed pretty stable when I tried it, so if you have a case that's not working please submit a bug.
    2 likes
  34. I completed a short tracking project using Houdini and Redshift.
    2 likes
  35. I always recommend the first book - 3D Math Primer for Graphics and Game Development -. The reason I think it's so good is that it's written without the usual denseness of academically driven tomes but it still manages to have substance as well as wit. It's also really well structured. But for starters this series of web tutorials covers all the key concepts you need. Ignore the fact it looks like it was put together when Tim Berners Lee first had his idea for this new fangled thing called the Internet, it's a brilliant set of lessons and (and crib tests). http://chortle.ccsu.edu/VectorLessons/vectorIndex.html
    2 likes
  36. 'Ignore point connectivity' in Edit SOP is a mess. We need something more intelligent along the lines of edge detection. It's very hard to create nice mouth and eyelid blend shapes on high density geometry with the current method. This is a very long standing RFE (ID: 72902) Old thread about this. https://www.sidefx.com/forum/topic/5114/
    2 likes
  37. Also working on some audio driven animation for a music video. We'll need some creatures swimming around! All animation here is procedurally driven by audio and mathematics using Houdini's channel operators. Additionally, all geometry is procedurally modeled (jelly dome is a mix of noises, oral arms were modeled using differential mesh growth, tentacles are noise-driven) The audio is from our band, yesper. Find the full song here:
    2 likes
  38. For anyone rendering scenes with mantra, and have lots of lights, there have been some amazing optimizations that showed up in the last few days. The scene has 528 disc lights with varying colors: 16.0.504.20 11m 51s (no active radius) 8m 29s (active radius 3) 16.0.535 3m 28s (no active radius) 3m 13s (active radius 3) 16.0.537 1m 18s (no active radius) 1m 9s (active radius 3) I haven't had a chance to try it in 15.5, since the scene was built using several H16 nodes, but if anyone else gets the chance to compare against 15.5, that'd be cool!
    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. "Hyperthreading slows workloads" is from the days of the old Front-Side Bus, which couldn't supply the CPU with data fast enough to cope with double the threads. That changed a long time ago when Intel ditched the FSB with the Nehalem architecture, when the i7/5/3 product prefixes came into being. Now you generally only get a slowdown if threaded code scales poorly, if lock contention begins to dominate over real work. Running houdini -j<n> to restrict Houdini to use fewer threads in those cases (such as the cases Jason mentioned) would be a better solution that disabling it unilaterally.
    2 likes
  42. 2 likes
  43. ... 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
  44. Well to be honest, in the current state of technology I would prefer to use out of the box solvers rather than in-house solutions. Companies like SideFX that takes customer support seriously can offer a better support than internal RnD departments. Getting a fix by the dinner, mmmm that is not usually the case
    2 likes
  45. Hello everyone! Our new Featured Houdini Artist is Hernan Llano, FX TD at Framestore London. Aside from being a really nice guy and a pleasure to work with, I found his career path fascinating - read our interview with him to find out why. Hernan has also graciously agreed to sharing a detailed video tutorial about using applied vectors in Houdini - I hope you enjoy his helpful tips. Patricia and the GridMarkets team
    2 likes
  46. 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
  47. 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.
    2 likes
  48. 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
  49. A technical video series on ray tracing: TU Wien Rendering / Ray Tracing Course Comes with an examplary ray tracer, as well: https://github.com/8BitRick/smallpaint I haven´t fully watched it yet, but it looks well done.
    2 likes
  50. There was an error in pop_too_close wrangle. It deleted both intersecting bubbles, not just the smaller one, drastically reducing bubblecount. Normally it should remove only degenerate bubbles almost enclosed by neighbours. It also seems that whole loop can be replaced with a point wrangle. So, it cooks instantly now, retains topology and scales better. Scattering and pscale setup really matters. You need to generate a good foam first, before doing intersections. The current setup should be improved somehow. bubbles2.hipnc
    2 likes