Quick Reply
Search this Thread
Mad Poster
Original Poster
#1 Old 6th Mar 2020 at 6:21 AM Last edited by omglo : 11th Aug 2023 at 4:24 PM.
Default Baby Skeleton for animating - Neck gap
I decided to go ahead and parent the joints of the infant skeleton, since I know how to do that. However, what I don't know how to do is join the head to the body mesh, so there's no neck gap when you turn the head, the way they are in DrPixel's bodybases for the older age groups. I did regroup the parts into one, but apparently that's not enough.
Advertisement
Mad Poster
#2 Old 6th Mar 2020 at 3:37 PM Last edited by simmer22 : 7th Mar 2020 at 1:52 AM.
Oooh, nice! Definitely going to be really useful (I'd have no idea how to even begin doing this)

I think it's just a matter of getting the right bone assignments (the faces you can extract from SimPE have some issues - the morphed face assigns the head joint to everything except a few random vertices, while the OBJ borks the UVs, and the Arch meshes don't have proper assignments). Remember to untick the "auto normals" button in Milkshape, or you get those sharp lines.

Added a Milkshape and a SimPE/Milkshape-ready file which you can import over the top of a working skeleton (remember the "no" to "additional skeleton" question). The head/face/hair are separate (which I tend to prefer because then I can import other clothes and hide the body but keep the head/face, and the head can be used for other projects).

EDIT: Stupid Milkshape... one of the neck vertices keeps giving the wrong bone assignments (I've had this happen before, but forgot to check for it). Should be fixed in the new file. Also, bonus alien baby face also with assignments (because why not?).
Attached files:
File Type: zip  BuBodyNaked-BoneAssignments-fixface-alien.zip (171.4 KB, 22 downloads) - View custom content
Mad Poster
Original Poster
#3 Old 7th Mar 2020 at 3:50 AM Last edited by omglo : 11th Aug 2023 at 4:23 PM.
I'm getting weird results with both of those meshes (I'd tried the other one you uploaded before, and I just tried this new one). I have pics below as an example. I selected the pelvis. The second picture shows that in these new meshes, that bone is assigned to the fingers of one hand. The last picture shows that the bone is assigned to the pelvic region in the mesh I extracted from SimPE.

Maybe Milkshape is messing up the assignments when I imported the new GMDCs. I don't know what's wrong, so I'm just going to post the skeleton with the mesh I extracted from SimPE. It still has the neck gap and the sharp edges. I unchecked auto smooth, but I didn't see an "auto normals" box. If anyone notices something wrong with the rig, or wants to tweak it and re-post, let me know, so I can fix it (or download the fixes if someone else makes a change to it).

http://www.simfileshare.net/download/1660405/
Mad Poster
#4 Old 7th Mar 2020 at 4:26 AM Last edited by simmer22 : 7th Mar 2020 at 5:08 AM.
Looks like a "NumSkinWgts" problem on the surface - if it's lower than 3 at any stage, or gets borked in some other way, it wipes out a lot of the bone assignments, leaving just one bone for each vertex. The mesh in your file kinda looks like it works because it has fewer assignments.

