Shader Mixing Challenge
I am stuck on a (simple but not easy) problem, and thought I'd take it to the Carrara community for some advice or suggestions. Maybe someone else has already solved this problem, and it's much easier than I am thinking it is. Or it could be because I am still a Carrara noob....
1) I need to be able to mix two textures (texture maps) on a sphere, with 50% of each map showing on each side or face.
2) I need the region between the two sides to slowly transitioning to the other (i.e., no abruptly changes). I also need to be able to adjust the width of the region of transition.
See the attached pic as an illustration.
So far, this is easy to do. However,
3) I also need to be able to rotate the texture maps in the shader (or rotate the blender). That is, I want to be able to select which half of the maps are visible. The rotation needs to occur smoothly, so I want to be able to define the amount of shifting in the map by degrees.
4) The two texture maps overlay precisely, so I need the two texture maps to rotate simultaneously. A 27 degree rotation in the first should mean a 27 degree rotation in the second.
5) I need to be able to animate the results, so manually shifting the two textures is not a viable solution.
What I have tried so far:
- Mixing two textures (as in the image attached) is straight forward, and there are several ways to do this. But it doesn't help with #3 to #5 above.
- Creating two separate spheres slightly askew and rotating them simultaneously works to some degree, but the region between the two textures changes too abruptly, and does not provide a realistic result, even in attempting only a minute variation in their centers.
I've also already considered creating an AVI file to use as the blender, with black/white regions slowly shifting horizontally. But this would be time intensive, and limits me in defining the rate of map rotation.
One more piece of information that might be useful: Light only shines on one of the 2 texture maps. The other map is self-illuminated.
Suggestions anyone? Am I missing an obvious and simple solution?
Thanks in advance for your help!