Duplifaces Weirdness

(malkyne) #1

I am seeing some really weird behavior from Dupifaces. I’ve figured out that it will orient the child objects so that the Z direction on the child object points out in the direction of the parent mesh face normals. However, I cannot, for the life of me, figure out how it decides what rotation to use around the normal.

Have a gander at this screenshot:

http://lilly.csoft.net/%7Emalkyne/images/blender/duplivertebrae1.png

Here is the wireframe, where you can clearly see the normals:

http://lilly.csoft.net/%7Emalkyne/images/blender/duplivertebrae2.png

Okay, so I’m stumped… how do I get those last two vertebrae to face the same direction as the others?

0 Likes

(_BackBONE_) #2

Do You have >Rot< (Anim Settings Pannel) switcht On or Off?
Just did a few tests. The only way to rotate dupliverted Objects is by having Rot on.
otherwise they will align in the same direction.

0 Likes

(Lopaka79) #3

Tty doing a dupliframe to set rotations and IPO for your model

0 Likes

(malkyne) #4

Tragically, unlike Dupliverts, Duplifaces don’t have a Rot setting.

0 Likes

(Fligh) #5

Try selecting the bottom Control Point of the Path Object in Edit mode, hit T (tilt) and rotate it to line them up. Or maybe it’s a Bezier Curve so all that’s happened is the Handle of that Control Point was rotated wrong when you first set it up?

%<

0 Likes

(malkyne) #6

I investigated that possibility, but I need the strips of duplicated items to stick closely to a mesh which is being deformed by a normal armature.

0 Likes

(malkyne) #7

Heheh, good try. But Duplifaces uses meshes – not curves.

0 Likes

(Fligh) #8

It looked as though you dupliframed a Plane in the top pic. I can’t make out if they’re Planes, Cubes or either of those extruded into a long mesh. Care to post the blend so we can all quit guessing?

%<

0 Likes

(malkyne) #9

I’ve got an NDA on this project. Really can’t post my .blends, unless I strip most of it out, or import them into a new file.

Basically, what I did is this:

  • Correct center, and clear/apply all rotation, translation, and scale on the vertebra.
  • Make a 3 x 110 grid, and strip off the right set of vertices (it won’t let you make one with 2 verts across). Thus, we have the long strip mesh you see in the screenshots.
  • Correct center, and clear/apply all rotation, translation and scale on the strip.
  • Parent the vertebra to the strip mesh.
  • Hit the Duplifaces button.
  • Rotate the original prototype vertebra around, until the vertebrae are all facing the right direction.The last vertebra was turned the wrong way. I then extruded one more square to see if it changed anything. The normals were wrong on that one, so I fixed them up. However, it did not fix the previous last one, and the new last one was wrong, too.
0 Likes

(Vertex Pusher) #10

Make a 3 x 110 grid, and strip off the right set of vertices (it won’t let you make one with 2 verts across). Thus, we have the long strip mesh you see in the screenshots.

… well I don’t get the “(it won’t let you make one with 2 verts across)” part because I did the same as you described but with a strip 2 verts across … And the “bug” I described below occurs especially when you have a non-manifold mesh with multiple adjacent faces even with a simple cylinder …

But any how there might be a bug with how DupliFaces handles non-manifold meshes if complex meshes are involved … I first tried with a simple cylinder and extruded some faces after the fact … no problems … then I tried with the suzanne monkey head in the place of the cylinder and the same weird axis rotation (starting from the point where I had extruded new faces) problem you have … I even unparented and saved and reloaded and tried again but the same results …

And BTW all the “Track” and “Up” settings don’t seem to matter at all with Duplifaces …

So maybe you should delete and save and reload then recreate the mesh strip from scratch if you didn’t in the first place … apparently there is some mesh data that affects the orientation of duplifaced objects that end users are not aware of (definitely not an issue with normals) …

But could I ask why you are using DupliFaces in your project ? You could just as well use the Array Modifier instead and use the Curve Modifier in conjunction with Hooks to animate your mesh(es) just as well (if not better) … maybe you missed ZanQdo’s (I think that’s his Nom du Blend) demos of the above modifiers ? Using the combination of the above modifiers is ideal for vertebra/spinal columns … Personally I found the entire “dupli” family of modeling a bit buggy when I tried it …

0 Likes

(_BackBONE_) #11

:o:ouuups:o:o ,i should read more carefully next time. I was testing it with Dupliverts.
Sorry!

0 Likes

(malkyne) #12

Thanks for the excellent reply!

If I try to make a grid that’s 2xN grid, it changes my 2 back to a 3. Dunno why.

But any how there might be a bug with how DupliFaces handles non-manifold meshes if complex meshes are involved … I first tried with a simple cylinder and extruded some faces after the fact … no problems … then I tried with the suzanne monkey head in the place of the cylinder and the same weird axis rotation (starting from the point where I had extruded new faces) problem you have … I even unparented and saved and reloaded and tried again but the same results …

Interesting!

So maybe you should delete and save and reload then recreate the mesh strip from scratch if you didn’t in the first place … apparently there is some mesh data that affects the orientation of duplifaced objects that end users are not aware of (definitely not an issue with normals) …

Yeah, I was trying to figure out what on earth might be stored in the mesh that would be doing this. Unfortunately, because Blender uses a really obfuscated binary file format, I can’t realistically go snooping in the .blend files for clues.

But could I ask why you are using DupliFaces in your project ? You could just as well use the Array Modifier instead and use the Curve Modifier in conjunction with Hooks to animate your mesh(es) just as well (if not better) … maybe you missed ZanQdo’s (I think that’s his Nom du Blend) demos of the above modifiers ? Using the combination of the above modifiers is ideal for vertebra/spinal columns … Personally I found the entire “dupli” family of modeling a bit buggy when I tried it …

So, I did think about using the array modifier. I actually experimented a little with the array modifier, with a repeating cube, when I was getting frustrated with the duplifaces problem. I didn’t try it with a curve; I used an armature, instead. It distorted the heck out of the array items – since it was deforming them as though they were one mesh, rather than treating them as articulated pieces. I don’t want my vertebrae stretching and twisting all over the place.

Just now, I’ve tried it with a curve, and I’m still seeing distortion in my cubes as the curve angle gets sharper. Given that the vertebrae are fairly flat, the ribs (which will ultimately be animated in similar fashion) are already tapered, and that the spine is ultimately limited in its flexibility, it may be an acceptible amount of distortion.

I’ll do a test with it, to see if I can control it adequately. My tests with the cubes have me a little worried about my meshes sliding around all over the place.

0 Likes

(malkyne) #13

Okay, yeah, curves seem to be an excellent way of producing lots of unnatural stretching and sliding that are very hard to control. I think I prefer my B-Bones, to be honest.

0 Likes