Archived post by inside_the_mind

Can you not just use a transform2d into a blend with a mask?

If you need them in a grid you can use a stamp points and add an attribute that controls which pattern goes where

Use a layer properties to assign whatever size you want to the stamp points

For anyone interested I submitted and RFE and the initial response was basically what Alex said as far as making segment by connectivity resolution independent. The official response: “`I’m not sure how this could possibly work.
Currently, when ids are collapsed, they will have the segments sorted by their bottom-left-most pixel. This makes for a consistent result cook-to-cook, but cannot possibly remain the same when you change resolution. When you increase resolution you change the shape of islands, that may change the order of the bottom left pixel.
In this case, the green & pink squares swap because the small square is slightly higher than the big square. But at lower resolutions this is not captured and so they tie, so the small square is sorted first. But at 4k, the big square gets the first id as it now is generated a pixel lower than the small square.
Any scheme imaginable will have this sort of tie breaking problem. And this assumes that the change in resolution doesn’t discover new islands that were missing in the low resolution; or join islands that were falsely separated by incomplete lines that now are revealed to not be joined in the high res.
The only solution is to pick an ideal resolution that you determine will author the “official” ids, and copy those into the high resolution segments“` And so I clarified to having a solution that allows the user to create a resolution independent mask that is based upon ID’s. I tried to clarify that this type of workflow is often not reliant on ID numbers as the locations of the masks are unlikely to change and so being able to just select locations where the ID’s reside would be perfectly acceptable and more resolution independent(you can still run into issues if islands are merged at lower resolutions but not at others. But adding an additional location selector would resolve that issue.)

This was the response to that: “`From our developers: The UV Map By ID in “Center” mode will output the center of each of the islands. So one could: a) resample to a fixed canonical size, segment by connectivity and collapse IDs to get the “official” ids. b) UV Map by Id to get the center of each island, layer to points with unqiue values to get a point per island and set its location to the center c) do the segment by connectivity in the high res size, uv map by id to get centers. d) For each segment in c), find the closest segment in b) and copy b’s id number over.
This probably can be made into an asset to make this approachable and deployable. You can still have surprises if the higher resolution causes islands to leak together, however, but it would avoid the re-sorting problem.“`

I felt this was not a great solution and I had already had the idea and started working on a location based solution. What I ended up doing to was basically taking a bunch of positions parms in OCL, looping over them and sampling the ID at that position and then setting any ID that didnt match any of the ID’s that were sampled to -1 and the rest to 1 and then doing a ID to mask with the ID field set to 1 as any ID’s at the selected locations would just be 1. This makes it more resolution independent as the only issue that should arise is if islands are merged at one res and not at a higher res. Simply upresing while selecting positions should totally alleviate this issue

Anyway that’s my ted talk. If you want to not worry about any of that here’s the HDA I built that does all that and also takes an optional point input that allows for some more procedural stuff if you are clever with things

Attachments in this post:
http://fx-td.com/houdiniandchill/wp-content/uploads/discord/20264405/19/26/HouMats-ID_Sample_1.0F.hda

Archived post by flakypastries

yeah I am not sure this is possible either, since the texture is part of a shader evaluation but LPEs deal strictly with rays.

Depends on the Houdini version. In H21 we now have the RaySwitch VOP (finally!), so we can build a shader-based setup like this. If Efficient Emissive Sampling is on, Karma treats this like a light and contributes to direct rays.
Yes it’s hacky but it actually works fairly well. You could expose a bunch of subnet inputs to facilitate later editing on the stage. And also in 21 we can then supply a stencil map via RGS on the card to cut it out. What I have not confirmed is how well Karma does importance sampling with this method (MIS on textured lighting effects has been hit or miss with Karma in my experience)
But this at least gives easy separate controls over camera rays vs scene rays.

@Jonesy you were asking the other day about possible applications of the RaySwitch VOP