However, I think the problem is that the bones have been switched around in the hierarchy (for instance, the neck is always 06 and the head bone is always joint 07 for all the sim skeletons, directly after the spine joints, and this is also true for the baby. The head should always show up as pink when ticking "draw with vertex colors", but now the head bone is much further down the list and shows up red in the mesh). The body mesh in my file is directly from the game and has all the proper weights, but when importing it attaches itself to the wrong bones (right foot is mostly attached to left thigh, and the toe to "left shorts" for instance - I'm guessing those are the original placements in the joints list or hierarchy). Normally, for the non-hierarchy baby skeleton, there's no issues with importing over meshes.

I think this would be a problem ingame, because the baby meshes will have bone assignments more like the ones in my file. It also explains the head issue.

The baby hierarchy should be pretty much identical to the older ages, except for the actual missing bones.

(I quickly went through the original baby joints - 00 is auskel (buskel in this case), 01 is move and 02 is rotate skeleton, 03-05 are the spine, 06 is neck, 07 is head, ponytail is 08, right clavicle down to the hand/fingers is 09 to 11 + 14/15, left clavicle down to fingers is 18 to 20+ 23/24, breathe is 27, pelvis is 28, 29-3C are right leg, 2D-30 is left leg. The rest are not directly attached to the bone assignments of the naked mesh, but probably part of the hierarchy in other ways)

Picture: Original bone assignments to the left, the ones in your file to the right.
The other ages also have very similar bone assignments to these, so you'll see about the same color placement from toddler and up (with variations around the neck area, and possibly for skirts/shorts). I've learned the hard way that if the colors look any different from this, something has pretty much always gone wrong somewhere.
Screenshots
Mad Poster
Original Poster
#5 Old 7th Mar 2020 at 5:55 AM Last edited by omglo : 7th Mar 2020 at 7:21 AM.
Posting to make invisible post show up...

ETA - Since I'm still awake,
https://youtu.be/FhKU7gR8_H8
https://youtu.be/Ro5KbFvITpM

Here are some comparisons between a milkshape animation and in the game. I'm using the default diaper, and I cannot say what animations made with custom clothing would look like. I'd suggest trying a little animation, and if it comes out wrong, I'll redo the rig again. And maybe the skinweight issue can be solved too.
Mad Poster
#6 Old 7th Mar 2020 at 7:21 AM Last edited by simmer22 : 7th Mar 2020 at 7:33 AM.
Quote: Originally posted by omglo
In order to link the bones on the baby rig, I could do it in Milkshape by extracting a copy of the CRES, then going through line by line zeroing out all the rotations so that the Animesh CRES import would be able to handle it. Or I could do the parenting by hand in another meshing program. I didn't want to edit the CRES, so I did part of the work in a different program. I opened two Milkshape windows, both with the baby rig in them. Then I imported the CRES over one copy of the rig. That gave me the bone name order, and I used that to rename the bones in the other milkshape window. Once the bones had the proper names, I exported the rig into another meshing program and created the joint hierarchy using the CRES as a guide (not by importing it, but I could look at the cres and see that Root Trans is the parent of Root Rot, etc). Once finished, I brought the rig back into milkshape.


Considering the theoretical issues, is it possible some of the parenting didn't quite transfer back in the correct order, or were linked in a somewhat different order? That could explain why Milkshape is having issues with the meshes, and why they're showing up in the wrong order in Milkshape. Clothes seem to be very dependent on having the bones in the correct order to transfer over properly (kinda like morphs). They seem to work on joint numbers/placement rather than joint names. For instance, if you import a somewhat reshaped toddler outfit over the infant skeleton (as I'd do at some point if I was converting), all the bone assignments usually transfers over fine to the baby skeleton, except for most of the fingers (which are completely lacking in the baby skeleton), even if the joint naming is different. I don't know if SimPE or the animation exporter are somehow able to look beyond these issues (they probably work from the cres hierarchy or some such).

Also, does it matter for the exporter that the auskel joint is named buskel for when you export the animation, or does it have to be renamed? I think all the original animation files had been renamed to auskel, but I've occasionally seen cuskel and puskel for child and toddler in a few other settings.

I also remember having some similar issues with animations not working properly for another skeleton (child or toddler, I think? Or perhaps from a faulty try when I was messing about with making some template fixes), and figured out later the joints had been somewhat scrambled (no idea how, but the joints were suddenly not in their usual place in the list in Milkshape).

I'll see if I can do a bit of testing later (need sleep, it's already early morning).
Mad Poster
Original Poster
#7 Old 9th Mar 2020 at 10:58 PM
http://www.simfileshare.net/download/1660405/

I decided to redo this so that the bone assignments look better. As for custom animations - I exported my baby animations with buskel (and children with cuskel, toddlers with puskel) and it worked fine. The major thing about this is that it's for animation. If you were to export this mesh as a Unimesh, all the bone information would be lost. You might be able to import another mesh over this file. Or you could export this as a half life 2 mesh to keep the bone information, but you'd lose the bone comments.
Mad Poster
#8 Old 10th Mar 2020 at 12:58 AM Last edited by simmer22 : 10th Mar 2020 at 2:59 AM.
I'll try it out

Is it bad that I can take one look at a mesh and say, "yep - that one has the right bone assignments?" I guess I've been staring too much at the infant meshes since I often have to do the assignmennts from scratch... Anyway, it looks great so far, and is moving much better than the first one. I'll probably do more testing tomorrow, because it's getting a bit (*cough*very*cough*) late.

In addition to posing/animating, I do a lot of infant meshes, so it's going to be very handy to have a skeleton to test bone assignments with (because the non-hierarchy baby skeleton is useless for this), but I always use the original baby skeleton for exporting into SimPE to be on the safe side (the other skeletons had some deactivated bones and such, so I've always done the same with the older ages).

