Triax Weightmapping pistons and other telescoping joints. Is it possible?
Tramp Graphics
Posts: 2,405
As the title suggests, Is it possible to rig telescoping joints, such as a piston using Triax Weightmapping? For instance. since I have been unable to find one, I ned to build a powerhammer, much like these:
However, I don't want to make the piston slide up and down using morphs because I need to be able to parent different heads to the working end of the piston, and if the piston moves up and down through morphs, the parented head will remain motionless,a nd won't follow the movement of the piston. As such it needs to be riged, and my only option for rigging is Triax rigging. Is there a way to rig the piston using Triax weightmapping that will allow the piston to translate up and down?
Comments
Well, I know that much. I've already rigged a starship with triax weightmapping. However, I haven'y figured out how to make triax weightmapped bones translate. I can only get them to bend, twist, and otherwise rotate. So, how do you get Triax weightmapped bones to translate along a given axis?
You ask a Brycer questions Like that?
I'm asking anyone and everyone.
I am liable to answer "what's a weightmap" if no one prompts me with an answer (j/k)
As I recall (slow render at the moment so I can't check) it may be necessary to have a selection group applied to the bone, through the Tool Settings pane with the Joint Editor active.
A what? Never heard of that. Can you elaborate? If you're talking about asigning a bone to a face group, so that you can select it by simply clicking on it, I do that as a matter of course, but it still doesn't allow translation of the bone. If it's something else, please enlighten me.
That was what I meant, so my recollection was wrong.
Nope. The translation dials themselves are visible by default. I just can't use them to traslate any Triax weight mapped bones. No matter what I type into them the bones remain fixed. Obviously, this is a good thing for organic figures, but for machinery and vehicles, it's a pain, hence why I'm asking if it is even possible. Now, I know it is possible with parametric rigging, but I don't know how to do that, particularly in DAZ Studio exclusively. I only know how to use Triax rigging, and even then, I've mostly made clothes, and a couple of vehicles as experiments, only one I would classify as truly successful.
Well, if you can find out from those in the know, if, it even can be done, and, if so, how, I would be much abliged.
With all due respect I have created the following products as I suggested:
https://www.daz3d.com/military-gp
https://www.daz3d.com/baja-raptor-rally-truck
https://www.daz3d.com/darkhawk-helicopter
Perhaps there is a techical issue that remains elusive but I don't know because I can't see what you are seeing. Just a suggestion and please don't take this the wrong way, maybe this might be of help: https://www.daz3d.com/rigging-vehicles-and-mechs-in-daz-studio
OK, but are those rigged using Triax Weight mapping or Legacyrigging (parametric, aka Poser, rigging)
I just did a test on this using two primitive cylinders in DS 4.10. It worked fine using triax rigging. Just make sure everything is weightmapped. Can you give more detail about what isn't working, or post a screenshot?
OK, now, were those two cylinders separate objects made in DAZ, or exported from Hexagon (or another modeling program) as a single model with differen face groups to be rigged as a single figure?
As for posting a picture, no, I haven't stated building the Powerhammer I want to build yet, however, I have done tests on a ship I built trying to make the lower gun turret slid up inside the ship for landing, The rigging is pretty basic, without complex multi-part rigs, that move multiple components at once, or JCMs (which I also don't know how to do).
As for an image, This is all I have.
It's the reference I'm going to use to build the model. If you look closely, you'll see the ram piston running through the top of the machine up into the main piston cylinder, down through the maching to the "anvil"
It's the ram I want to rig rather than using a morph. That way I can parent different "die" attachments to the head of the ram and they'll move with it. If I use a morph, any die prop I parent to the head of the ram will remain in whatever place it was loaded. When I build it, the power hammer will be a single model created in Hexagon, to be rigged as a single figure. not a couple of separate cylinder primitives rigged separately.
Triax
OK. Now, here's the million dollar question. I know all of the joints are rigged with bones (and posed by some forms of pose controls for the most complex mechanisms, though how you coordinated multiple bones to move togetherlike that I have no idea), but all of the pistons that t4elesocope in and out, Is the telescoping done via Joint Controlled Morph or translation of a rigged bone? I ask because the intro video and description in the product page talks about working with morphs as part of the rigging process, whereas I want to accomplish this with just rigging and no morphs at all.
If you have modeled your pistons like real world then you can accomplish this without morphs. Morphs are generally for stuff that isn't quite accurate.
Yes, I typically do model them as they "should be" in the real world, with the piston and piston cylinder as spearate pieces. That is also what I did with the pistons that lower the landing ramp and landing gear on ship I linked to in my last post. and as seen in the picture below. Although, given that I have no idea how to rig complex mechanisms with multiple parts moving simultaneously, they all operate via morphs, not an ideal situation, I'll admit. If I could rig that landing ramp properly, I would, but that's currently way beyond me.
Now, for a power hammer, I don't need to make a complex multipart rig with multiple simultaneiously moving parts. I just need to rig a single piston moving up and down. So, how do you do that one thing specifically with a rigged bone and not a morph using Triax weaightmapping? Heck, Once I do get around to modelling this, the only two moving parts will be the ram and the pedal at the bottom of the machine that the operator steps on to activate it, and that is easy. How do I set up the bone for the ram to allow it to translate up and down rather than bend or twist?
Explaining how to do this is more involved than a simple forum post. I already linked you with a tut that explains in great detail how to rig mechanical devices: https://www.daz3d.com/rigging-vehicles-and-mechs-in-daz-studio
What .... no link to where you have already answered that question?
Its the same process for translation as for rotation.
As far as getting stuff to move together, you probably want to do an ERC freeze to accomplish that.
http://docs.daz3d.com/doku.php/public/software/dazstudio/4/userguide/creating_content/rigging/tutorials/creating_erc_pt1/start
Hi,
I follow this thread for a while now and this is a rather simple example of rigging mechanical parts. So I thought its worth a tutorial.
I just used the DS primitives for that - was adding two cylinders but then I've exported them as an OBJ and imported it back. Then I've split the two cylinders in seperate FaceGroups.
I also choosed TriAx WeightMap but for simple stuff like that you can use General no need for seperate WeightMaps with x-y-z bending and ScaleMap. With General WeightMap you only use one map for all that.
Just have a look at these 45 screenshots to follow along.
DS Rigging a Piston @ imgbb.com
Unfortunately, I can't afford that as I am unemployed and flat broke. I don't have any discresionary money to spend. And, while that tutorial would be of great help when and if I ever try to rig the motorcycle I built, It's a little overboard when all I need to rig for translating up and down is a single piston.
Yes, but I need to do it with a complete multi-part model, of which the ram is only one part, built in Hexagon where the parts are already integrated, not separate primitives. Also, while the ram is the part that needs to translate, it won't be the only moving part. The other will be the pedal to operate the machine, and that needs to be rigged using standard Triax weight maps, something I already know how to do.
Here's an example of the problems I've had, using my YZ-900 figure as a test bed. The three images show the lower gun turret with the bone visibility turned on. The first shot is with the bone in its default position, the second with the bone Y-translated up 50 cm, and the third pic shows the bone Y-translated 50 cm down. However, in all three shots, the actual turret to which the bone is rigged and weightmapped does not translate with the bone. I've gone through the Weightmap tool and Joint Editor tool and can't find any tool that will allow me to set a translate feature to the turret. I've even gone into the Edit Parameters tool, and nothing works. Now, the turret was rigged using a Child Bone. I noticed under the Create Bone tab, a Control Bone option and a Sibling Bone option, though I've no clue what either of those do. What am I missing?
Under the Weightmapping tool, I found a type of map called a General map under Add Maps, but when I tried adding a General Map to the lower turret and filling it (with only the lower turret selected), the entire ship turned red. I'm not even sure what a "General Map" does.
It dosn't matter if you use primitives or if you import a complex multipart geometry. You just need to go to the Geometry Editor and look if you manage to split it up in several Facegroups that are representing the parts that should be moveable. In best case you allready have FaceGroups or Surfaces to manage that. They come from the eg. OBJ PolygonGroups and/or MaterialZones or whatever they are called in Hexagon or another geometry editor.
Otherwise you can also use the Geometry Editor pane, make a random polygon selection of some single part and then use right-click Select Connected or press Ctrl+*. This works like a flood fill and with that you can detect if the geometry is indeed a seperated part of the geometry and only connected parts will be selected.
In your screenshots it looks like you managed to place the bones and setup the right rotation order. What I cant see directly is the bone hirarchy in the scene pane - the bones of the turret seems to be childs of the hip bone and should setup as Child Bones not Control or Sibling. I dont know what these Control Bone and Sibling Bone are good for I always create Child Bones.
Yeah even if you choose TriAx weightmap you can still add a General map I dont know why - maybe you can use them parallel.
If you are using the Fill Selected action of the Weight Map Brush Tool make shure to first go to the Geometry Editor and make a Polygon Selection like by choosing a Facegroup then use Fill Selected Faces - it dosnt refer to the selected bone/node in the scene pane.
In my experience with the piston tutorial, I made the mistake and created the piston bone as a child of the root node. Then the Fill Selected action painted the entire geometry with the weighmap. I added the piston_base bone that acts like the hip bone and reparented the piston bone as a child.
I suggest you to first use the Geometry Editor and select the ship hull - I mean all polygons that dont belong to some moving parts - and then switch to the Weight Map Brush Tool select the hip node in the Scene pane and use Fill Selected on that first. Also make shure you have all maps like the xyz-Rotation and Scale Map filled with red weightpaint - just to be save that you dont missplace any rotation/translation order.
In my screenshots Rigging_Piston_019 - 20 - 21 you can see that I work my way down the bone hirarchy (maybe thats the point where you get stuck) to fill the weightmaps (and also right-click to copy-paste to all other maps of this bone) first on piston_base thats like the hip bone and then for the piston itself as seen in Rigging_Piston_023.
I hope that this can help - I like the YZ-900 project and it looks like you are close to get this entire thing rigged - keep up the good work.
I've done all of that. That's standard procedure for me. All of the moving parts are parented off of a "Hip" bone with further child bones built off from there. I've actually started work on modeling the power hammer. It still needs Mat zones and the like, so it's not ready for sendign to DAZ Studio just yet, but should give you guys an Idea of what I have planned. Here's what I have so far.
You can just render the "piston", as an unconnected object.
Parent it, along with whatever head, and just alter the Y-axis. No bones needed. Bones are more for "flexing things". Go back to "rigid body" basics. (Groups)
You can even spin it on Y-axis, for rotary motion... It is essentially a floating bone, unbound to the constraints, complications and issues of a "skeleton", system. Not to mention, it is faster to create, and alter.
Yes, I've done similar in the past, but that kind of defeats the whole purpose of the project, and also would prevent me from saving the project as a single unit figure or prop asset. It would only be able to be saved as a Scene Subset, and that's not what I want.
YAAAAAAAAAYYYYYYY!!!!!! It worked!!!!
Nice work, you made it. I see you already set limits on these x rotation and y translation properties.
While watching my old post I see I must have somehow missed to give the link to the Image series and the sceenshots I've talked about.
Sorry for that here they are: DS Rigging a Piston at imgbb.com
At Rigging_Piston_036.png you can see how I've created a new pose control property. Then I've posed the Figure_Piston and added that pose to the Ctrl_Piston_Up-Down property with ERC-Freeze.
With the footswitch of the ram figure you could also do some ERC-Freeze to have pose control properties for easy animating that can be accesed in the Parameters pane with the figure body node selected, instead of moving the bones around individualy.
But since this is a short secquence animation you may need about 4 keyframes on the timeline to rotate the footswitch down followed by the piston.
In ERC-Freeze there is an option called Keyed (Extract from Play Range) with this you can save a sequence of timeline frames to a property slider this can be useful sometimes.