on the topc if LPEs, here is a list I have been maintaining of Karma LPEs as they crop up. These syntaxes have been tested in production but if anyone spots a problem please let me know. And if you know of other useful ones, I would love to know what they are. There are all kinds of things you can do.
gist.github.com/tcrowson/5d033817c63cf6cf27f3703e2df9462b

Attachments in this post:
http://fx-td.com/houdiniandchill/wp-content/uploads/discord/20265305/08/26/image.png

Archived post by janhebein

I added a library feature to my little colorpicker tool. You can save colors now, rename them, put them in folders. Its also drag and droppable to sort and organize them.
Maybe its helpful to someone. Since i am colorblind it helps me a lot to identify colors quickly without using a browser tool. Works also with hotkeys 🙂
github.com/janhebein/Iris-ColorPicker

Attachments in this post:
http://fx-td.com/houdiniandchill/wp-content/uploads/discord/20260105/06/26/explorer_K1Rj9nSDzR.mp4

Archived post by benandersen

I made some hair tools. I’m curious to see what the community thinks of them and whether they’d be worth trying to sell. It’s a project I’ve been working on, on and off, since 2017/2018 for christopher robin.
We had this problem where framestore had delivered a final groom without any guides and expected us to deform it, so I started building up these tools to avoid rebuilding the groom from scratch and hoping it matched. I found the default houdini guide deform tools a bit lacking.
These tools can select good representative guides and deform a dense groom, while doing a reasonable job of retaining the shape. It has some tools for post processing/resolving collisions and a husk procedural with the same capture/deformer logic.
If you have any time or inclination to try it out, this zip file has the hdas and a scene that demonstrates some workflows and examples.

Attachments in this post:
http://fx-td.com/houdiniandchill/wp-content/uploads/discord/20264105/04/26/iso.hair.1.12.apprentice.zip

Archived post by aswaab

I made a handy little guide for myself to working with ACES in Fusion, since I am consistently forgetting or overlooking things I need to remember. I’d love if someone can give this a look over and let me know if I got anything wrong, or am missing anything.

“`-CG renders in ACEScg color space -All elements converted from their source space into ACEScg, if not already in that color space.
-Two methods of working in Fusion:
1. Display LUT in the viewer – Choose OCIO Display – Edit it to make sure it is pointing to an OCIO config (ACES 1.3, for example) – Source Space: ACEScg – Display: sRGB – Display if working on web, rec709 for film and TV, usually. – View: ACES 1.0 – SDR Video – This will not affect rendering. To bake in the Display LUT, you need option 2.
2. Display LUT as a Fusion Node – For viewer, make sure no LUT is active – Add OCIO Display node at the end of the chain. Compositing happens before that. – Make sure the OCIO Display Node is pointing to an OCIO config (ACES 1.3, for example) – Source Space: ACEScg – Display: sRGB – Display if working on web, rec709 for film and TV, usually. – View: ACES 1.0 – SDR Video – If you render this, it will bake the display LUT, including the ACES tonemapper, into your rendered files.
->Shows usually provide a LUT with their own formula and color decisions that should be used instead of the generic ACES + tonemapper conversion.
Difference between OCIO Display and OCIO Colorspace – Display has the ability to use the ACES Tonemapper, Colorspace does not. – So, Colorspace is for color conversions, but Display is for viewing. – You can bake the display with the tonemapper into a render if needed.
For Delivery of files – For viewables, if baking in the display transform, run comp through OCIO Display, going from ACEScg to sRGB or Rec709 Display, with ACES 1.0 – SDR Video View. Set the Color Space and Gamma Space on the saver node to Keep. Do not enable Apply Curve. – If passing off to another artist, keep in ACEScg space without the tonemapper and render out exr files. – If passing off for final delivery, usually the color space needs to be converted from ACEScg to ACES2065-1 using an OCIO Colorspace node before going to the saver. EXR is typically the delivery format.“`