---
And just a few things I've wondered about (because my brain is in question mode atm)-
The animation exporter seems to be set up with auskel as the default (and like I said, this looks to have been edited in the younger ages in the original animation templates) - I don't know if there's a difference or whether it has to be edited to fit the age or if I can just use the default "auskel" in the exporter for all of them, though.
Another thing I've wondered is why all the tutorials say animations should start with "a-" when this is only done for adults in the game files (animations are named b- for babies, p- for toddlers, c- for kids, etc. in the game files). I don't know if it makes a difference, and I can't remember if I tested it at some point, but it would've been interesting to know. I've extracted animations from ingame, and they do say b- or c- without it being a problem. Another question would be if this prefix is actually needed.
I guess maybe I should just make a testing posebox to figure out all of this...
Mad Poster
Original Poster
#9 Old 10th Mar 2020 at 1:59 AM
I don't think the prefix matters when it comes to custom animations, unless you create the same animation for more than one age group. If you write code telling the sim to run a_dance_silly, if the Sim's a child, the game will check the child anim text list to see if there's a c_dance_silly, and if it exists, the Sim will run that instead. If not, they'll run a_dance silly.
Mad Poster
#10 Old 10th Mar 2020 at 6:20 PM
The auskel/buskel joint seems to be acting a bit strange (the tip stays in place - with the other skeletons the tip moves around with the rot/trans while the bottom stays at 0-0-0), but the rest seeems fine so far. Will see if I can do some ingame testing soon (had to make a few poses to test with).
Mad Poster
Original Poster
#11 Old 10th Mar 2020 at 7:38 PM
If you're talking about the bone that's near the Sim's head, that's not the buskel. It's hair_trans, which doesn't move because it's not assigned to the mesh. It's a child of the buskel joint, so it sticks up high in the center of the scene. I haven't seen the hair_trans on the older groups, so I'm not sure what it's meant for.
Mad Poster
#12 Old 10th Mar 2020 at 8:02 PM Last edited by simmer22 : 10th Mar 2020 at 8:16 PM.
It's probably the hair bone, then. I guess I didn't notice.

I can't see any "hair_trans" bones (or a "ponytail" bone) in the skeletons for the older sims, only the c/f/r/l/b hair joints for animating hair. Maybe those are unique to babies for some reason?

