If I have a mesh parented to one bone that flips on the x axis, how can I do so without flipping the normals?
I am flipping the mesh by scaling the bone by -1 on the x axis.
Why are you doing that?
Here, I’d invert the normals in the material, with a driver from the bone’s scale.
Well, I’m actually using some advice I got when I posted a question about the same topic.
I still have a lot to learn about Blender, so I’m trying different things.
How do you invert the normals in the material itself? I wasn’t aware you could do that.
Subtract the normal vector (geometry/normal) from 0,0,0 using a vector math/subtract node, plug it anywhere demanding a normal. Use with caution in the case of normal maps, I’d have to play with it a bit to be sure of the right way to handle that situation.
And for the mouth, I’d just move the mouth bone, not scale it. If you want, you can use a constraint to copy position from the tail of a scaled bone, same thing.
Oh, I’m not actually using any normal maps… Just a plain bsdf shader.
At first I thought you meant to configure the nodes like this.
Basically, yes, except you’re subtracting your normal from 0,0,0, not subtracting 0,0,0 (or whatever that vector field has) from your normal.
And of course, you’d only want to do it when the bone scale for the relevant verts was negative (less than zero).
Hmm… Okay, I’m still a little confused (I’m sorry I’m a slow learner).
I also tried your other advice, but I’m not quite sure I got it right.
http://pasteall.org/blend/index.php?id=52246
Nope. What I was saying is, if your mouth is off-center and you want to move it to a different side of the face using a scale operation, you can do it like this (yours on right, mine on left, constraint shown):
Okay, I tried what you suggested…
http://pasteall.org/blend/index.php?id=52247
But I can’t seem to get the mesh to flip.
Are you saying I should only move the area around the mouth?
Thank you for being so patient with me.
offtopic question: how do you work with such a small UI? are you using a cinema projector or what?
Just a regular PC monitor.
Yes, that is what I’d recommend.
In 2.79, you could have used an extrapolated transform to copy scale (it would read 0 to negative scale the same as 0 to positive scale) but it looks like the fixed that bug in 2.8 (along with a whole host of ways that constraints are treating scale more appropriately).
I’m currently trying out a 32" 4K. Probably will return it, it’s not worth the money, although I might try to pick something similar up used.
That might be a bit tricky… I’d prefer to have a bone controlling it rather than the graph editor. It’s also difficult because I have actually tried only moving the mouth before and it kinda just deformed the rest of the mesh.
This picture is a bit exagerated because I only made one bone for this example, but it resembles the same problem.
That doesn’t make any sense. F-curves for all objects, including bones, are in the graph editor, but you don’t need to use the graph editor for any object. The graph editor is a tool that primarily lets you tune interpolation.
Then a scale is also going to kinda just deform the rest of the mesh.
I’m afraid I’m not sure what you’re indicating in the pic.
I can’t move the mouth side to side in my model without having the muzzle become deformed because of it’s geometry. It might be helpful if I post the file.
Here you go!
http://pasteall.org/blend/index.php?id=52252
I see how it works now. It would be possible with a “mouth bone” but would work best with a different mesh, one with the opening modelled in the center for the unrigged position.
If you’re happy with the fact that it collapses on its way from one side to another, you can correct the normal in the material if you want. The normal may still affect some modifiers and constraints.
You could also data transfer normals from a non-rendering copy with inverted normals, with a driver to set modifier influence based on bone scale.
Other ways to do this would be to create the hole via transparency in the material (probably using a decal with object coordinates from an empty parented to your mouth bone) or to create the hole via a boolean modifier.
Okay, I will try that and then follow up.
I am so sorry for the late reply! I think the best method might be to have a few different muzzles, with a different opening for each one. I just need to keep track of which ones appear in the final render.
That sounds like a good plan.
Thank you very much for your help!