say i have a primitive attrib with a texture path in it... But i want a uvquickshade to use this string value..
the easiest way I've found to get to it, is promoting it first to a detail attribute, then in the uvquickshade param box put this in -
`details("../attribpromote1/", "texturePath")`
where attribpromote1 is the node before the uvquickshade... and texturePath is the string attribute name.
Showing posts with label attribute. Show all posts
Showing posts with label attribute. Show all posts
Monday, 9 June 2025
"details" to get string attribute into uvquickshade
Tuesday, 24 September 2024
solver transfer attribute, eg. colour accumulation
i always have to look this up on cgwiki...
the left stream is some sweat drops falling down a surface.. the right stream is the surface.
It goes into a solver
The slight 0.0075 blend in the blendshape causes a slight fade of the attribute being transferred. Leaving it at zero will result in an absolute solver-accumulation of the value.
Labels:
accumulate,
accumulation,
attribute,
attribute transfer,
buildup,
cgwiki,
color,
colour,
solver
Tuesday, 31 January 2023
exporting custom attributes in Alembic to Blender
We use the setattribtypeinfo function to force an attribute to be a color type. Just like Cd usually is.
This will probably streamlined and not necessary in future versions of Blender, but it seems like it is still necessary atm (Jan 2023)
using a point wrangle, set to detail (so it only runs once)
setattribtypeinfo(0,"point","attributename","color");
here I'm forcing an attribute called attributename to be recognised as a color type & not just 3 floats.
I'm using the rop_alembic output to write the abc file.
Tuesday, 2 April 2019
separating objects for booleans/other things
Case example - you have a
To separate out an object, maybe for booleaning, or to avoid intersections when doing some other sort of calculation, make a point class attribute (connectivity)
then in a point wrangle do something like this-
@P.x+=@class;
@P.y+=@class;
This should separate the pieces enough. If not, use a multiplier.
Then promote the class to a primitive attribute - for some reason Boolean Fracture doesn't carry across the class attr to any newly generated points when it is left as a point attr.
Do your booleans...you might want to scatter some points on the surfaces or copy some turbulent grids onto the object points.
Bring the class attribute back to point level and then do the reverse transformation
@P.x-=@class;
@P.y-=@class
link any multipliers you might have to save time changing values in multiple boxes!
To separate out an object, maybe for booleaning, or to avoid intersections when doing some other sort of calculation, make a point class attribute (connectivity)
then in a point wrangle do something like this-
@P.x+=@class;
@P.y+=@class;
This should separate the pieces enough. If not, use a multiplier.
Then promote the class to a primitive attribute - for some reason Boolean Fracture doesn't carry across the class attr to any newly generated points when it is left as a point attr.
Do your booleans...you might want to scatter some points on the surfaces or copy some turbulent grids onto the object points.
Bring the class attribute back to point level and then do the reverse transformation
@P.x-=@class;
@P.y-=@class
link any multipliers you might have to save time changing values in multiple boxes!
Subscribe to:
Posts (Atom)