- Site Map >
- Modding and Creation >
- Sims 3 Creation >
- Meshing >
- Milkshape 3D - Teddy Bear Joint Assignments?
- Site Map >
- Modding and Creation >
- Sims 3 Creation >
- Meshing >
- Milkshape 3D - Teddy Bear Joint Assignments?
Posts: 148
Posts: 4,419
Thanks: 2489 in 21 Posts
Then check the boneweights on the mesh in TSRW( i didn't as i thought its a importer exporter issue)
Posts: 198
Thanks: 155203 in 294 Posts
I posted pics of how workshop ordered the joints. I changed absolutely nothing on the joints. All I did was mimic the assignments onto my mesh. When I import the mesh from S3PE the joints are in a different order as you can see in the pictures. Naming a few specific joints on the original mesh:
From WS, joint 0x736C32C2(magenta) is assigned to the entire body, joint 0x2AB90C33(yellow) is assigned to the head, joint 0xAA25EED7(green) is assigned to the chest, back, and around the waist, joint so-on and so-forth, list goes on.
From s3pe, joint 0x736C32C2(yellow) is assigned to the head, joint 0x2AB90C33(green) is assigned to the right head, joint 0xAA25EED7(drk. blue) is assigned to the left foot, joint so-on and so-forth, list goes on. Even the color codings are different.
I re-assigned my mesh according to the S3PE order and imported into WS. To see if it changed upon export from MS, I imported it back (without imported into WS first) into MS, and nothing had changed. Then I imported the mesh into WS, exported it back out of WS, imported it into MS, and that was when the assignments changed. (see picture below) I even tried to look at it in the game and it still disappeared.
I've uploaded the .package file as well as my MS backups so you can see what I see. Right now I'm trying to see if the objects works by making it with s3pe, but because I've never used until now, I have to follow the tutorials.
MyMesh-Backups.rar (100.0 KB, 6 downloads) - View custom content | ||
Size Packed Ratio Date Time Attr CRC Meth Ver ------------------------------------------------------------------------------- low_elmo_backup.ms3d 152111 43792 28% 07-07-10 17:09 .....A. 3D709DFE m3c 2.9 high_elmo_backup.ms3d 193928 58423 30% 07-07-10 22:07 .....A. D8C61231 m3c 2.9 ------------------------------------------------------------------------------- 2 346039 102215 29% |
||
Description: My backups of the meshes in MS format | ||
Teddy-MS-Backup.rar (141.8 KB, 8 downloads) - View custom content | ||
Size Packed Ratio Date Time Attr CRC Meth Ver ------------------------------------------------------------------------------- WS_ReAssignment.ms3d 92700 25580 27% 08-07-10 18:16 .....A. B2616F6B m3b 2.9 s3pe_High_Original_Teddy_Bear.ms3d 108402 38084 35% 08-07-10 18:09 .....A. A871D552 m3b 2.9 s3pe_Low_Original_Teddy_Bear.ms3d 66585 23193 34% 08-07-10 18:09 .....A. 2995C58E m3b 2.9 Workshop_High_Original_Teddy_Bear.ms3d 108402 35833 33% 08-07-10 18:03 .....A. 002CDAEF m3b 2.9 Workshop_Low_Original_Teddy_Bear.ms3d 66585 22124 33% 08-07-10 18:04 .....A. 782C4B19 m3b 2.9 ------------------------------------------------------------------------------- 5 442674 144814 32% |
||
Description: Original Mesh backups in MS format |
My true dream is to: *get into the medical field *speak fluent Japanese and Spanish
Posts: 198
Thanks: 155203 in 294 Posts
Did you try to export the reassigned bear out of MS and import it back into TSRW? Then check the boneweights on the mesh in TSRW( i didn't as i thought its a importer exporter issue) |
I've tested the import/export theory and nothing changed until I imported back into WS, exported from WS, and imported back into MS. The weights had not changed but the joints themselves did.
Eris3000_SesameStreetElmo_07072010_359.rar (82.8 KB, 7 downloads) - View custom content | ||||||||||
Size Packed Ratio Date Time Attr CRC Meth Ver ------------------------------------------------------------------------------- Eris3000_SesameStreetElmo_07072010_359.package 159340 84697 53% 08-07-10 19:00 .....A. A431DBFB m3c 2.9 ------------------------------------------------------------------------------- 1 159340 84697 53% |
My true dream is to: *get into the medical field *speak fluent Japanese and Spanish
Posts: 4,419
Thanks: 2489 in 21 Posts
But did the joint order change or the names?
You might try to change the joints name to fix it but still its a error that needs to be fixed.
Posts: 148
However the problem of course remains.
Question: Did you assign all bones to the teddy or did you intentionally leave some out? Because I'm about to blame the SKIN chunk … again.
Edit: I just checked myself and all joints are assigned – but the Vertex Weight doesn't give any results, as well the Unimesh bone tool. I need to investigate further.
Edit2:
I'm afraid I cannot confirm this. Look:
(This is made with TSR Workshop 2.0)
It's perfectly animated and doesn't disappear. Be extremely careful with the whole body joint.
Posts: 4,419
Thanks: 2489 in 21 Posts
If you reassigne the bear assigne it like a bodymesh and assigne the root bind as 4th bone without any weights, should do the trick
Posts: 198
Thanks: 155203 in 294 Posts
Edit.
Okay, so when your assigning more than one joint to a vertex, what steps are you taking?
My true dream is to: *get into the medical field *speak fluent Japanese and Spanish
Posts: 4,419
Thanks: 2489 in 21 Posts
Assigne the head to one bone(100% weight, or 99%) and put the root bind bone on the 4th spot(no weight, or just 1%)
Do the same with the arms/shoulders/legs etc etc.
then test it ingame.
If it works you can finetune the bones on the seams(were the waist meets the pelvis/ the legs meet the calves etc)
Posts: 198
Thanks: 155203 in 294 Posts
Okay, basically what I did was took advantage of the TSRW to S3PE plug in to assign the joints, and import the mesh into WS, and behold, everything worked perfectly! Looking back on my sims 2 days, .asc format is one that handles joint well, so that may have had a lot to do with. Thanks to everyone who help me I appreciate it very much. Until next time; gonna finish the others now!
My true dream is to: *get into the medical field *speak fluent Japanese and Spanish
Posts: 4,419
Thanks: 2489 in 21 Posts
I made a attempt myself and you can do all the work with TSRW(2.0) and Wes his bonetool.
Took the medium detail meshes from the toddler and made a doll for my kid.
Posts: 148
Finding out about those root binds leads me to the question, if a joint can be a type of:
- Transformation/Rotation
- Transformation only
- Rotation only
On the teddy bear we have the joint situation:
100% Rotation joint
Root bind Transformation joint
On doors (not sliding doors) however the following situation:
100% Rotation joint
Root bind Rotation joint
And on the door frame:
100% Transformation joint
Root bind Transformation joint
What purpose does the root bind have?
Posts: 4,419
Thanks: 2489 in 21 Posts
When selected the whole skeleton gets selected.
If you import a GEOM file with Wes his importer in Milkshape you can view the full skeleton and see wich bones are linked.
Strange thing is that bodymeshes imported with his importer dont have the root bind joint assigned while bodymeshes imported with the WSO importer have.
Both work fine tho
Posts: 198
Thanks: 155203 in 294 Posts
My true dream is to: *get into the medical field *speak fluent Japanese and Spanish
Posts: 4,419
Thanks: 2489 in 21 Posts
Maybe one still display the original poly's from the bear?
Were did you find its ammount of polygons?
Posts: 198
Thanks: 155203 in 294 Posts
My true dream is to: *get into the medical field *speak fluent Japanese and Spanish
Posts: 4,419
Thanks: 2489 in 21 Posts
This could be due the exporter.
You used Wes his importer/exporter?(or has S3PE its own for Milkshape.?)
You should ask Wes this, he prolly knows why.
Posts: 198
Thanks: 155203 in 294 Posts
My true dream is to: *get into the medical field *speak fluent Japanese and Spanish
Posts: 2,832
Thanks: 6617 in 20 Posts
In MilkShape (and some other programs) there is a method used that allows a vertex to have more than one UV location.
The game uses a method that requires each vertex to have only a single UV location.
The explanation of why is too long, both methods have advantages and disadvantages, but part of it goes to how DirectX was designed. So we can blame Microsoft if we want.
The exporter reconciles these differences by 'splitting' the vertices, meaning extra copies are made with one UV each. Note that you will always have to have some duplicated, because to texture properly there need to be some seams, and the splits occur where these seams are.
However, don't sweat the vertex counts. The main impact a mesh has on performance is the face count, because each face must be drawn to be visible. Vertices, while they require some amount of memory, do not render. The time required to render all the faces in a scene is what limits the frame rate.
On a side note, I dragged out my source code to look at how I wrote the Object plugins for MilkShape. Unlike the GEOM plugins, the vertex weights have been coded to single-weighting. Regardless of what you do with the BoneTool, only the first joint will be exported, always weighted at 100%.
The only reason for this was typically objects use rigid binding (fully weighted single assignments). If I understand this thread correctly, there are object meshes with multiple assignments and weightings. So I am trying to set aside some time to make those changes. More so than actually writing the code, testing requires a lot of time to do. Creating some test models is a big part of this.
If I had some testing volunteers (wink, wink, nudge, nudge) I could probably get this change cranked out sooner rather than later. It is possible to make a set of test plug-ins that will not 'overwrite' the existing ones, which is what I would propose to do, assuming I see a few hands in the audience go up.
<* Wes *>
If you like to say what you think, be sure you know which to do first.
I guess we need to find some more objects with multiple assignments and weightings to use for testing?
Posts: 2,832
Thanks: 6617 in 20 Posts
If you like to say what you think, be sure you know which to do first.
Posts: 198
Thanks: 155203 in 294 Posts
My true dream is to: *get into the medical field *speak fluent Japanese and Spanish
Posts: 2,832
Thanks: 6617 in 20 Posts
These plugins have different names than the release V1.00 plugins, so when exporting look for "Test 1" in the name... the existing plugins wll still be there. What I want is to test your bear, and some other projects that already worked, and see that they work using these plugins. I am especially concerned that we test some projects that worked with the old ones to make sure they can be recompiled and work in-game, otherwise I will not release them until that happens. I also expect them to help on teh multi-assignments meshes, too, so we need that tested.
Let's just use this thread for test results, if it works, I will release it on the main thread for the plugins.
Thanks for the help.
<* Wes *>
Oh, yeah, just unrar the file and put the results into your MilkShape program folder, like always, These are the same as any other MS plugin, except for the name and the code tweaks.
S3ObjMSPluginsTest1.rar (15.5 KB, 17 downloads) - View custom content | ||
Size Packed Ratio Date Time Attr CRC Meth Ver ------------------------------------------------------------------------------- msS3ObjimpTest1.dll 22528 7787 34% 19-07-10 17:23 .....A. 013BE66D m3b 2.9 msS3ObjexpTest1.dll 24064 7954 33% 19-07-10 17:23 .....A. 24F516FF m3b 2.9 ------------------------------------------------------------------------------- 2 46592 15741 33% |
||
Description: Test version of MS Object import/export plugins |
If you like to say what you think, be sure you know which to do first.
Posts: 2,932
Thanks: 15583 in 28 Posts
Is this what you mean by testing old projects? If so, this is working fine.
What is a multi-assignment mesh?...is that not the bear?
Posts: 2,832
Thanks: 6617 in 20 Posts
The bear is a clothing sort of item, but I had coded the Object Plugins for Maya to only use single assignments. The GEOM plugins will use single or multiple, depending on how the mesher assigns them. From all I have seen, most objects will come in with single-assignments, and stay that way unless you take some positive action (using the BoneTool) to change that.
Your test would validate that that is happening properly. One thing I don't want to do is make changes that will make using the tool the old way any different, because it is hard to get the word out. And I would not have so readily worked on this if it changed anything in the ObjTool code itself, because that would require coordinating with the Blender people also. However, the decompile/recompile copies the data as it is in the binary files, the difference was in the code that gets that data into and out of MilkShape.
I will wait for some more testers to report, especially with the multiple assignment part. But I was worried that I would break something, and while that is still a possibility, I can at least go to bed tonight knowing I didn't ruin everything (and of course the original plug-ins will still be available for everyone until this is proven out or scrapped).
Thanks for the help, oh blonde wonder.
<* Wes *>
If you like to say what you think, be sure you know which to do first.
Who Posted
|