The "Joint 08" (ponytail for babies) seems to be unused in the other skeletons. The "hair_Trans" and "Joint19" correspond to the placement of the "Index 0 + 1" bones (which aren't used in the infant skeleton), so I'm guessing those unused joints are in there to stand in for the missing bones so the bone assignments are roughly the same (Pinky joints and Joints 22+23 also suggests this, and the remaining missing ones are at the end with hair bones, a "joint 58" and a backtarget. Either they have some unknown purpose in the original rig, or the rig was repurposed for the babies with some bones deactivated or removed).
Top Secret Researcher
#13 Old 11th Mar 2020 at 2:39 AM
ok so I tried this a bit and I ca see that assignments are kind of... off. I don't really blame anyone, I personally wouldn't have been able to achieve even this much with milkshape so I commend your efforts. I really don't think it can be made better in milkshape. Its the best it can be so I can see using this. Unless you can clean up few of the weighs.
Mad Poster
#14 Old 11th Mar 2020 at 3:16 AM
The one in post #7, "Omglo-Infant-Joints.zip", has proper ones (as far as I can see, anyway - and I've spent a lot of time staring at bone assignments). The first one had some issues with how Milkshape translated the hierarchy, causing bone assignment issues.
Mad Poster
Original Poster
#15 Old 11th Mar 2020 at 5:12 AM
There's only one rig available. I updated the file to the same link, so the link in post 3 is going to be the same one as the link in post 7. But here's a picture of the unedited mesh from the game on the left, and my rig on the right. I don't see a difference, so I won't be changing the bone weights, but I do look forward to getting a mesh made for Blender.
Screenshots
Top Secret Researcher
#16 Old 11th Mar 2020 at 12:57 PM
Then I guess the game actually had bad weighs around the legs. Rotating a leg makes a jarring cut between the leg and the pelvis. It's ok tho everything else acts alright. Blender rig will have to wait till I finish with current project but after that I hope I can make rigs for pets as well, if not then at least for big dogs.
Mad Poster
Original Poster
#17 Old 11th Mar 2020 at 1:24 PM
That's probably correct, since in the game, the thigh bones are obscured by the diaper. I do think some of the comments in the rig are probably off. In an old post, WesHowe mentioned that the comments for clothing weren't the same as comments for animation rigs, but as far as I can see, he didn't explain how to fix it. I'll see if changing them makes a difference in the thighs.
Mad Poster
#18 Old 11th Mar 2020 at 7:24 PM Last edited by simmer22 : 11th Mar 2020 at 7:36 PM.
The "Omglo-Baby-Jointed.ms3d" file works for me (time stamp 10.march 2020, 00:46 - has the body/face/hair/alienface groups) - maybe you for some reason got the old file?

I did think something happened to the file, because it suddenly showed up with somewhat borked bone assignments and creased lines instead of a smooth look, but it turned out I'd just opened an older version (TS2-infant-omglo.ms3d). Got a bit worried there for a moment...

The pelvis area can be a little difficult on the babies (barely enough vertices, so there can be a lot of stretch).
Top Secret Researcher
#19 Old 12th Mar 2020 at 9:39 PM
there's def been a lot of creases... I might have had an older version. Hmm... I'll check it out
Top Secret Researcher
#20 Old 13th Mar 2020 at 5:34 PM
So I decided to test it. Are all the error messages at the start something I should ignore?




It's the one I had however so yea I guess that's just how the game rig is...

Mad Poster
#21 Old 13th Mar 2020 at 6:20 PM Last edited by simmer22 : 13th Mar 2020 at 7:18 PM.
You may need to use Milkshape 1.8.5 if that's what omglo has (not sure?) - it works fine for me on that version, but I do remember having some compatibility issues between files made in 5 trying to run in 4, with errors and all (had different versions on two computers for a brief time).

The mesh in your picture is a version of the baby body where the creases are showing on the legs - the newest version didn't have the creases. It also had an alien face group (looked to be based on the hair/face mesh I fixed for Omglo, and I added the alien face because I had it extracted and thought I might as well fix that one too).
The one in the file I have looks like the picture below with the same pose, with a smooth mesh and some bone assignment blending (green/yellow) with "draw vertex weights" active.

Reupload (just in case the link above is going to a bad file) - https://simfileshare.net/download/1670764/ (file is untouched/unsaved from my side, so in case it is 1.8.4 compatible it should work).
Screenshots
Mad Poster
Original Poster
#22 Old 13th Mar 2020 at 7:19 PM
Oh, I forgot about this problem. Yeah, you can't open an MS3D file in 1.84 that was saved in 1.85. All those error messages you see are the bone assignments being broken. If you only have 1.84, I'll try to see if i can get you a compatible file to use.
Mad Poster
Original Poster
#23 Old 13th Mar 2020 at 11:39 PM Last edited by omglo : 11th Aug 2023 at 4:23 PM.
Back to top