looking to change the pivot points of limbs in an imported figure
i have this figure from a long-ago session with Milkshape 3D. Yes, it's the source of my avatar. I'd like to update it so I can create new poses for a video game. But the pivot points of each node are all out of alignment, and I see no easy way to fix this problem in Daz3D. There is a tutorial about using the joint editor tool, but that is of no help to me since this is an imported figure and does not have joints. If there is some way around this I would love to know. The only idea I've seen was in a different thread, https://www.daz3d.com/forums/discussion/142006/how-to-change-the-pivot-point , where someone suggested having a group for each individual node in the figure. In theory this would work for me, but the fuse of the bomb is 20 separate nodes, so i'd need to have 20 layers of groups. I was hoping there was a way to edit the pivot points of the nodes directly but since this is an imported figure I don't have joints to work with.
Is there a way to create a new joint for each node in this figure, or do they need to be imported from an existing model? I got an error message about weight mapping when I tried to create a "Control Bone" to create a new skeleton within Daz3D, but this figure is not weight-mapped either and I don't believe it would be feasible for me to work with a weight mapping tool when every node is meant to be able to rotate completely.
Thanks for any help and guidance you can give me.
Comments
How is it posing if not via joints?
As for such a standalone object / figure, there's no other better way but rigging which can really make it work well for posing, like Mr. Bobble...
https://www.daz3d.com/daz-studio-rigging-made-easy
I have everything parented properly in the object. In theory it should be ready to go. It's just that not one of the nodes has its pivot in the proper place, and in fact I don't see a pivot on screen for most of them. My guess is that they're there, but they're way, way out and nearly invisible in the editor. For the ones that do have a visible pivot point, moving it simply moves the node's surface in the same direction. What I want is not to move the node, but to move the pivot point of that node so that the surface will rotate around the pivot's new position. There are a lot of tutorials saying "just click the green arrow" and the like but none of them explain how to move the pivot point without moving the object it's assigned to.
I've tried doing this by converting the bomb prop to a figure, and then building a skeleton. I even still have a file open with that model in case I find a way to push it through. But again, all of the tutorials about weight mapping assume I'm either working with an already complete skeletion (in which case I'm just splitting bones) or building one from the ground up (where the primitives also already have bones). This is a complete figure with no bones, and Daz3D provides no way that I can see of specifically assigning a surface in this object to a bone in the newly created skeleton. I can build myself a complete skeleton that exactly mimics the bomb entity I built long ago in MilkShape, but all that gets me is the ability to associate the entire figure with just one of the bones in my skeleton. If I had to guess, I'd say it's because Daz3D sees every single node as a "prop" or a "wearable", and therefore they will never be part of the same object as the root node.
But I could be wrong. I just know that I got frustrated with all of the Weight Mapping tutorials after realizing that they're talking about something completely different than what I'm trying to do, and that if I can't assign a surface to a bone, I can't use Weight Mapping, period. So I'd rather do this with the existing fully parented prop I have if that's possible.
Again, regarding the idea of having a group within a group within a group within a group within a group (and so on up to about 20 layers deep) ... I see that as an absolute last resort for three reasons. Firstly, it seems like an abuse of function, a lot like using a racecar to drive to the corner store. Secondly, because it's very easy to mis-click on the node instead of the group that contains that one node. Thirdly, I'm worried that something will break and I'll find out halfway through that I've just been wasting my time. For example, maybe groups simply can't be nested that deeply, or maybe their translations stop multiplying after a few layers and nobody's noticed because nobody does things that way.
If I could just find a way to assign a surface to a bone I'd be willing to switch back to the Weight Mapping idea, since that's what almost everyone seems to recommend, but from what I can see, either Daz3D lacks that function altogether or it is only available for things that are recognized as being all one object, which my creation is not, even when fully parented.
Thanks again for all of your help.
i appreciate you linking the tutorial above. i'm not against paying money, but i've been through quite a few tutorials already and they always seem to be about something else. an example of a tutorial that at first appears related, but that's useless to me, is this link (https://www.versluis.com/2022/05/manual-rigging-in-daz-studio-without-the-figure-setup-tool/), where it explains perfectly well how to add bones to ... a rectangle. Essentially this leads me to the opposite situation I dealt with before ... if i follow this tutorial, I can have all the bones I want sharing a single mesh, but there's no way to get any of the other meshes to attach to any bones because there's no way to get the bones to attach to what Daz apparently perceives as a completely unrelated foreign object, even though that object is parented properly and even physically overlaps with the root node.
Is there any way around this problem? Can the joint editor, or some other tool, be "fooled" into thinking all the meshes are just one single inter-connected object? atlhough I'd rather not do it that way, since it seems like it might lead to problems figuring out what is what in the Geometry Editor, I dont know what other options are left for me. even the group-in-group idea seems difficult since i can't always find the pivot points on the screen even for them.
please help if anyone can. thank you
It would probably help if you showed an image of the scene tab with the nodes, so paople could see how it was made.
But my understanding is that it is objects parented to other objects.
And if that is the case, select one object in the scene tab, and then go to joint editor tool. The object will then have two small arrows, a green and a red. They show the pivot point. Essentially the green is the pivot point, the red is just the "other" end. So move the arrows in place so the match what you want. Repeat for other objects as needed.
i understand that, yes. but these objects dont have bones and there is no way that i can see to assign them to bones, or to assign bones to the objects (however we think of it). i can move the objects around by moving the green arrow, but that does me no good, since if the object and the arrow always move in tandem there is no way to get the arrow inside the object, and therefore no way to get the object to rotate around its own center..
to be honest i really would rather cooperate and do this the way that people seem to think of as the right way ... by making a skeleton and assigning the meshes to bones .... but if there's no way to assign a mesh to a bone then I can't do that.
i will post a screenshot in the next post but this is over the limit of comment length i think
the only way i could find to get the image in the post is to put it as an attachment by itself. i hope this shows up properly. but basically i have the hand circled, and the two tooltips at the bottom are from two separate screenshots. this shows how far off the pivot point arrows are from the actual mesh. moving the green arrow moves the mesh with it, so there's no way to get the green arrow inside of the mesh. i would like to be able to move them independently like in the tutorials, but if my understanding is correct, i cannot do this because there is no bone assigned to the mesh, only a joint, and i can't assign a bone to a mesh because Daz3D simply doesnt offer that ability.
please let me know if there's something else i can do. thanks
If it doesn't have bones it isn't a figure - having bones is what defines a figure. Is this a collection of parented props?
Try showing the Scene pane, not the Viewport.
here is the node selection panel as it stands right now. this is actually the version of the file where i started to build a skeleton,and then stopped after realizing that there was no way to attach meshes to bones and that it was just going to rotate the entire model around whichever single bone i decided to attach it to. this is why there are bones at the top. also i left the fuse part collapsed since it is so long.
i had to use an attachment instead of an inline image again because the comment form keeps saying the post is too long.
OK, that is aprented prop not a figue at all. What I would do is load it, then export as OBJ using node names for groups. Import that into the Figure Setup pane (right-click in the Groups panel), drag into the Relationships panel to set up a new figure, drag the groups (bones) into the desired hierarchy, right-click on Rotation order to change it as needed (the first axis is twist, the second should be the one least likely to hit 90 degrees to reduce the risk of gimbal lock - you can chnage thiss etting later with the Joint editor if necessary) and create the figure using the button at bottom-right. You will then have a figure, with the bones roughly aligned with the group boundaries, from which you can go on to make adjustments with the Joint Editor, then weight map (the Node Weightmap brush right-click menu has an option to fill groups to match the bones, which will give a starting point for a hard-surface model like this). You may want to insert more bones in the arms, though, if theya re meant to actually bend rather than pivotting as a unit (Joint Editor right-click menu).
okay thanks. i've exported and re-imported the object, and then converted it from a prop to a figure. now instead of a chain of parented nodes i have a single node just called "bomby", with all of what used to be nodes showing up as surfaces and face groups. now if i understand right, i need to build a skeleton corresponding to how i want the nodes to align, and then use the Figure Setup tool to assign each bone to a surface in that single imported mesh.
to be honest, i was hoping there was another way to do this. what youre asking me to do now is going to take a long time and be very tedious work. i really didnt want to lose all the work i'd done parenting the nodes to each other. there are 42 surfaces in this model, each of which will need a bone of its own, plus all of the bones to connect them to each other. and i'll need to align every single one of them by hand, as i understand it, because there's no way to force Daz to move the bone to the center of a mesh when the mesh isn't assigned to it yet.
i really do want to get this done in Daz3D, though, and not in another program such as Blender, because I need the cameras, surfaces, and shaders I have in Daz in order to get the final sprites to fit the design of the video game I'm working on. I really dont want to sit and manually position probably more than 50 individual bones. So I just want to ask my first question one more time to be absolutely certain. i'll reword it slightly because i think maybe the terms i was using before were confusing.
is there a way to assign a bone to a mesh (or a face group, or a node), such that a collection of parented props can be turned into a skeleton of interconnected bones? even if it's doing it the "wrong" way, professionally speaking? this isnt a human and i dont really need to worry about whether the joints can rotate over 90 degrees or not.
again thank you. even if the answer is simply that i cannot do what i want to do without a very tedious application of work, i'd rather know that sooner than later.
okay thank you. the impression i get is that most of the people using these help forums are professionals seeking to make salable content, in which case getting everything exactly right is very important. at the resolution these images are going to end up, i simply dont need to worry about that. these will be sprites within a video game. it's important for me to have many poses, but it really isnt worth the time for me to go through and re-orient every single bone (not to mention adding new ones to connect things internally). the Figure Setup tool gave me bones that are all facing right, and honestly, I think that's okay. if i want perfection i can work with it later.
just to show that i got SOMETHING done with your help, i want to attach another picture of the bomb, and for the first time with a new pose and a new color scheme. again, thank you. so long
You don't, except for testing, import the OBJ into the scene - you import it into the Figure Setup pane, which will create bones from groups and allow you to arrange their hierarchy, then you tel the application to create the figure from that. It's still a fair bit of work, yes, but not as bad as trying to do the job in the Viewport.