Replies: 19 (Who?), Viewed: 10179 times.
Alchemist
Original Poster
#1 Old 24th Jul 2009 at 4:31 AM
Default 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 *>
Screenshots

If you like to say what you think, be sure you know which to do first.
Advertisement
world renowned whogivesafuckologist
retired moderator
#2 Old 24th Jul 2009 at 4: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.
Warrior Gryphon
site owner
#3 Old 24th Jul 2009 at 4:41 AM
Smurf hydrant points the way!

Story books are full of fairy tales, of Kings and Queens, and the bluest skies.
˙uʍop ǝpᴉsdn ǝɹ,noʎ 'oN
#4 Old 24th Jul 2009 at 5:04 AM
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
| (• ◡•)| (❍ᴥ❍ʋ) [◕ ‿ ◕]
Test Subject
#5 Old 24th Jul 2009 at 9:01 AM Last edited by Czeczenski : 24th Jul 2009 at 10:10 AM.
Bravo!
Perfect news!
Forum Resident
#6 Old 24th Jul 2009 at 10:04 AM
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

.: 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! :.
Alchemist
#7 Old 24th Jul 2009 at 11: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
Lab Assistant
#8 Old 25th Jul 2009 at 3:19 AM
Can't wait to get my hands on the MODL format specs.
˙uʍop ǝpᴉsdn ǝɹ,noʎ 'oN
#9 Old 25th Jul 2009 at 3:36 AM
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
| (• ◡•)| (❍ᴥ❍ʋ) [◕ ‿ ◕]
Alchemist
Original Poster
#10 Old 25th Jul 2009 at 3:52 AM
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.
Test Subject
DELETED POST
25th Jul 2009 at 6:38 AM
This message has been deleted by delry.
Tentacle Of Righteousness
#11 Old 25th Jul 2009 at 9:51 PM
Very interesting I cannot wait until we can do objects. Cheers Wes!

Alt 255
The sky above the port was the color of television, tuned
to a dead channel.
Lab Assistant
#12 Old 26th Jul 2009 at 12:19 AM
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
Alchemist
Original Poster
#13 Old 26th Jul 2009 at 12:41 AM
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.
˙uʍop ǝpᴉsdn ǝɹ,noʎ 'oN
#14 Old 26th Jul 2009 at 5:46 AM
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
| (• ◡•)| (❍ᴥ❍ʋ) [◕ ‿ ◕]
Alchemist
Original Poster
#15 Old 26th Jul 2009 at 6:37 AM
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.
Field Researcher
#16 Old 26th Jul 2009 at 10:13 AM
mmm progress.

Come have a look at my downloads HERE for Sims 4 downloads.

Feel free to visit my website to check out my list of creations, to get in touch (for a request), or to donate. HERE

(Or here for sims 2 or here for sims 3 downloads.)
Alchemist
Original Poster
#17 Old 28th Jul 2009 at 9:36 PM
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.
Test Subject
#18 Old 29th Jul 2009 at 11:06 AM
Great work Wes! I can't wait to try it out. Where can I find the experimental version of the plugins?
Field Researcher
#19 Old 29th Jul 2009 at 11:35 AM
in the forum this thread is in :P

Come have a look at my downloads HERE for Sims 4 downloads.

Feel free to visit my website to check out my list of creations, to get in touch (for a request), or to donate. HERE

(Or here for sims 2 or here for sims 3 downloads.)
Field Researcher
#20 Old 30th Jul 2009 at 1:25 PM
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!
Back to top