Hi guys. Currently im rigging all my project models using empty groups, but it comes the time to start going into more advanced stuff, and i was thinking the correct way to rig a wire connected to different bones, using empty groups.
I am pretty new to advance rigging and i dont know how to do it. Ive watched some tutorials, but they all use automatic weights to rig wires and things like that, on harsurface models. Is there a way to rig wires just using empty groups method? any documentation or tutorial?
hi, not sure what you mean by empty groups
you should always use an armature for rigging
for wires, a spline might come in handy
I remember years ago I watched that tutorial : https://www.youtube.com/watch?v=raQs9f4x0gw
I think it’s quite good
With empty groups (when you parent the armature to the mesh you have a few options) i meant that since im not going to deform any bone, i think its better than using automatic weights. Thats my concern, since i came to think that rigging wires and such requires deformed geometry, so i cant use empty groups method. As i said, im not an advanced rigger so im pretty sure im saying a lot of nonsense :s
Thanks for the vid, i will take a look. All my robots look a bit plain without moving wires and stuff, its the only thing they need. I also need to learn how to rig piston type thingys.
OK… When rigging a hard surface object, don’t worry about using empty groups or automatic weights, or parenting the mesh to the armature… totally the wrong way to go. That method is for objects that will deform, like wires or hoses.
For the hard surface parts, leave each part as a separate mesh object. Then parent each mesh object to the bone that will move the object. This way, the mesh is a child of the bone and will move as the bone moves.
For wires & hoses, those parts deform, they bend and twist. Those parts need to be parented to the armature and have weight groups.
Yes, i already watched that tutorial and a thousand more. The main issue i have (again) is not how to actually rig it but how to implement the rig of the wire with the rest of the mesh/skeleton. In all those tutorials they show you how to rig but they dont tell you how you should implement that rig in your model.
yes you can both parent objects to bones and skin geometries to bones, all within the same rig
“empty groups” just means the mesh will be bound to the armature through vertex groups and an armature modifier, but the groups won’t be automatically filled in - you’ll have to weight paint your model
to skin a wire, it’s better to use automatic groups, you don’t want to be weight painting a wire, it’s a hassle
Bones can deform a mesh object using half a dozen different methods. The result of those different methods vary. For hard surface objects, you don’t want any deformation at all, you just want the part to move with the bone. So you can do hard surface object using 2 methods. With empty groups (as you call it) which are actually vertex groups. To do this with vertex groups, you’d have to select the group for a particular bone and select all the verts you want to be under the control of the bone and assign 100% weight to them. It’s actually not that hard to do, but time consuming. Or you could just parent the mesh object to the bone and be done with it.
Of course, which method you use will depend upon what your mesh objects are. Do you have several hard mesh objects, or one mesh object made up of several different un-attached meshes? If you have several mesh objects, parent them to bones. If you have one object made up of several non-connected meshes, then do the vetex group thing.
The video is from 7 years ago… :s im pretty sure new methods or techniques appeared since then?
The basics of how meshes & bones work hasn’t change much since that video was made. The main thing I try to show in that video is how to place the bones for a hard surface object.The bone’s root and tip, must be placed exactly where the mesh rotates or moves at, otherwise the how thing won’t work right. parts won’t rotate in the right way…
So, what you saying is that i can combine hard surface rigs with no deformation with organic rigs without any problems? thats the main thing i needed to know.
No, what I am saying is you can have 1 rig (armature) controlling both the hard surface and the organic parts. You have 2 methods for hard surface object like I described. Then you have 4 ways to deform an organic mesh, the most straightforward method is via automatic weights.
True, but sometimes, to get it ‘just right’, you have to get down and dirty and touch up auto weighting…
You can combine hard surface, fully weighted (or parented to bone) objects with weight painted objects. It’ll look fine so long as the weight painted object is painted 100% at the join. (And, if they don’t join, then the loop inside and the loop outside, or else it’ll look like your textures and normals swim along the mesh.)
I’m not a big fan of parenting directly to bones, but that might be because I have an inefficient workflow-- I like to be able to join and separate objects freely so that I can work on them together or separately. If I was doing everything efficiently, freezing a mesh the instant I started weighting it, that probably wouldn’t matter. But I’m not talented enough that I can do everything right the first time, I need to iterate. It’s not all that hard to weight solid objects: you select them, probably through some wireframe view lassos and ctrl-L select linked, select your weight group, and hit the assign button. If they’re already separate objects, it’s an ‘a’ select, two keystrokes more than selecting an object; if they’re not already separate objects, it’s no slower than making them separate objects.
Yes, i already rigged several characters using empty groups. Im not new to that… that was not my concern.
Thatts why i was using parenting with empty groups. Because in the end, logically i will have only 1 single mesh composed by several non connected parts (thats the only way character rigs can work). So yeah, my main concern was to mix fully weighted parts with deformable ones, as i said, i never got to the point of doing it so far. I think, as long as i keep the wires all quads, everything should be fine.
I watched DanPro tutorial, but he uses a mesh cage to englobe the deformation. My wires are going to move in several directions, not only up and down, so making a mesh cage is not going to work for me. Is the mesh cage necessary? he really does not explain the overall concept very well.
I also took a look to the bendy bones feature. Could this be applied to rig wires?
Totally, bendy bones are a good replacement for many situations where a splineIK would be used, although they are not a complete replacement. In your case, depending whether you want your wire to not stretch at all or if you’re fine with some stretching, and depending on the definition you want to have (one single bend or more) you can go for a chain of say, 4 bones with an ik and subdivide those 4 bones into say 4 bbones each. It’s hard to say without a screenshot or something
I concur with everything the experts have said here:
Separate meshes for each discreet part and “bone” parenting of the object to the bone for any mesh that doesn’t deform in itself.
Bendy bones for wires, hoses, etc that have one end fixed to one part and the other fixed to a second part that moves in relation to the first.
Optionally use an IK chain for the wires/hoses, etc. but “bendys” are the best. You can fix each end to another bone and they always behave themselves. You can set the degree of bend and stretch in an IK chain individually for each bone in the chain using the IK Properties for each bone.
Stretchable hoses can also be done with curves and hook modifiers BTW.
In order to help you properly, we need to see at least an image of the model and preferably a simple blend file. A solution around a hydraulic cylinder with cables/hoses attached is a simple rig using a stretchable IK chain for the cylinder and bendy bones for the cables/hoses, if this is what you are trying to achieve, just watch which bones inherit scale though…
Thanks guys, i dont have much time now but i will try to look into in when i get home. I will try to investigate bendy bones, cuz i think for my project is the most easy and direct way to do it (im just doing small wire tests for now) and i also will try to attach a blend file with the example i want to mount.
Hi, thanks for the blend file. Ive been looking into it but i dont really fully understand what you did. What is the purpose of the bezier curve? and again, how would be the process of mixing vertex groups with weighted bones? thats what i dont know how to do.
Anyways, this is the screencap of what i want to do. Very simple (just for training) wire from the squared entrance to the circular one. I could use just a fixed tube because the deformation is not going to be really noticeable (it only moves left and right coming exactly from the center) but for learning purposes i want to do it with a wire.
Note that i didnt even start rigging yet. And in the end all the mesh objects are going to be mixed in one single mesh splitted in different parts.
Thanks, i updated the blend file, with almost the final mesh and the provisional rig so you can see whats going on (note that again im not an experienced rigger). Im going to try to do something by myself to see if i can get somewhere.