Deformation Issue with Starship

Daishi

Member
Jan 7, 2018
325
255
I have this issue going when I move a bone in an asset
You don't have permission to view the spoiler content. Log in or register now.
It's all part of the same face group and seems to be all rigged to the same bone, however when I move it... that happens.

I'd like to know how to fix it because I do want to use this asset.

IT also seems to mirror on the other side so simply not using that door isn't an option.

Any idea of how to fix this?
 

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Donor
Respected User
Jun 10, 2017
10,369
15,286
I'll take a guess here, assuming that the problem is the two parts of the ramp that goes up to the door frame.
Consider editing the screenshot and pointing out the right parts next time, because for someone that don't own the asset, there's no real way to see what's the problem.


It's all part of the same face group and seems to be all rigged to the same bone, however when I move it... that happens.
I'm new with Daz3D (is this effectively a Daz3D problem ? It seem according to the icons on your screenshot) but usually when you see this kind of behavior with 3D models, it's because one (or more) vertex isn't linked to any bone. By default the problem is not seen, but once you move the bone, boom. The few vertex that are linked to nothing try to follow a position somewhere on the infinite, and it end like this.
Now, it's probably not the problem here. It looks more like if the vertex where linked to the right bone, following the door frame instead of the ramp.


All this be said, if you don't receive answer at first, it mean that either nobody know the anwser, or that nobody understand your question. So, reposting exactly the same thing, with the same title, is rarely the way to do.
 
  • Like
Reactions: Rich

Daishi

Member
Jan 7, 2018
325
255
I'll take a guess here, assuming that the problem is the two parts of the ramp that goes up to the door frame.
Consider editing the screenshot and pointing out the right parts next time, because for someone that don't own the asset, there's no real way to see what's the problem.
Thought it looked rather obvious. My mistake.

Added an example pic of what it should look like.


I'm new with Daz3D (is this effectively a Daz3D problem ? It seem according to the icons on your screenshot) but usually when you see this kind of behavior with 3D models, it's because one (or more) vertex isn't linked to any bone. By default the problem is not seen, but once you move the bone, boom. The few vertex that are linked to nothing try to follow a position somewhere on the infinite, and it end like this.
Now, it's probably not the problem here. It looks more like if the vertex where linked to the right bone, following the door frame instead of the ramp.
It's daz. It seems that the Vers in question do not move.

All this be said, if you don't receive answer at first, it mean that either nobody know the anwser, or that nobody understand your question. So, reposting exactly the same thing, with the same title, is rarely the way to do.

Thought it might be a location thing. It's easy for stuff to accideently end up in a dark corner, then I saw that most people were posting their tech help here so decided what they hey.
 

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Donor
Respected User
Jun 10, 2017
10,369
15,286
Added an example pic of what it should look like.
Well, I stand to my guess, it really looks like those parts of the ramp are linked to the wrong bone(s). But my knowledge stop here, I don't have a single clue about how it can be solved.
 

Rich

Old Fart
Modder
Donor
Respected User
Game Developer
Jun 25, 2017
2,490
7,035
I have this issue going when I move a bone in an asset

It's all part of the same face group and seems to be all rigged to the same bone, however when I move it... that happens.

I'd like to know how to fix it because I do want to use this asset.

IT also seems to mirror on the other side so simply not using that door isn't an option.

Any idea of how to fix this?
If you posted an updated image, I can't see it, but...

