Jump to content


  • Content count

  • Donations

    10.00 CAD 
  • Joined

  • Last visited

  • Days Won


Everything posted by acey195

  1. Houdini Terrain Pipeline Vol 2

    Hey All! The first part of this tutorial has been available for almost a year now, but because of the sad news that hit CMI, I was unable to upload the 2nd "half" there. So instead I just made it available on Youtube for everyone, to make up for that I suppose. I'm considering putting the first part on there as well, if enough people want that. In this tutorial covers the following, using Houdini * Generating water meshes * Updating the terrain based on the water * Generate walking paths on the terrain * Create some basic instances * Build a flexible system using external files to place these instances. Built on Houdini 16.5, but should work on 16 too, or all the way back to H14 if you skip the heightfield part. Recommended specs: at least 16GB of RAM, reduce the terrain size if you have less. Disclaimer: Work files are as is, and do not contain the cached geometry to save on space, this may explain node errors on the various "File Cache" nodes. It does however also contain the work done in the first half of the tutorial, albeit mostly undocumented: https://tinyurl.com/y89egjvq Hopefully its of some use! Twan
  2. Just wanted to say thanks......

    Welcome Dennis! From your other post, I was curious where you were studying. Igad(Breda), HKU or self taught ? Also Dutch you see , not very new to Houdini anymore I suppose, but still learning all the same. Enjoy your stay!
  3. Learning Curve of Popular 3D Software

    Its Hilarious, its also a classic I believe I first saw it when I was still in school, more than 4 years ago ^^

    I said VOPSOPs specifically are dead, they are no longer supported.. Attrib VOPs are the new thing, which are basically the same, but not completely.

    VOPSOPs are kinda dead post H13 They are now "attribute VOPs" in which you can affect all geometry types (point, prim, vtx, detail) by selecting the corresponding node, just like Wrangles. import bind is just "bind" to output, use "export bind" (which is also a normal bind VOP, but with some toggles enabled)
  6. Houdini 17 Sneak Peak

    not entirely sure, maybe its specifically for the shader (not the sim)
  7. Houdini 17 Sneak Peak

    Awesome release indeed still some surprises in the launch presentation! To celebrate, I decided to transcribe the list at the end : Light path expressions Accl motion blur New PBR SSS for faster convergence of shadowed areas Much lower memory usage for rendering packed prims Support for multiple GI lights Better Bake texture ROP Pyro shader support for heat, density and temp Data window for deep EXR better Hqueue Alembic layering Better unified Noise VOP Better periodic noise support 64-bit vex AVX accl vex POP fluid DOP Smoother agent clip blending Agent unpack SOP compressed bclip file support color coded node parms channel stats in the animation editor much faster deform sop new blendshape version falloff sop point velocity sop triangulate 2d 3.0 windin number SOP better trace SOP Support for vertex groups in the group sop More compilable SOPs Faster UV transform Better FBX support HEX color support better parameter search and filters NVIDIA OptiX AI denoiser for Mantra/IPR
  8. Houdini 17 Sneak Peak

    I believe these (and probably their names) are still confidential. Unless you are working for larger companies/are able to attend the special events, where SideEffects makes visits to show their roadmaps.
  9. Laptop for houdini

    The top one seems totally adequate I would only get the other one with the potentially better video card if either: Plan on using GPU based renderers (redshift etc), as most of them are still CPU based, and current gen I7s are awesome I imagine You also want to play video games at higher settings. But I would definitely suggest getting an extra external hard-drive if you pick the bottom one, probably still for the top one as well, if you want to do a lot of caching for simulations and stuff.
  10. Group A += Group B

    or (almost) literally as you said in Vex Union: @group_A |= @group_B; Intersect: @group_A &= @group_B; Remove: @group_A &= !@group_B; etc.
  11. In my opinion explicitly typing your attributes is good practice; in particular, for not accidentally using floats when you can/should use integers(if you want to check against specific numbers) if(x==6) is way better than if(x==6.0) for example,
  12. Hey all, Any compositing wizards in the house? We were curious if any of you have a possible work around for the following problem that does not involve using the take system. (or leaving all nodes unlocked) Currently trying to updating some of our pipeline in compositing, but I seem to be running in all kinds of issues regarding Houdini's "Hardcoded-ness" in regards to $F Our file structure follows a 2d structure (filename_X_Y) rather than linear (filename_$F) and I get the feeling Houdini really dislikes that. (at least in the compositing context) So on the top level (from the SOP context) we have some logic to remap a linear number into this 2d structure (see tiles image), which works fine when this iteration number is set by hand. For reference, this 2d structure can be placed anywhere in our tile space, and can be a sparse set of tiles. But replacing this iteration number by "$F" seems to break a lot of stuff, as if Houdini suddenly engages all kinds of safety mechanisms that are in to way relevant to what we are trying to do. One of the things that breaks are all the switch nodes (they check if the input files exist and load a backup image if not, see image below) so to work around this I need to match all resolutions, file formats and file ranges apparently. But setting the file as a still image also doesn't work when the filename is indirectly built using $F. And manually setting the frame ranges also doesn't seem to work as we are not inputting a "true sequence" of files, again because of the 2d structure we are using. So it will report most things as empty frames, or it loads the wrong files altogether. Did any of you try anything similar? Did you run into the same problems and if so was there any work around you could use? Thanks a lot! Twan
  13. VEX "for loop" for Points

    for static values you can just use a "attribute create" node. for wrangles, if they run over "Points" that means it is already looping over all points, so the following should be enough: v@prob = set(5, 10, 20); // if you want to store the data as a vector or you could do, if you want to pick an integer randomly from your list: int probAr[] = {5, 10, 20}; int index = int(rint(rand(@ptnum) * 2)); //rint is for rounding the value to the nearest integer i@prob = probAr[index]; // you could even put this entire code in one line if you would like, like this: i@prob = int({5, 10, 20}[int(rint(rand(@ptnum) * 2))]);
  14. I guess it also depends on how much time the people will invest in your mentoring, generally though don't expect too much on that front.. So some monetary compensation is almost always in order. Unless you like to participate in non-profit projects, though those will also be hard to find. Especially ones that already have Houdini-Pros on their team. Being new in Houdini may limit your choice in people willing to take you up on your offer as well, but I imagine you must have some skills/knowledge in some other areas too, so I would certainly also use those to advertise yourself.
  15. Bumping with the recordings : EPC2018 - Innes McKendrick - Working With Change (Hello Games: No Man’s Sky) EPC2018 - Anastasia Opara - Proceduralism and Deep Learning (EA: SEED) EPC2018 - Oskar Stalberg - Wave Function Collapse in Bad North EPC2018 - Twan de Graaf and Pierre Villette - Procedural Content Generation at Ubisoft Paris
  16. Solving crossroads

    Ahh yeah ok, cleaning up data is probably often the most difficult/tedious step, so I get what you are getting at. Good luck with the rest of the project!
  17. usually what I do, when I have to do a pointcloud search and I only want to have one point affect the other (but not vice versa) is to check the pointnumber. basically, I usually do the following check: if(otherPtNum <= @ptnum) continue; //inside your loop, or whatever other logic you want/need to use to skip the code execution for this point
  18. Solving crossroads

    Nice Feike! Two things I was wondering about though: Are you doing some checks for the pillars not to go through the roads below? (as I see a couple of instances where that happens) I also not really know how those "vertical" intersections should work, where one road is connecting to the same road its overlapping (on the bottom left for instance) or what the OSM curves look like for those cases.
  19. Houdini 17 Wishlist

    Normally it should open the console the first time it prints anything, if you are printing from a wrangle, make sure your code is actually executed, like by making sure you have input points, in case you are running over points for example. Otherwise it may also print it to the (python) shell, so maybe try to restart houdini with a different desktop to make sure it isn't open already, so it should open when you try to print your first thing.. Also, from a dutch swamp ey..? me too
  20. You could add a line between the two points (with an add sop for instance) then append a measure sop. Then you could add the "perimeter" attribute to the ones visualized in the viewport, opening the menu with "d" while holding the cursor over the viewport, inside the "Visualizers" tab Or look at the perimeter attribute in the spreadsheet. unless that is what you mean by procedurally.. in that case I wouldn't really know how to do that non-procedurally. Although, I guess if you really want, you could use the construction grid to measure the distance, but you would have to align your objects in such a way that it lines up with the axes of the construction grid, which seems more hassle than its worth. Or you could build your own python tool of course.
  21. Houdini 17 Wishlist

    its there in the documentation :http://www.sidefx.com/docs/houdini/vex/functions/index.html just use ctrl+f on that page and you'll find: http://www.sidefx.com/docs/houdini/vex/functions/printf.html it will print it out to the console
  22. printf

    generally yes ;), %d will work with most "number" types same as %f, the difference between them is mostly formatting I think. For instance with %d, it will limit the amount of decimals in the output string, whereas %f will try to keep as many digits behind the decimal point as possible. There are some other tricks that you could use, such as %02d. that will pad the start of the output with zeros, so you can do a more easy alpha-numeric search for example personally, I never had to use anything other than %f, %d or %s.
  23. Try Except in VEX alike in Python?

    yeah, ok I think I see what you mean now, I would also love stuff like: setpointattrib(0, attrib, @ptnum, point(0, attrib, otherSourcePt)); to work.. (I understand its ambiguous, but some auto casting of variables mid-code-line would still be nice) The functions from Thomas are workable they will result in almost 200 lines of code to make all checks, the strongly typed way (unfortunately I cannot share the code :/ )
  24. Try Except in VEX alike in Python?

    Vex is a highly multi threaded language, I think adding try-catch/except logic would seriously slow it down. most value errors at least, will just return 0, as VEX is strongly typed. (like Atom Mentioned) Rather than crashing the node, its probably better to compare your values to 0 in some cases (and if the expected value is non-0)
  25. Reverse curve direction not working

    to check the (counter-)clockwiseness, you can enclose the primitive (in the curve sop directly, in a primitive sop or an ends sop), then check if the primitive normal is up or down. (if your curve self intersects, there obviously may be issues with this or any method)