Bezier with bevel, 2 colors intercalated (Cycles)

I have a doubt that I think may be basic …

I have to make a great 3D scheme in blender, all very well, but my goal is to have tubes with green and yellow color interleaved.

I get it, but when these Beziers make a change of angle the frequency between colors changes (See image 1). Forming some confusing bars. Varying the normal I can pretend to a similarity between bars, but some cases I can not. And a manual work too extensive and imprecise.

Abstract: I want a bezier with bevel with a texture of two colors that are intercalando with the same frequency independently of the angle and the bezier normal.

What do I do wrong?

I have tried to do it with Emission, the problem is the same.

Thank you very much for your answers.



The problem is that auto-generated UVs for bezier curves are not as efficient as manually UVs made for meshes.

You can convert bezier curves to meshes and unwrap their UVs.
Or you can use cylinders with an array modifier fitting curves length with a curve deform modifier.

Moved from “General Forums > Blender and CG Discussions” to “Support > Materials and Textures”

Thanks !!

But this is a very wrong, because I need more schemes and this method is very slow.

But thanks!

Someone has a other method?

make one small UV map with green - yellow bars
then use curve with array !

happy cl

Try using object coords as basis instead. Unless you want control over which color of the two ends up where that could work well for at least straight patches of lines. I would setup a material node group like this where pretty much only the texture input is exposed and controlled with an external node. For ease of fine tuning, either expose coordinate offsets and scale, or choose to link in empties as a source coordinate. The basis would then be a simple checker material. You might want to assign dupes of material to portions of line that doesn’t run straight.

So basically, a simple checker driven by object coords where the actual coordinate is given from an empty. Rename the empty for each material copy you need. You may have to scale empty slightly to avoid line showing checker in a direction it shouldn’t show, but should at least give a more concise result.

Edit: Oh, bezier with bevel? I haven’t tried the above with that kind of object, so not sure it will work.