i think uvmapping would be best, maybe, i dunno… yeah its what i would do, but theres probably techniques i dont know about, somewhere, somehow… jawnty forever!
If it is a mesh object, you will have to uvmap (not good for procedurals, difficult to get rid of seams)
if it is a nurbs surface I believe the “UV orco” buton in the edit buttons will do what you need. There is another thread with more detail (and the correct answer if I am wrong), but I can’t seem to find it.