Feather template transition/blending for material/UVtexture

   230   0   0
User Avatar
Member
3 posts
Joined: 4月 2018
オフライン
Hi. I'm working on a feather grooming project and there is something that I can't seem to get around and it's to do with blending textures on the feather templates.

What I'm trying to do is something like in the image attached where the feather pattern transitions gradually from one to another and another etc. it's not something I'd use a Cd attrib for because sometimes the patterns need to be a bit more elaborate. I know from the Toucan example files I can do some type of gradients along the barb and shaft and get a bit of control over my colors, but Ultimately it won't give me the same control as uv textures. I also thought about super sampling the barbs with something like 256 points on a barb so I can bake the color from a texture into Cd attrib, but that would be prohibitively expensive when applied over a full groom. UV textures seem much more elegant.

I managed to get a workflow with feather template assign and feather template interpolate to use maps to drive the distribution of the various templates. What I need is a way to interpolate UV textures between the weighted templates. Not interpolate the UVs themselves (an option on the feather template interpolate node), which I kinda find useless because it linearly interpolates the UVs of different feather templates and I end up with templates picking up texture from where the interpolated UVs landed in UV space.
I think I could somehow make what I need to happen at rendertime in Karma if I am to parse the certain template weights and use this to blend between the templates' different textures, but then another problem is two templates will most likely not share the same UV position, so what feather template A sees under it's UV space, won't see what feather B sees under it's own UV space on it's own texture. I think I might be falling into a rabbit hole of some sort and there might be an elegant way I am not aware of or not seeing, or there are no tools to deal with this issue at the moment?

one remark I have about the template assign and template interpolate nodes is that in cases where I've had quite a few templates, I end up with some templates that I didn't specify in the template assign and I suspect it is in a way because painting the various template density maps don't cover some regions that should have templates assigned. So painting these involves some guesswork and trial and error. Something I'd like to suggest if someone like @KaiStavginski would be reading this, is to use a single attribute painted map (float) and the templates being assigned to value ranges(brackets), kinda like pins on a gradient ramp. Example painted map is 0-1 and then you assign feather template A to 0-0.5, template B to 0.51-0.75 and template C to 0.76-1.00 and you could have some sort of smoothing applied afterwards to blend the templates at the edges of their ranges, more or less diffusely. Otherwise you could have the gradient ramp pins themselves represent the weight 1.0 of each template and everything inbetween is a weighted blend between neighbouring templates. But this is a very specific and linear treatment, doesn't solve the problem of blending smoothly between lets say templates A and C, or B and G. A gradient between feather A and D needs to necessarily includes templates B and C. I still see this as a useful and if nothing else an intuitive way to interpolate feather templates in many cases. My main issue remains with the texture blending among template interpolations. If anyone has any ideas or can point me to any useful material, I'd appreciate this greatly. Thanks
Sorry for ranting, It's a bit of a read, haha
Edited by gorantrpkov - 2025年9月17日 07:39:08

Attachments:
feather_template_blending.jpg (132.9 KB)

  • Quick Links