2
$\begingroup$

I made a head and colored it proceduraly. Now I want to deform and move it, but the procedural work won't "follow" the mesh as a UV texture would. Is there any way to do it?

I don't work with scripts, so I would like a solution as "code-ignorant friendly" as possible, if possible.

By the way, it's all made with color ramps, math nodes, texture cords, mapping and (of course) procedural textures, and I don't want to bake anything (personal project). Guess this info may help.

Maybe constraints may work in some way, I guess. Didn't try it out yet though

original_and_moved Please ignore the left eye, I am still trying to figure out how to work with array mod alongside procedurals.

Nodes setup: enter image description here

I am essentially using mappings set to texture to control where transitions made by the color ramps may occour and using it as mask to determine where each separated material will appear or how it will blend to the other materials. Nothing fancy.

Important

I missed essential info before, the mesh in the "moved example" was transformed with lattice mod! I moved the mesh down just a little bit so I had no noticeable clue that could make me logically suspect the lattice, then proceeded to ask for help without further investigation. Through these 3 days I learned about coordinate spaces and understood further the texture coordinate node. Procedurals works with coordinates originated on something's origin, in this case the mesh's origin. That's the reason they don't deform with the mesh, but move with the coordinates.

Also, this was my first time working with procedurals on this scale and manner, I didn't know the procedural work, with the presented nodes setup, was expected to behave perfectly as a UV texture as long as there's no deform on the mesh, only moves and rotation. And I didn't know about coordinate spaces yet. Then I realized that's the reason my question has no answers yet even tough it's "simple", maybe it's because everyone was thinking it was an issue they never saw, since they didn't know about the lattice.

Just bear with me, I am still a newbie afterall. Hehehe...

I just answered my question right now, there's no issue anymore, but you can still enlighten us more if you want

$\endgroup$
  • 1
    $\begingroup$ Welcome to the site. A few things, dont take it personally that I edit your post, like you said "let's cut to the chase," that is what we want in questions, just the necessary information to formulate a good clear question. Please add what texture coordinates you are using (a picture of the nodes might be good). Last SE has a reputation requirement for everything because is is a system of trust. No offense but when a new user comes here SE does not know if they are a spam bot, a troll, or a great new user. $\endgroup$ – David Jan 20 '17 at 0:30
  • 1
    $\begingroup$ @Vinis To reply, just type "@" and then the person's name! $\endgroup$ – 10 Replies Jan 20 '17 at 1:36
  • 1
    $\begingroup$ Your images are too small its hard to see understand anything about your node setup. Anyway I bet it is all caused by procedural textures using the Object Texture Coordinates. Since deforming an object only moves it in Local Space, not World Space the textures won't "move along with it". For this sort of work it is most common to use UV Texture Coordinates and not so much procedural ones. You would probably be advised to unwrap your mesh and use UV coordinates instead for your textures, since they are per-vertex and stick with your mesh as it deforms. $\endgroup$ – Duarte Farrajota Ramos Jan 20 '17 at 2:07
  • 1
    $\begingroup$ @Vinis hay glad to see you got this figured out. Now, instead of editing your question and explaining what you did to solve it, post an answer. This is exactly what answer are for, so the question and the answer(s) can be separate. PS it is perfectly ok to answer your own question. $\endgroup$ – David Jan 26 '17 at 17:36
  • 1
    $\begingroup$ Hi, feed your procedural textures with UV coords. You won't be able to have 3d procedural textures, only 2d, but the texture will follow deformations. $\endgroup$ – Jaroslav Jerryno Novotny Jan 27 '17 at 16:35
1
$\begingroup$

It was the lattice!

As you probably know, procedurals need some coordinate space to originate, and it can be something's origin or the world's point zero. In this case the nodes setup could generate a perfectly fine texture that could move along with the mesh as a UV, but since procedurals aren't really a texture but a "projection" (can't think of a better definition) they move with the mesh's coordinates, but not with the vertexes. And this means that as long there's no deformation on the mesh everything is fine... But the lattice was deforming the mesh...

Hope you find it useful if you're started on procedurals. For this, coordinate spaces are really important. I came up with a metaphor about it:

Think of procedurals as a beam of light made of x-rays that need something else's origin as it's emitter. As it reaches the mesh's surface, it illuminate the surface the way it wants then go right through the object and keep going, because it's x-ray. Changing the surface won't change the beam of light

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.