A Philosophic Question: Procedural or UV?

As I am working on trying to create my photo realistic scene, I am running into questions of whether or not to focus on procedurally generated textures which have the advantage of being unique, non-repeating, and easily applied to complex geometries, or trying to apply existing images, through UV unwrapping which simplifies the realism, since they exist, but makes finding, purchasing, and applying unique textures (in cases where you can’t go get them yourself) a very laborius task, and that’s even before trying to effectively unwrap a complex mesh and applying said textures.

Thoughts?

I think it depends very much on the case. Some material are very difficult to get procedurally, some others fit better, anyway it’s always longer to get a good procedural material. If you have time , making a good procedural material that you can reuse or tweak is great.

If you need quick , fast and efficient result, generally by using one or two textures from good textures site is the way to go, as it’s way faster to setup . Maybe it should be the first thing to try, and if that doesn’t do the trick then maybe see what you can get procedurally.

You don’t always need to unwrarp, you can look at box mapping.
Sometime you can mix two photos with a cloud texture so the pattern look more infinite.
You can also make the material change according to distance. In some ways , that’s taking best of both worlds…

What I find a bit tricky with image textures , is the bump you get from that doesn’t always look good. Unless you use softs like awesomebump, but again it’s long to get something good, it’s not always worth it.

In the end, I think it’s good to practice a bit of procedural texturing because it can always get useful, but most of the time using textures from photo can do the job.

‘UV’ and ‘Images’ have connections but they are not the same.
UVs are only a custom coordinate system. Thought their most common purpose is to place textures into a mesh surface, they can have other uses.
Some procedural textures need UV’s for a correct look (BrickTexture comes immediatly to mind!).

Some procedural textures I create, also use image textures, so it’s quite difficult to draw a line between them.

In the end, it all comes to the needs for your project. Some procedurals are extremely heavy to execute in realtime, which makes them difficult to implement them into game engine, for example. Image textures, on the other hand are fast to draw, but not very versatile in terms of memory usage and if you need a greater resolution.

So you must take some time to think about the needs of your project, in order to choose which technic, if not both, to use.

ps. not voting, as the question is misleading.

Why is this an ‘or’ question? Use both! It’s like ‘should I use the keyboard OR the mouse to work with 3d?’ :D. The answer is definitely both.

I prefer procedurals myself - unless I need a specific image/iconography, however I don’t think Cycles current set of procedural textures give enough options to cover all bases. There are a few obvious omissions - and whilst they can be sidestepped by using OSL, I think a small expansion in the number and options would be hugely beneficial.

But I guess the real answer is - use whatever is appropriate for the job at hand - mix and match to give the best aesthetics with the least effort.

Not gonna vote since it depends on a lot of things. I’ll list a few here:

  1. If animated with something that changes shape, then obviously UV.
  2. If you need baked info, you have to unwrap anyway.
  3. UV based doesn’t have to look repetitive, but you have to spend time on it. Both setting it up, and renderwise due added complexity.
  4. UV based sucks when trying to use procedural noise, especially if you can’t have invisible seams. Some tricks exists to blend two different noises, but this also doubles the noise complexity, and none are perfect for all circumstances.
  5. UV can misbehave for no apparent reason. So many times I have just given up and simply gone box mapping instead.
  6. Procedural can get very complex. Often when that complexity is really not needed. This complexity adds greatly to rendertime, especially if multiple generator with high detail settings are used.
  7. Some patterns are just notoriously difficult to achieve without a huge number of math nodes.
  8. Don’t lock yourself into doing one or the other for this scene (or any scene). Think about what makes more sense to do for any given object/material, weighing in the pros and cons for each object. Even within a single material I will often mix up UV coordinates with Object or Generated coordinates.
  9. Don’t lock yourself into thinking that “photorealism” has to be brute forced. It’s fine to state your attempt, but nobody has to know how and where you cheated. Off course its often nice to know the cheats going on for own learning, but you don’t have to state it initially.

I didn’t mean to imply that only one should be used- It was more a matter of what do you go to first. I just thought it would spark interesting discussion and general tips and so far, it has.

Thank you, all.