As @anne O'nymous said, if, when you move a bone, part of the structure doesn't move correctly, then the vertex isn't (or vertices aren't) properly linked to the bone. The mechanism for linking vertices to bones is typically called "weight painting" or "weight mapping." The basic idea is that a particular vertex, in many models, can potentially be affected by more than one bone. (Think of parts of your skin near your elbow - they're affected by the position of both your upper and lower arm bones.) So, each vertex can be connected to multiple bones, and a "weight" is assigned that tells the software how much influence should come from each bone. In your case, in all likelihood, anything that isn't moving but is supposed to probably just needs to be weighted to the bone in question.

So, every bone in a figure has (or can have) a weight map associated with it. Each weight map then tells Daz Studio which vertices are to be considered "connected" to that bone, and by how much.

There is a tool in Daz Studio called the Node Weight Map Brush (Tools menu) which can be used to edit weight maps. What you need to do is to use this tool to go in and adjust the vertex or vertices so that they're linked to the bone in question.

There's a document on the Daz site that describes this:

but it's a bit old. It uses some older terminology (although the basic process is the same). Ditto this one:

(Both refer to the Triax stuff that was in older figures, and show out-of-date images of the Daz Studio interface, but the concepts are still valid.)

There's also a reasonably detailed forum post:

Finally, a little Google fu shows that there are some tutorials on Youtube.


That being said, here's an illustration of what I mean. What I've done is load a G3F figure, select the "Left Thumb 2" bone in the Scene, selected the Node Weight Brush tool, and then, using the Tool Settings pane, clicked on the General Weights weight map. (Which is associated with the Left Thumb 2 bone, because that's what I have selected.) You can see the weights expressed as colors in the viewport - red being "most attached" and blue being "less attached", with gradations in between.

Untitled.png

So, if you went into your spaceship figure and did the same thing, you'd be able to see which vertices are attached to the bone in question. You could then use this tool to correct the mapping so that things work the way you want them to.

Note that since you (probably) want the vertices in question to be 100% weighted to the bone, rather than "painting weight" using the brush (which will have a tendency to spill over to adjacent vertices, since it was designed to paint smoothly) what you may want to do is to use the Tool Settings for the weight brush to change modes, select individual vertices or polygons that you want to change and use the "Fill" option from within the hamburger menu (under "Weight Editing," as I recall) so that you can force those vertices to 100% without affecting adjacent vertices.

The default, when you first select the tool, is to be in "paint brush" mode, but you can change it to "selection" mode by clicking where I've marked (badly) with "1". Then you have a choice of selecting polygons, edges or vertices using the items marked "2".
Untitled2.png

Once you have the appropriate items selected, you can set a weight on them using this menu:
Untitled3.png

That's a lot more accurate than using the brush.


Finally, realize that what you're working on is the copy of the asset in your current scene, not the original. Thus, when you're done, what you probably want to do is to save the (modified) ship as a "Scene Subset" so that you can drop it into any other scenes that you want to use it in.

Hope that helps you fix the problem
 
  • Like
Reactions: anne O'nymous

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Donor
Respected User
Jun 10, 2017
10,369
15,286
There is a tool in Daz Studio called the Node Weight Map Brush (Tools menu) [...]
Will keep this for the time I'll come this far with Daz3D. Really interesting and detailed, thanks.
 

Rich

Old Fart
Modder
Donor
Respected User
Game Developer
Jun 25, 2017
2,490
7,035
Will keep this for the time I'll come this far with Daz3D. Really interesting and detailed, thanks.
To be fair, I've never actually skinned an asset, so I haven't done this with bones. But weight maps get used in other places in DS as well. Two applications of them that I have used:
  • D-formers use them to determine which vertices get deformed. You don't have to paint your own map - DS will kind of generate one for you using a "sphere of influence" approach with the d-former - but it's the more accurate way to make things do what you want.
  • dForce uses it to determine which vertices should be simulated and which shouldn't, and to what degree. So this is the way you can do things like "drape the rest of the skirt, but leave the belt alone" or things like that.
So the general technique does come up now and again, even if you're not creating or modifying assets.
 

OhWee

Forum Fanatic
Modder
Game Developer
Jun 17, 2017
5,731
29,111
Couple of things.

1) I'm not quite sure what exactly the problem is. I see some 'stretchy' railing thing holding up the ramp door, and the stair treads are at a 45 degree angle, which would mean that either the door isn't fully open/extended (the railings would seem to indicate it should be nearly vertical) or that the modeler angled the stairs wrong...

If the stair treads were supposed to pivot, yeah that's an issue.

2) If you purchased it, you should start a thread on the Daz3D forum, or just contact customer service, and explain the issue you are having with the model. CS might be the better route/get you a more meaningful response. If nothing else, I suppose a refund is in order if this made the model unusable for you, but it sounds like you still want to use the model. Of course, if the PA in question is no longer with us, or isn't answering CS inquiries, or you acquired the model via other means, well then you are kinda on your own.

