- Site Map >
- Modding and Creation >
- Sims 3 Creation >
- Meshing >
- Object Mesh Modification progress
- Site Map >
- Modding and Creation >
- Sims 3 Creation >
- Meshing >
- Object Mesh Modification progress
Replies: 19 (Who?), Viewed: 10329 times.
#1
24th Jul 2009 at 3:31 AM
Posts: 2,832
Thanks: 6613 in 20 Posts
Object Mesh Modification progress
Well, I am excited. I finally got a modified mesh into the game. I know there are problems, and at this point limits on what I can do, but getting this far has been a struggle.I cloned the Fire Hydrant from the game using Peter and Inge's Object Cloner. It works very well, before I tinkered with it, it was a perfect copy of the game, except it is a non-replacement item, I gave it my own catalog description and price.
Shown below is a screenshot of the tinkered with object in game. The color problems are because I have the UV mapping values wrong in the mesh. All I did was pull the one arm out on the mesh itself, repackage the clone and put it in the game. I know it is not a real impressive item, but it is progress, as it is proof my concept is workable.
While I should have cloned something designable, it is a fully usable object. The buy mode preview rotates the modified mesh, not the original, and you can see that it casts a shadow in the game. So while I have some work to do before I can share the tools, I thought I would share some news on my progress.
<* Wes *>
If you like to say what you think, be sure you know which to do first.
Advertisement
#2
24th Jul 2009 at 3:37 AM
Woo! Looks... well, like a psychedelic fire hydrant that's pointing off-screen as his normal friend tries to act like he doesn't know him... but as a proof of concept, that's great. Glad to hear it.
Yes, fire hydrants have buddies. Look it up!
my simblr (sometimes nsfw)
“Dude, suckin’ at something is the first step to being sorta good at something.”
Panquecas, panquecas e mais panquecas.
Yes, fire hydrants have buddies. Look it up!
my simblr (sometimes nsfw)
“Dude, suckin’ at something is the first step to being sorta good at something.”
Panquecas, panquecas e mais panquecas.
#3
24th Jul 2009 at 3:41 AM
Smurf hydrant points the way!
Story books are full of fairy tales, of Kings and Queens, and the bluest skies.
Story books are full of fairy tales, of Kings and Queens, and the bluest skies.
#4
24th Jul 2009 at 4:04 AM
Posts: 1,740
Thanks: 107797 in 53 Posts
One small step for Wes is a giant leap for meshers! Yay, Wes!
"Part of being a mesher is being persistent through your own confusedness" - HystericalParoxysm
| (• ◡•)| (❍ᴥ❍ʋ) [◕ ‿ ◕]
| (• ◡•)| (❍ᴥ❍ʋ) [◕ ‿ ◕]
#5
24th Jul 2009 at 8:01 AM
Last edited by Czeczenski : 24th Jul 2009 at 9:10 AM.
Posts: 17
Thanks: 2559 in 6 Posts
Bravo!
Perfect news!
Perfect news!
#6
24th Jul 2009 at 9:04 AM
Posts: 699
Thanks: 34135 in 57 Posts
Very nice work, Wes. Congrats. And thanks for the info!
But I have to point out that over here in germany the younger population may not even know what a fire hydrant is...
happy simming,
Xanathon
Xanathon's Laboratory :: WishList
But I have to point out that over here in germany the younger population may not even know what a fire hydrant is...
happy simming,
Xanathon
Xanathon's Laboratory :: WishList
.: Do not harass me with requests via PM, you will only get ignored :.
.: Don't post my objects or objects derived from them on paysites or the exchange! :.
.: Don't post my objects or objects derived from them on paysites or the exchange! :.
#7
24th Jul 2009 at 10:12 AM
Great news Wes, also for who will not mesh anyway.
Many of us are checking daily at your forum, here and at Inge&Peter's how things are going, even if most of us stay in respectful silence. Thank you all guys
Many of us are checking daily at your forum, here and at Inge&Peter's how things are going, even if most of us stay in respectful silence. Thank you all guys
Lab Assistant
#8
25th Jul 2009 at 2:19 AM
Posts: 59
Thanks: 2065 in 33 Posts
Can't wait to get my hands on the MODL format specs.
#9
25th Jul 2009 at 2:36 AM
Posts: 1,740
Thanks: 107797 in 53 Posts
Quote: Originally posted by morgade
Can't wait to get my hands on the MODL format specs. |
Indeed.
"Part of being a mesher is being persistent through your own confusedness" - HystericalParoxysm
| (• ◡•)| (❍ᴥ❍ʋ) [◕ ‿ ◕]
| (• ◡•)| (❍ᴥ❍ʋ) [◕ ‿ ◕]
#10
25th Jul 2009 at 2:52 AM
Posts: 2,832
Thanks: 6613 in 20 Posts
I am still working on details of that. I made an object mesh mod upload today, but I selected my mod carefully, as the SKIN chunks are the bones, and I don't have all of the details of those parts researched.
But what I am doing should help make doing something like a Blender plugin much easier. I wrote a pair of tools that split a .model or .lod file into the components and put it back together, and also parse many of the component blocks and generate a .mcfg file, in a text (actually, the Windows .ini file) format that details the blocks that contain the vertex (VBUF), faces (IBUF) and bones (SKIN) as well as the counts and offsets.
The blocks are still in the compressed-float format, but my plugins I am working on can then look in the config file and read and write the compressed blocks. On export I also update the .mcfg file, and the compiler half puts everything back together, ready to be put back in a package.
This is because there is a lot of material detail (MATD/MTST blocks) that has to be carried over to the output, and if you change the sizes of the VBUF and IBUF chunks, there are lots of offsets that must be changed. I know that most of this data does not fit into MilkShape or Maya well, and likely would not fit into Blender very well. With this approach, meshing plugins will be able to just read and write vertex (including normals, assignments and tangents) and face data, reading and updating a few text fields, and all the extra stuff will carry over from input to output.
I am not delaying the spec, the research is unfinished. But as you can see, it is now shaping up well, and I don't think it will be much longer until both the spec and my block compiler tool are both ready. I can send you the current version, but I know some details will change before release. If you would like to look at the unfinished work-in-process, and are OK with changes, PM me your email and I will help you out.
<* Wes *>
If you like to say what you think, be sure you know which to do first.
But what I am doing should help make doing something like a Blender plugin much easier. I wrote a pair of tools that split a .model or .lod file into the components and put it back together, and also parse many of the component blocks and generate a .mcfg file, in a text (actually, the Windows .ini file) format that details the blocks that contain the vertex (VBUF), faces (IBUF) and bones (SKIN) as well as the counts and offsets.
The blocks are still in the compressed-float format, but my plugins I am working on can then look in the config file and read and write the compressed blocks. On export I also update the .mcfg file, and the compiler half puts everything back together, ready to be put back in a package.
This is because there is a lot of material detail (MATD/MTST blocks) that has to be carried over to the output, and if you change the sizes of the VBUF and IBUF chunks, there are lots of offsets that must be changed. I know that most of this data does not fit into MilkShape or Maya well, and likely would not fit into Blender very well. With this approach, meshing plugins will be able to just read and write vertex (including normals, assignments and tangents) and face data, reading and updating a few text fields, and all the extra stuff will carry over from input to output.
I am not delaying the spec, the research is unfinished. But as you can see, it is now shaping up well, and I don't think it will be much longer until both the spec and my block compiler tool are both ready. I can send you the current version, but I know some details will change before release. If you would like to look at the unfinished work-in-process, and are OK with changes, PM me your email and I will help you out.
<* Wes *>
If you like to say what you think, be sure you know which to do first.
#11
25th Jul 2009 at 8:51 PM
Very interesting I cannot wait until we can do objects. Cheers Wes!
Lab Assistant
#12
25th Jul 2009 at 11:19 PM
Posts: 59
Thanks: 2065 in 33 Posts
Quote: Originally posted by WesHowe
But what I am doing should help make doing something like a Blender plugin much easier. I wrote a pair of tools that split a .model or .lod file into the components and put it back together, and also parse many of the component blocks and generate a .mcfg file, in a text (actually, the Windows .ini file) format that details the blocks that contain the vertex (VBUF), faces (IBUF) and bones (SKIN) as well as the counts and offsets. |
I agree. Creating a text version of these files are also really useful to debug meshes generated by the plugins. (the Blender GEOM plugin writes a text version of the file imported file).
With a ini file with mesh data, it will be a piece of cake to import data into Blender.
Quote: Originally posted by WesHowe
I am not delaying the spec, the research is unfinished. But as you can see, it is now shaping up well, and I don't think it will be much longer until both the spec and my block compiler tool are both ready. I can send you the current version, but I know some details will change before release. If you would like to look at the unfinished work-in-process, and are OK with changes, PM me your email and I will help you out. |
No problem. I think the best is wait the tools get completed cause this way we'll have more integrated plugins
#13
25th Jul 2009 at 11:41 PM
Posts: 2,832
Thanks: 6613 in 20 Posts
OK. My notes here are all in pencil, which is also part of why they aren't up.
I don't have the mesh data in an .ini file, just the main parameters that change... things like the vertex count and offsets for the VBUF blocks and the IBUF blocks, the TGI values from the RCOL, generally all the variables that are disturbed when you would change the number of vertices or faces.
When I write the docs, I will describe the FVF (flexible vertex format) they used, along with what I know about the compression types. For instance, the vertex positions are encoded as three signed short ints and one unsigned short int. They convert to full values by casting them to floats and using signed*(1/unsigned), except when the unsigned one is zero, then it is signed*(1/256). The exception I figured out this morning.
The part that saves a lot of work is that the compiler half of the frontend tool pokes the stuff from the ini file into all the different blocks it goes into, and spins all the binary blocks into the final package. I could have included that code in the MilkShape plugin, but I may want to make a maya plugin later, and I would have to copy all of that code to another project and then maintain it twice.
We will see. I am working tonight on the SKIN blocks and also more research on the assignment values. Plus I need to add in updating for the bounding box values, as those seem to be used at a minimum for positioning the cutesy animated preview of the item when you are in buy mode.
I'll update here when I have some more substantial progress to report.
<* Wes *>
If you like to say what you think, be sure you know which to do first.
I don't have the mesh data in an .ini file, just the main parameters that change... things like the vertex count and offsets for the VBUF blocks and the IBUF blocks, the TGI values from the RCOL, generally all the variables that are disturbed when you would change the number of vertices or faces.
When I write the docs, I will describe the FVF (flexible vertex format) they used, along with what I know about the compression types. For instance, the vertex positions are encoded as three signed short ints and one unsigned short int. They convert to full values by casting them to floats and using signed*(1/unsigned), except when the unsigned one is zero, then it is signed*(1/256). The exception I figured out this morning.
The part that saves a lot of work is that the compiler half of the frontend tool pokes the stuff from the ini file into all the different blocks it goes into, and spins all the binary blocks into the final package. I could have included that code in the MilkShape plugin, but I may want to make a maya plugin later, and I would have to copy all of that code to another project and then maintain it twice.
We will see. I am working tonight on the SKIN blocks and also more research on the assignment values. Plus I need to add in updating for the bounding box values, as those seem to be used at a minimum for positioning the cutesy animated preview of the item when you are in buy mode.
I'll update here when I have some more substantial progress to report.
<* Wes *>
If you like to say what you think, be sure you know which to do first.
#14
26th Jul 2009 at 4:46 AM
Posts: 1,740
Thanks: 107797 in 53 Posts
Quote: Originally posted by WesHowe
I don't have the mesh data in an .ini file, just the main parameters that change... things like the vertex count and offsets for the VBUF blocks and the IBUF blocks, the TGI values from the RCOL, generally all the variables that are disturbed when you would change the number of vertices or faces. When I write the docs, I will describe the FVF (flexible vertex format) they used, along with what I know about the compression types. For instance, the vertex positions are encoded as three signed short ints and one unsigned short int. They convert to full values by casting them to floats and using signed*(1/unsigned), except when the unsigned one is zero, then it is signed*(1/256). The exception I figured out this morning. <* Wes *> |
Would this be a step towards being able to add/remove vertices? Just curious, and I appreciate your work.
"Part of being a mesher is being persistent through your own confusedness" - HystericalParoxysm
| (• ◡•)| (❍ᴥ❍ʋ) [◕ ‿ ◕]
| (• ◡•)| (❍ᴥ❍ʋ) [◕ ‿ ◕]
#15
26th Jul 2009 at 5:37 AM
Posts: 2,832
Thanks: 6613 in 20 Posts
I think I was overcautious on the GEOM mesh recommending only the tweaks, because people have built meshes, adding equipemnt to a male mesh, for instance, and a few brand new meshes, with no regard to the original vert counts. But at the time, that was all I was able to test here. While the morphs may yet be problematic doing this, the base body meshes seem to work properly.
For object meshes, which are a completely different format from the body meshes, I have already proven that original vertex counts mean nothing, except in regards to high poly counts taxing your system more than lower ones. The smurf fire hydrant picture I posted was a tweak only, but the BioHazard Sculpture I posted here is a complete mesh replacement, with a higher poly count in the biggest LOD. I cloned the fire hydrant, replaced the mesh (transferring from the original TS2 object via .obj format), copied and pasted the texture from the original into the new mesh with PaintShopPro, and it works.
So I also proved that TS2 conversions can be done, although jointed meshes (like cars, for one) will require some extra work, at a minimum reassigning the mesh to a different set of joints.
So my design should be what we need to get going. I am debugging an issue tonight with meshes that have multiple groups and multiple buffers, and I have to add skin support, but this should not be a really long wait... I can't promise any specific time, but probably just a few days, not a few weeks.
I am anxious to get this going, because I am itching to research the animations next, ChaosMageX spent a lot of time making the anim player in his painting at least in part because of my request, but I need to get this project completed so I can concentrate on something new for a while. I don't make good progress when I lurch from one project to another... I'm just not a good multitasker.
<* Wes *>
If you like to say what you think, be sure you know which to do first.
For object meshes, which are a completely different format from the body meshes, I have already proven that original vertex counts mean nothing, except in regards to high poly counts taxing your system more than lower ones. The smurf fire hydrant picture I posted was a tweak only, but the BioHazard Sculpture I posted here is a complete mesh replacement, with a higher poly count in the biggest LOD. I cloned the fire hydrant, replaced the mesh (transferring from the original TS2 object via .obj format), copied and pasted the texture from the original into the new mesh with PaintShopPro, and it works.
So I also proved that TS2 conversions can be done, although jointed meshes (like cars, for one) will require some extra work, at a minimum reassigning the mesh to a different set of joints.
So my design should be what we need to get going. I am debugging an issue tonight with meshes that have multiple groups and multiple buffers, and I have to add skin support, but this should not be a really long wait... I can't promise any specific time, but probably just a few days, not a few weeks.
I am anxious to get this going, because I am itching to research the animations next, ChaosMageX spent a lot of time making the anim player in his painting at least in part because of my request, but I need to get this project completed so I can concentrate on something new for a while. I don't make good progress when I lurch from one project to another... I'm just not a good multitasker.
<* Wes *>
If you like to say what you think, be sure you know which to do first.
#16
26th Jul 2009 at 9:13 AM
Posts: 227
Thanks: 8414 in 17 Posts
#17
28th Jul 2009 at 8:36 PM
Posts: 2,832
Thanks: 6613 in 20 Posts
To complete this discussion, I have uploaded an experimental version of the object mesh tools I made for some open testing. I have also added what information I learned on the chunk formats used (MODL/MLOD/VRTF/VBUF/IBUF/SKIN) on the Sims 3 wiki.
<* Wes *>
If you like to say what you think, be sure you know which to do first.
<* Wes *>
If you like to say what you think, be sure you know which to do first.
Test Subject
#18
29th Jul 2009 at 10:06 AM
Posts: 5
Great work Wes! I can't wait to try it out. Where can I find the experimental version of the plugins?
#19
29th Jul 2009 at 10:35 AM
Posts: 227
Thanks: 8414 in 17 Posts
#20
30th Jul 2009 at 12:25 PM
Posts: 397
Thanks: 13936 in 23 Posts
Great work wes, I'm looking forward to creating meshes for TS3
The fire hydrant makes me think of Pinocchio
Life's a game, so let's play!
The fire hydrant makes me think of Pinocchio
Life's a game, so let's play!
Who Posted
|