Help creating a procedural texture for only part of an input texture

Hi, I’m working on an animation that involves scaling and messing with the shape keys of an object. I noticed when I was working on a different project that the textures were UV’d to the object faces, and when I altered the scale/position of the mesh the texture would have non-uniform scales as well (makes sense). I wanted to know if it was possible to make a texture/material that could grow/shrink/stretch with the object without extreme texture stretching.

This is sort of the effect I’m going for, where I want to keep detail in one section, but as the object scales it generates more texture rather than scaling the existing UV.

From a quick test, I have a face that I’d like to keep the same size and increase the yellow field around him without stretching. The actual texture that I want to use would have more detail than the yellow, but I think that the process would be similar.
proc1

I’m fairly new to the texturing/shading scene, but I wanted to give it a shot so I could use it in an animation. Any help or suggestions would be greatly appreciated!

Hmmmmm a tricky question, (I like tricky ones). To get the texture to extend the border you can set the image node to single and extend (this will extend the yellow background as you go out.)
The problem is the mapping. You will probably have to key-frame the scale and location of your texture mapping. Here is an example file:
Smile.blend (998.2 KB)

If the background is more complex and has a pattern it would be more complicated, you could treat them separately, as in the second sphere I made, I am not sure exactly what you want to do (regarding the background).
If it was a real balloon the face and background would grow/stretch a bit you can control how much by tweaking the scale and location values.

I can not think of an easier way, maybe somebody else can.

Thanks for your example! I think that this will work for my needs, but I’ll leave the topic open for the time being to see if anyone else has another way to do it.