3) If you are looking for a quick solution, one that came to mind for me is to load the model into a separate Daz instance. Then delete everything except the door on the second model (geometry editor, hide polygons/delete hidden polygons) and then save the 'standalone' door as a .duf/scene subset. Then, merge the door piece scene subset into your scene, and use it instead of the 'default' door. Hopefully, you can hide the door on the original model, otherwise you may need to use the geometry editor again to hide the door on the original model.

If you ended up deleting geometry, you'd probably want to save two versions of your model as scene subsets. The 'default' one where you leave the door closed, and the modified one with the new door piece positioned appropriately and the original door hidden or deleted.

You'd have to position the open door manually, but then the 'stretchy' pieces that are stretched between the door and the fuselage won't be there anymore, if that is your issue. Plus, if the door isn't opening far enough, well if you are positioning manually that wont' be an issue (just rotate it until the stair treads are at the right angle, then nudge it into position via x/y/z parameters. Note that you could increase the parameter range for the rotation on the original door if you needed to, but that probably wouldn't help with the stretchy issue.

If I'm addressing the wrong issues here, well I tried...

The stuff Rich mentioned about weight mapping might help too, but that's something I haven't tried to figure out yet, so I have no opinion on that.
 

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Donor
Respected User
Jun 10, 2017
10,369
15,286
To be fair, I've never actually skinned an asset, so I haven't done this with bones.
In my wild dreams, I see myself repainting part of the clothes to make them less sticky to the boobs or to the shoulders for bras, by example... Meanwhile in real world, I still try to make a genesis don't look like a martian.
This to say that it's a really useful feature that should be used more and isn't this difficult once you understood how weight painting works. In something like Daz3D it must probably be redone for each scene, but it can add good effects to clothes by making it look more natural. By example, one thing I noticed is how much girls in adult games pass their time to readjust their panties. Always perfectly fitting and with the material perfectly tense. I rarely seen a girls keep them like this more than one minute.

But well, like I implied, I'll first try to make my girls look like humans :D
 
  • Like
Reactions: Rich

Rich

Old Fart
Modder
Donor
Respected User
Game Developer
Jun 25, 2017
2,490
7,035
In my wild dreams, I see myself repainting part of the clothes to make them less sticky to the boobs or to the shoulders for bras, by example...
Ya, that's not so much a "repainting" thing, since you really don't want to change what part of the body the clothing follows. It's more a "move the default position of the vertices" thing. That's probably best done in a modeling program like Blender. Sickleyield has a tutorial here that explains the basic concepts:

SickleYield also has a couple of "Breast Helper" products that can help somewhat with the "vacuum-formed to the tits" issue on clothing. Not perfect, but you can improve things.

Some of the new dForce products are a lot better at that (and dForce works with many older products). On a sweater, for example, if you set the fabric's simulation settings to "contract" slightly, it will tend to cause the product to bridge more realistically "between and beneath." Also helps with the straps on bras, which frequently look pretty bad on conforming clothing.
 
  • Like
Reactions: anne O'nymous

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Donor
Respected User
Jun 10, 2017
10,369
15,286
Ya, that's not so much a "repainting" thing, since you really don't want to change what part of the body the clothing follows. It's more a "move the default position of the vertices" thing. That's probably best done in a modeling program like Blender.
Yes and no. You don't effectively move the vertex, you make them "less linked" (lower weight) to the bone. You need to be cautious, because the difference need to be kept small, but it lead to a loose effect that isn't too bad.
The advantage over direct manipulation of the vertices is that the smoothing effect come naturally from the weight paint (while doing it with the vertices is sometimes a pain in the ass), and the result is more universal while feeling less fixed.
Take the case of the boobs by example. You change the vertices places to make the clothes less glued to them, the result is good. Now, what will happen if you move the boobs to the left ? I haven't gone this far yet with Daz3D, but from my experience with Blender in another life, the clothes meshes will strictly follow and half of the time you'll have weird angles that will need that you move the vertices again.
But if you works directly on the weight paint, making "this part" less dependent of the bone, it will follow the move, while keeping it looseness, leading to a more natural result. The clothes will follow the boobs move, but here and there it will look more tense, or loose, which is a more natural result.
But well, like I said I haven't gone this far yet with Daz3D. My knowledge come from pure modeler programs like Blender (and I really need to forget all this if I want to progress with Daz3D). Perhaps that Daz3D handle this goodly enough to make the works on the vertices enough to achieve a good result ; whatever if its with the help of the add-ons/tech you talked about, it's the result that matter, not how you achieved to have it.


Sickleyield has a tutorial here that explains the basic concepts:
I'll pass. Not because I don't want, but there's a whole world between understanding written English and understanding spoken one. She (?) speak clearly, but I know my limits. Quickly I'll pass more time trying to understand what is said, than effectively understanding what to do and why ; fucking low attention deficit.
 
  • Like
Reactions: Rich

Rich

Old Fart
Modder
Donor
Respected User
Game Developer
Jun 25, 2017
2,490
7,035
Yes and no. You don't effectively move the vertex, you make them "less linked" (lower weight) to the bone. You need to be cautious, because the difference need to be kept small, but it lead to a loose effect that isn't too bad.
OK, I follow what you're saying. Interesting approach that I hadn't considered.
 

Rich

Old Fart
Modder
Donor
Respected User
Game Developer
Jun 25, 2017
2,490
7,035
Kind of a late update, but...

It turns out that someone did a forum post on Daz3d.com that sounds awfully close to the problem you have:



Two of the (very) knowledgeable people there commented:
This happens a lot with older vehicles that were made for Poser originally
The issue was that Poser (and older versions of DS, immitating the Poser procedure) would break the emsh into its groups on import and only selectively reweld them; DS 4, however, takes the OBJ file literally and so keeps the unwanted welding.
This sounds like problem - the different parts of the mesh aren't "separate" as far as (the current) Daz Studio is concerned, and so things don't behave as expected.

One of them suggested
In principle you just need to unweld the mesh. If you havea modeller you may be able to select the door (using the included groups), cut it, and paste it back in place, then export to overwrite the original OBJ. I'm not sure if Hexagon will do that without wiping the UVs, but but as long as you make a copy of the OBJ you can always reinstate it. DS should tehn have no problem.
Essentially, what he's talking about is breaking the "all-in-one" mesh up into parts so that moving one part of the mesh doesn't distort other parts.

Another member suggested a fix that had worked for them:
I ran into this issue a few times in the past and it may be a very simple fix.

1. Load the model and go to the scene tab and select the model.
2. Click on the menu in the upper right of the scene tab and choose expand selected.
3. Select all the nodes on the model.
4. With all the nodes selected, go to the Parameters tab.
5. On the left side of the Parameters Tab, look under "General > Misc"
6. Shut off Bend.

You can save out a new CR2 or save a new copy in DS format. If you do the DS version, you will need to be aware of where the new geometry is saved in the Data folder as it will not longer depend on the poser geometry file.
I have no idea if this is, indeed, the cause of your problem or if either "fix" will work for you, but it sounds like we might at least now know what the underlying issue might be...