- Site Map >
- Modding and Creation >
- Sims 2 Creation >
- Body Shop >
- Body Shop - Meshing >
- [TESTERS WANTED] Sims 2 GMDC Import/Export for Blender 2.79
- Site Map >
- Modding and Creation >
- Sims 2 Creation >
- Body Shop >
- Body Shop - Meshing >
- [TESTERS WANTED] Sims 2 GMDC Import/Export for Blender 2.79
Posts: 231
Thanks: 1025 in 5 Posts
PLEASE REFER TO THE DOWNLOAD PAGE
Everything on this page is outdated
##########################################################
I've been working on a Blender add-on to import and export GMDC files, I've now reached the point where it requires testing by other people.
As of version 0.1.4A it should be fully featured.
How to use:
Please start blender from the command prompt if you know how to, this way if anything goes wrong you can copy-paste the error message it spits out in it.
To be able to do this you will most likely have to add Blender to your PATH variable. General instructions on how to add something to the PATH can be found here.
When you add it make sure to add the folder containing Blender's .exe file and not the actual .exe.
After this you can open your command prompt, type 'blender' or 'blender.exe' (without quotes) and press enter.
After installing the add-on from the zip file in blender you can import the GMDC file and edit it however you like.
Before exporting, make sure to normalize all bone weights.
It's very important to go to the UV editor and selecting 'Seams from Islands' as the exporter relies on these to split edges right now, I plan on automating this step later.
Marking edges as sharp will make the exporter will make sure to skip these when recalculating normals.
Version 0.1.3A appears to contain a major bug
Bounding meshes and more importantly the bone assignments of sim meshes got messed up on export, it has now been fixed.
To fix it, open a save from before exporting it, then simply export it with 0.1.4A or higher.
Update: 15/05/2018
- Bone assignments are no longer messed up on sim mesh exports. - Added a UI panel for GMDC models. |
Update: 11/05/2018
|
Update: 10/05/2018
- Bounding meshes for static objects get created. - Rigged objects can be imported and exported successfully, with the exception that they will not have a bounding mesh yet. |
Update: 09/05/2018
- Fixed hard edge seams on morphs. - Fixed not being able to export morph-less meshes. |
GITHUB LINK
sims2gmdc_0.1.0A.zip (37.0 KB, 9 downloads) - View custom content | ||
0 2018-05-07 22:06 io_sims2gmdc/ 7224 2018-05-07 22:08 io_sims2gmdc/blender_export.py 10015 2018-05-07 22:08 io_sims2gmdc/blender_import.py 5829 2018-05-07 19:09 io_sims2gmdc/blender_model.py 6578 2018-05-07 19:32 io_sims2gmdc/bone_data.py 2345 2018-05-03 20:38 io_sims2gmdc/element_id.py 34916 2018-05-07 22:06 io_sims2gmdc/LICENCSE.md 3618 2018-05-05 23:10 io_sims2gmdc/morphmap.py 0 2018-05-07 22:01 io_sims2gmdc/rcol/ 1957 2018-05-05 08:58 io_sims2gmdc/rcol/data_reader.py 1644 2018-05-05 23:29 io_sims2gmdc/rcol/data_writer.py 5903 2018-05-06 16:09 io_sims2gmdc/rcol/gmdc.py 0 2018-05-01 14:45 io_sims2gmdc/rcol/gmdc_data/ 11632 2018-05-06 21:52 io_sims2gmdc/rcol/gmdc_data/gmdc_element.py 2792 2018-05-05 23:00 io_sims2gmdc/rcol/gmdc_data/gmdc_group.py 3839 2018-05-05 10:37 io_sims2gmdc/rcol/gmdc_data/gmdc_header.py 3221 2018-05-05 22:48 io_sims2gmdc/rcol/gmdc_data/gmdc_linkage.py 4217 2018-05-05 23:32 io_sims2gmdc/rcol/gmdc_data/gmdc_model.py 2195 2018-05-05 23:23 io_sims2gmdc/rcol/gmdc_data/gmdc_subset.py 102 2018-05-01 14:45 io_sims2gmdc/rcol/gmdc_data/__init__.py 0 2018-05-01 14:45 io_sims2gmdc/rcol/__init__.py 15 2018-05-07 22:06 io_sims2gmdc/README.md 1870 2018-05-07 22:08 io_sims2gmdc/__init__.py --------- ------- 109912 23 files |
||
sims2gmdc_0.1.1A.zip (37.3 KB, 3 downloads) - View custom content | ||
0 2018-05-07 22:17 io_sims2gmdc/ 8704 2018-05-09 01:14 io_sims2gmdc/blender_export.py 10015 2018-05-07 22:08 io_sims2gmdc/blender_import.py 5829 2018-05-07 19:09 io_sims2gmdc/blender_model.py 6578 2018-05-07 19:32 io_sims2gmdc/bone_data.py 2345 2018-05-03 20:38 io_sims2gmdc/element_id.py 34916 2018-05-07 22:06 io_sims2gmdc/LICENCSE.md 3450 2018-05-09 01:00 io_sims2gmdc/morphmap.py 0 2018-05-07 22:01 io_sims2gmdc/rcol/ 1957 2018-05-05 08:58 io_sims2gmdc/rcol/data_reader.py 1644 2018-05-05 23:29 io_sims2gmdc/rcol/data_writer.py 5903 2018-05-06 16:09 io_sims2gmdc/rcol/gmdc.py 0 2018-05-01 14:45 io_sims2gmdc/rcol/gmdc_data/ 11828 2018-05-08 20:43 io_sims2gmdc/rcol/gmdc_data/gmdc_element.py 2792 2018-05-05 23:00 io_sims2gmdc/rcol/gmdc_data/gmdc_group.py 3839 2018-05-05 10:37 io_sims2gmdc/rcol/gmdc_data/gmdc_header.py 3221 2018-05-05 22:48 io_sims2gmdc/rcol/gmdc_data/gmdc_linkage.py 4271 2018-05-08 20:48 io_sims2gmdc/rcol/gmdc_data/gmdc_model.py 2195 2018-05-05 23:23 io_sims2gmdc/rcol/gmdc_data/gmdc_subset.py 102 2018-05-01 14:45 io_sims2gmdc/rcol/gmdc_data/__init__.py 0 2018-05-01 14:45 io_sims2gmdc/rcol/__init__.py 15 2018-05-07 22:06 io_sims2gmdc/README.md 1870 2018-05-09 01:13 io_sims2gmdc/__init__.py --------- ------- 111474 23 files |
||
sims2gmdc_0.1.2A.zip (39.2 KB, 5 downloads) - View custom content | ||
0 2018-05-07 22:17 io_sims2gmdc/ 10097 2018-05-10 17:28 io_sims2gmdc/blender_export.py 10801 2018-05-10 15:43 io_sims2gmdc/blender_import.py 5907 2018-05-10 15:41 io_sims2gmdc/blender_model.py 7043 2018-05-10 13:54 io_sims2gmdc/bone_data.py 2345 2018-05-03 20:38 io_sims2gmdc/element_id.py 34916 2018-05-07 22:06 io_sims2gmdc/LICENCSE.md 3432 2018-05-10 10:12 io_sims2gmdc/morphmap.py 0 2018-05-10 15:33 io_sims2gmdc/rcol/ 2367 2018-05-10 17:27 io_sims2gmdc/rcol/boundmesh.py 1957 2018-05-05 08:58 io_sims2gmdc/rcol/data_reader.py 1644 2018-05-05 23:29 io_sims2gmdc/rcol/data_writer.py 5925 2018-05-10 17:29 io_sims2gmdc/rcol/gmdc.py 0 2018-05-01 14:45 io_sims2gmdc/rcol/gmdc_data/ 12067 2018-05-10 11:14 io_sims2gmdc/rcol/gmdc_data/gmdc_element.py 2823 2018-05-10 11:03 io_sims2gmdc/rcol/gmdc_data/gmdc_group.py 3839 2018-05-05 10:37 io_sims2gmdc/rcol/gmdc_data/gmdc_header.py 3221 2018-05-05 22:48 io_sims2gmdc/rcol/gmdc_data/gmdc_linkage.py 4585 2018-05-10 17:35 io_sims2gmdc/rcol/gmdc_data/gmdc_model.py 2234 2018-05-10 11:05 io_sims2gmdc/rcol/gmdc_data/gmdc_subset.py 102 2018-05-01 14:45 io_sims2gmdc/rcol/gmdc_data/__init__.py 0 2018-05-01 14:45 io_sims2gmdc/rcol/__init__.py 15 2018-05-07 22:06 io_sims2gmdc/README.md 1870 2018-05-10 20:41 io_sims2gmdc/__init__.py --------- ------- 117190 24 files |
||
sims2gmdc_0.1.3A.zip (40.0 KB, 6 downloads) - View custom content | ||
0 2018-05-11 00:50 io_sims2gmdc/ 12533 2018-05-11 15:22 io_sims2gmdc/blender_export.py 12327 2018-05-11 15:16 io_sims2gmdc/blender_import.py 5907 2018-05-10 15:41 io_sims2gmdc/blender_model.py 7044 2018-05-11 14:53 io_sims2gmdc/bone_data.py 2345 2018-05-03 20:38 io_sims2gmdc/element_id.py 34916 2018-05-07 22:06 io_sims2gmdc/LICENCSE.md 3432 2018-05-10 10:12 io_sims2gmdc/morphmap.py 0 2018-05-10 15:33 io_sims2gmdc/rcol/ 2367 2018-05-10 17:27 io_sims2gmdc/rcol/boundmesh.py 1957 2018-05-05 08:58 io_sims2gmdc/rcol/data_reader.py 1644 2018-05-05 23:29 io_sims2gmdc/rcol/data_writer.py 5953 2018-05-11 12:31 io_sims2gmdc/rcol/gmdc.py 0 2018-05-01 14:45 io_sims2gmdc/rcol/gmdc_data/ 12067 2018-05-10 11:14 io_sims2gmdc/rcol/gmdc_data/gmdc_element.py 2823 2018-05-10 11:03 io_sims2gmdc/rcol/gmdc_data/gmdc_group.py 3839 2018-05-05 10:37 io_sims2gmdc/rcol/gmdc_data/gmdc_header.py 3221 2018-05-05 22:48 io_sims2gmdc/rcol/gmdc_data/gmdc_linkage.py 4585 2018-05-10 17:35 io_sims2gmdc/rcol/gmdc_data/gmdc_model.py 2460 2018-05-11 12:35 io_sims2gmdc/rcol/gmdc_data/gmdc_subset.py 102 2018-05-01 14:45 io_sims2gmdc/rcol/gmdc_data/__init__.py 0 2018-05-01 14:45 io_sims2gmdc/rcol/__init__.py 15 2018-05-07 22:06 io_sims2gmdc/README.md 1870 2018-05-10 20:41 io_sims2gmdc/__init__.py --------- ------- 121407 24 files |
||
sims2gmdc_0.1.4A.zip (46.9 KB, 29 downloads) - View custom content | ||
0 2018-05-14 21:21 io_sims2gmdc/ 14144 2018-05-15 19:47 io_sims2gmdc/blender_export.py 14941 2018-05-15 19:24 io_sims2gmdc/blender_import.py 5476 2018-05-15 19:20 io_sims2gmdc/blender_model.py 7000 2018-05-15 19:06 io_sims2gmdc/bone_data.py 2345 2018-05-03 20:38 io_sims2gmdc/element_id.py 34916 2018-05-07 22:06 io_sims2gmdc/LICENCSE.md 3432 2018-05-13 11:22 io_sims2gmdc/morphmap.py 11820 2018-05-14 23:09 io_sims2gmdc/neckfixes.py 0 2018-05-13 11:22 io_sims2gmdc/rcol/ 2367 2018-05-13 11:22 io_sims2gmdc/rcol/boundmesh.py 1957 2018-05-05 08:58 io_sims2gmdc/rcol/data_reader.py 1644 2018-05-05 23:29 io_sims2gmdc/rcol/data_writer.py 5686 2018-05-15 19:21 io_sims2gmdc/rcol/gmdc.py 0 2018-05-14 20:45 io_sims2gmdc/rcol/gmdc_data/ 12155 2018-05-15 19:35 io_sims2gmdc/rcol/gmdc_data/gmdc_element.py 2823 2018-05-13 11:22 io_sims2gmdc/rcol/gmdc_data/gmdc_group.py 3839 2018-05-05 10:37 io_sims2gmdc/rcol/gmdc_data/gmdc_header.py 3221 2018-05-05 22:48 io_sims2gmdc/rcol/gmdc_data/gmdc_linkage.py 4585 2018-05-13 11:22 io_sims2gmdc/rcol/gmdc_data/gmdc_model.py 2460 2018-05-13 11:22 io_sims2gmdc/rcol/gmdc_data/gmdc_subset.py 102 2018-05-01 14:45 io_sims2gmdc/rcol/gmdc_data/__init__.py 0 2018-05-01 14:45 io_sims2gmdc/rcol/__init__.py 15 2018-05-07 22:06 io_sims2gmdc/README.md 8682 2018-05-15 19:31 io_sims2gmdc/ui_panel.py 3064 2018-05-15 19:52 io_sims2gmdc/__init__.py --------- ------- 146674 26 files |
Posts: 1,073
Thanks: 134 in 4 Posts
Posts: 231
Thanks: 1025 in 5 Posts
Thank you for updating this tool. Now I don't have to rely on Milkshape or older versions of Blender to make Sims 2 meshes. With that said i'm having a problem with exporting the mesh. Here's the error that I got in Blender. The same thing happens in the updated version. |
Looks like I forgot to add a check to see if any morphs are present on export, could you also upload the blend file so I can inspect it further?
Posts: 1,073
Thanks: 134 in 4 Posts
Looks like I forgot to add a check to see if any morphs are present on export, could you also upload the blend file so I can inspect it further? |
I had made two versions of the edited mesh one without the sculpting details and one without all the details. I've even tried exporting the original unedited mesh in case I had done something wrong which is included in the rar file but no luck.
cfhairpompodore.rar (222.5 KB, 2 downloads) - View custom content | ||
----------- --------- -------- ----- -------- ----- -------- ---- ..A.... 711296 101610 14% 07-05-18 18:29 D94D0262 cfhairpompodore.blend ..A.... 719660 103142 14% 07-05-18 18:44 A6C926FD cfhairpompodoreedit.blend ..A.... 35389 22868 64% 07-05-18 18:16 2D40618D cmhairpompodore.5gd ----------- --------- -------- ----- -------- ----- -------- ---- 1466345 227620 15% 3 |
Posts: 231
Thanks: 1025 in 5 Posts
For now you can get it from the github page.
Posts: 1,073
Thanks: 134 in 4 Posts
Yep, turned out to be a pretty simple fix. I had forgotten to add proper checks in multiple places inside some messy code. I've managed to succesfully export the hair now, It will be included in the next release. For now you can get it from the github page. |
Thank you so much for fixing up the GMDC exporter importer for the users that use the newer versions of Blender. I'll show you the mesh that I made in Blender if only I could just get it to show up on Bodyshop,it's an altered EA mesh. Are you planning to get it to work with making new animations? I've read in your other thread that's one of the things that you're planning to work on. I would love to see that working in Blender but it's just a suggestion.
Posts: 231
Thanks: 1025 in 5 Posts
Posts: 231
Thanks: 1025 in 5 Posts
I've just created this table with working shadow meshes.
Posts: 448
Thanks: 4266 in 42 Posts
Objects are now working, with the exception that rigged objects do not have bounding meshes yet. I've just created this table with working shadow meshes. |
ETA: Ignore that; I just re-read the first post and figured it out.
Posts: 231
Thanks: 1025 in 5 Posts
With this update bounding meshes get generated for all objects, including rigged meshes.
I'll be working on fixing the neck seams and general code cleanup next, I'll also have to work on proper error handling and making it more user-friendly.
ETA: Ignore that; I just re-read the first post and figured it out. |
I sure wish my linear algebra skills were better for this project...
But at least I should be done messing with Quaternions now, so that nice.
I don't think it will find a lot of use due to the age of the game, but I think those who still enjoy creating CC for TS2 should have more choice than only using a very limited program like Milkshape or a severely outdated version of Blender.
Posts: 1,073
Thanks: 134 in 4 Posts
Posts: 12,925
Thanks: 3 in 1 Posts
You need to import it as an OBJ (use "export" in the GMDC in SimPE, not right-clicking).
My stories: Anna's diary - Memories are forever - Little Fire Burning
Posts: 231
Thanks: 1025 in 5 Posts
Currently it looks like this, feel free to leave any suggestions on things you'd like to see in there. If it's not too difficult to implement chances are I will.
Posts: 231
Thanks: 1025 in 5 Posts
I got this error while importing a face into Blender but Blender still accepted the file and imported it. I hadn't tried exporting it yet. It's probably because I imported too many armatures though. |
Faces have morphs, and I'm pretty sure it was stated above (or in one of the other Blender plugin topics) that Blender currently can't import the face morphs. Milkshape can't either, and also throws errors. You need to import it as an OBJ (use "export" in the GMDC in SimPE, not right-clicking). |
I haven't looked into faces yet, I may take a look at it at some point if I see a point to it.
Posts: 12,925
Thanks: 3 in 1 Posts
Are the joints for objects connected (like body meshes) in Blender? I work a lot with infant/baby meshes, and they're more like object meshes with disconnected joints in Milkshape, so I'm just curious.
(I'm really hoping someone would make an animation exporter in Blender, but I understand if that's not your goal).
My stories: Anna's diary - Memories are forever - Little Fire Burning
Posts: 231
Thanks: 1025 in 5 Posts
The face problem is a Milkshape issue, too. Not sure if the multiple face morphs is the issue. Are the joints for objects connected (like body meshes) in Blender? I work a lot with infant/baby meshes, and they're more like object meshes with disconnected joints in Milkshape, so I'm just curious. (I'm really hoping someone would make an animation exporter in Blender, but I understand if that's not your goal). |
The joints on non sim meshes (Toddler<>Elder) will go from (0,0,0) to whatever their defined point in space is. This is because the actual bone hierarchy is stored in the CRES.
I do have a semi-working CRES reader in an older commit that I could salvage later if I ever feel like adding that functionality.
My priority for now is obviously to polish the tool in it's current state of course.
As for animations, I don't see that happening anytime soon I'm afraid, It's beyond the scope of this project.
Posts: 12,925
Thanks: 3 in 1 Posts
(I currently use Blender 2.70 because I've been working on extracted TS4 meshes via S4S, so I haven't gotten around to testing the plugins yet - I know I can have several Blender versions, just haven't gotten around to installing 2.79)
My stories: Anna's diary - Memories are forever - Little Fire Burning
Posts: 231
Thanks: 1025 in 5 Posts
Is it currently possible to import more than one GMDC without the skeleton/rig making issues (like in Milkshape, where if you click the wrong button, it imports and later exports multiple skeletons)? Blender usually imports the extra skeletons as separate rigs for TS4, does it work roughly the same for TS2 meshes? (I currently use Blender 2.70 because I've been working with TS4 meshes via S4S, so I haven't gotten around to testing the plugins yet) |
You can import as many skeletons as you want, the exporter only looks at the armature linked in the modifier on the objects.
Posts: 231
Thanks: 1025 in 5 Posts
Bounding meshes and more importantly the bone assignments of sim meshes got messed up on export, it has now been fixed.
To fix it, open a save from before exporting it, then simply export it with 0.1.4A or higher.
See original post for more details on 0.1.4A
Posts: 68
Edit: Okay, I see that's already implemented.
Posts: 231
Thanks: 1025 in 5 Posts
Is it possible for morphs to be imported/exported as shape keys or is that already implemented? Edit: Okay, I see that's already implemented. |
I see you've already answered your own question. But yes, that was my goal from the start
Please refer to the download page for accurate and up to date information as the last version posted here is outdated/
Who Posted
|