Showing posts with label karma. Show all posts
Showing posts with label karma. Show all posts

Tuesday, 20 October 2026

plate camera projection in Karma or Solaris

How to do camera projections in Karma/Solaris.
 
Coordsys is the magic node. Below are the settings.. I want to project a plate image onto /grid using /camera1... so put their names in the boxes shown.
"tex" is an arbitrary name, we'll use it to access the camera space coordinates later, in the material. This is all that NDC stuff.
Just in case the images vanish from this site... Primitive Path should be your grid/projection geo, same again for the Primitives. Coordsys name should be something like "tex" and Target should be your camera path. Everything else can be left as default.


Material X Position is the node that gets you access to the NDC stuff..
We call on "tex" and the ":ndc" gets us to that space. Following that we get a vector, where we only need the X and Y...........which we separate out and combine to make a UV coordinate for the image sequence.


Assign your material to the projection object/grid and then switch to a Karma render view to see the result (VK does NOT display this correctly)!
If it doesn't work...check all your name paths!

Thursday, 8 October 2026

rendering with karma/solaris in a more "normal way"

 Just a way to work as if you have a render view, instead of in the viewport.

 In Stage, make a Clone Control Panel tab (where your parameters are)


click the Clones with a arrow button, make a new Local one, select Karma CPU or GPU..
Drag your karma render settings node onto the "Node".
Now you can toggle a render on and off in a Render Gallery window & it will save a snapshot each time (might be good or bad....).

Tuesday, 9 June 2026

refracting aovs in karma

 make a custom attribute, i've called it poso2, i'm hijacking the Position value for this & fitting it between 0 and 1.


in karma, use the geompropvalue to load it in to the shader. here i use a mtlxdot because apparently it doesn't change the value of the attribute (?).  i plug it into a karma aov thing and name it "poso", using the $OS. Here i'm using the float value to drive a colour ramp.


In the render settings, aov section, scroll down to "extra render vars" and add one. put in your name - "poso" in our case. set format to color3h and data type to color3f.
The source name is :
C<TG>.*L
and Source Type is LPE.
I actually used the settings created when you select Glossy Transmission for this, then changed the name to Poso. Seems to work though!

Thursday, 23 January 2025

Karma per light aov

per light AOV stuff with Karma.

In your light, in the Karma tab, add a name to the LPE Tag. Here I've typed "A".

On the right hand side of all the AOV bits, you can tick Split per LPE Tag - ON EVERYTHING




Wednesday, 22 January 2025

crowds in solaris/karma

 Bring in crowd from obj using SOP Crowd Import node (here it's still packed agents). Create Instanced SkelRoots is preferred I think


Stylesheets don't work with Karma/Solaris (as far as I know!) To target props/shapes in a crowd you're best off using Collections. Here we're making collections of the hammer prop. 
It's important to tick Allow Instance Proxies in Collection!
The syntax is %reference:/path
In the example it's %reference:/crowd/agentdefinitions/ball/shapelibrary/l_hammer


Here's the stage scene outliner thing

Assign the materials to the collection by typing in the name. Eg. %hammer

Be sure to expand the Material Binding and tick Include Descendant Primitives in Collection
You might have to change the Strength to Stronger or Weaker than Descendants too.


I couldn't see a good way to access point attributes (eg. per agent float/int values) but Material X does read them - so I guess use switch RGB and stuff like that?
This seems to be the user data equivalent-

This seems to be the best switch RGB equivalent-

Just plug em in like this - just like Arnold

And ta da...attributes and collections targeting different bits of a crowd!