1
$\begingroup$

I'm trying to create a dance animation with a hair particle system. In the finished version the model would be fully covered. When particles are added, the texture seems to shift. I don't want this. With no hair, the texture does not move. I want the hair to not look like the texture is moving around. How do I achieve this?

I created a video where half the body is covered in particles and the other is blank to show the difference.

Video link: https://youtu.be/spOsSm0FhWM

File:

$\endgroup$

2 Answers 2

3
$\begingroup$

You have set the material to use the Generated output of the Texture Coordinate node. I'm not sure why this does not affect the material on the surface of the mesh (probably because the material takes only the base mesh into account without the movement by an armature).

But for the hair it takes the bounding box of the object into account. And this means, the coordinates always go from 0 to 1 on each axis, no matter how much the dimensions of the mesh are. You can imagine that a dancing character changes in width, depth and height just regarding its silhouette. As an example here just in 2 dimensions, on a simple square and then on the silhouette of the dancing character (I've taken just a few frames), just as overlay to make it easier to see:

dancing character

If you would instead use UV coordinates, the texture coordinates of the hair would be dependent on the faces on which they grow and move together with them (I've made the hair shorter to have less dynamic movement so you can see the texture better):

dancing with uvs

uv coordinates

$\endgroup$
3
  • $\begingroup$ Oops OK my bad you're right it works with UV ;) $\endgroup$
    – moonboots
    Commented Feb 15 at 19:04
  • $\begingroup$ @moonboots Yep, at first I didn't really understand why Generated works with the mesh but not the hair while UV works with both. But after thinking about it now it kind of makes sense to me. $\endgroup$ Commented Feb 15 at 23:38
  • $\begingroup$ This worked great. Thank you for the detailed explanation. Can't believe it was that simple. $\endgroup$ Commented Feb 16 at 4:02
2
$\begingroup$

Instead of using "Generated", just use e.g. UV as input texture coordinates:

enter image description here

$\endgroup$
1
  • $\begingroup$ Yep, that's my answer. $\endgroup$ Commented Feb 15 at 9:28

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .