Home | Download | Discussion | Help | Site Map | New Posts | Sign in

Latest Site News

MTS Bob Ross Paint-Along Night - posted on 4th Sep 2017 at 10:54 PM
Replies: 81 (Who?), Viewed: 57091 times.
Page 1 of 4
Ms. Byte
staff: moderator
Original Poster
#1 Old 27th Nov 2009 at 6:53 AM Last edited by CmarNYC : 24th May 2012 at 1:51 PM.
Default Tutorial: Making a geom-based face slider
What this tutorial will do:

Show you how to make a simple geom-based face slider using Milkshape and MorphMaker. (Note that this tutorial was written for the older FaceMorphMaker so some of the screenshots are no longer accurate, but the process is the same.)

Give some guidance on making more advanced sliders using Delphy's tool set.

What it will not do:

Teach you how to find meshes or how to use Milkshape or any other tool to modify them.

Teach you how to make bone-based sliders.

What you'll need:

Milkshape with Wes's plugins or another meshing tool that can export morphs: http://www.modthesims.info/showthread.php?t=357403

MorphMaker, formerly FaceMorphMaker, available here: http://modthesims.info/download.php?t=387348
Postal, s3pe, Sims3PackageExplorer, or any tool to search, extract from, and import into package files.

Optionally, Delphy's BlendUnit Editor: http://www.modthesims.info/download.php?t=372169


First, a quick explanation of the difference between geom-based and bone-based sliders. All sliders morph the geometry of a base mesh, whether it's the face or body of the Sim. Bone-based sliders depend on the association between the vertices of the mesh and the 'bones' or skeleton. By adjusting the bone positions, the shape of the mesh can be changed. In a geom-based morph, the individual vertices themselves are moved to make a morph mesh that consists of the offsets between the original and new positions of the vertices.

Bone sliders are useful for changing the size and positions of whole parts of the mesh, while geom sliders are best at making more detailed adjustments, and for moving parts that aren't assigned to a separate bone. With the exception of the in-game fat/fit/thin/pregnant morphs, geom sliders cannot be used for body morphs because every mesh in the game would need to be changed and I think would require a separate slider. (There are exceptions which require the body part or entire body mesh to be renumbered outside the standard clothing/accessory/hair range, but that's not in the scope of this tutorial.)


Okay, on to making a simple face morph for a slider. In this example I'm going to make a slider for a chin cleft, so that we can have an authentic Cary Grant Sim.

Step 1. First, find and extract the full-face mesh for the adult male, which happens to be amface_lod0_2, with Postal or whichever package tool you prefer. To make the morph, import the mesh into Milkshape, then go to the Group tab and hide it. Import it again over itself as a second group, open the comments for that second group, and change them to:

FVFItems: 3
TableType: 0
References: 1
TGIRef00: 00000000 00000000 00000000 00000000

This tells Wes's export plugin to export that group as a morph mesh. You need the first group because the exporter needs to calculate the difference between the original and changed positions of the vertices.

(See first screenshot below)

Modify your mesh by pulling the vertices at the tip of the chin inwards. (Or do whatever changes strike your fancy - but do NOT add or remove vertices.) Be sure NOT to change the original mesh you imported first - that's why I told you to hide it. When you're done, go ahead and do the export. Skip the first group (Geom 00) and save the second group (Geom 01) - that's your morph.

If you want to, do the same morph for lod1 as well. Lod1 will be needed for people using low Sim detail, but lods 2 and 3 won't be necessary for such a small modification. If you're doing a bigger change visible from a distance, you should do lod2 also. All the face lod3 meshes and the toddler lod2 and lod3 can't be morphed because they have no vertex numbers.

Step 2. Now, fire up MorphMaker. Make up a name for your morph - say, "Cleft Chin Slider" and use the FNV hash tool on the menu bar to generate a 16 character hex hash that you can copy to your instance ID. Fill in the text you want to be displayed as the label for your slider - in this case, "Chin Cleft". Select the face region - I'm going to just choose "Face". CAS panel means which part of the CAS Looks section this slider will appear in - I'm picking "Head and Ears". And select the subpanel - the specific part of the detail adjustments panel the slider will show up in. I'm selecting "Chin Settings".

Now, select the morph meshes you made in the previous step. Click the "Select meshes for males" button, look for the adult male, and click the lod0 and lod1 buttons to browse for your mesh files.

It's a good idea to name your project and save it, especially if you do morphs for more ages and both genders. Also the program will include your project name as part of the files it produces. I'm naming my project "Chin_cleft_slider".

(See second screenshot below)

Now to create the files you'll need for the slider. Click the "Create BGEO" button at the bottom. The BGEO file it produces contains the morph mesh information. If you add morph meshes for more ages and both genders to your project, the one BGEO file will contain data for all of them. Next, click on "Create FaceBlend". This will make a facialblend file, which links to the BGEO file. Last, click "Create Slider Files". This will make a blendunit file which sets up the slider and links to the facialblend, and one or more STBL files which contain the label text.

Note that you can choose whether to make only an English STBL or one for each language supported by the game. If you're making a slider to be uploaded, you should make a complete set or games running in other languages will have an ugly hex string displayed as the label text. MorphMaker will create all the actual text in English but you can use S3PE to change them later as you get translations.

Close MorphMaker and on to the last step.

Step 3. You should now have a .bgeo, a .facialblend, a .blendunit, and a mess of .stbl files. Import them into a package using s3pe, Postal, or whatever tool you prefer. The TGIs are all in the file names. Name and save the package, and put it in your game. If you've followed all the steps here, don't forget to use an adult male for testing - any ages and genders you haven't done morph meshes for will be unaffected. (BTW, adult and young adult are separate face meshes.) Again, if you do morphs for females and/or other ages, they will show up for their own ages/genders. (Note: Recent versions of MorphMaker will do this for you by creating the package.)

(Third and fourth screenshots)

More advanced geom-based sliders:

The example is for a slider that goes in one direction, but sliders can also go both ways - logically the two directions would have opposite effects, but they could be completely different. All you need is a second BGEO for the morph performed by the slide's other direction. You can use MorphMaker to make it, and then include it in the final slider.

Even more advanced combination bone and geom-based sliders:

I haven't yet tried this, but my advice would be to use Delphy's Slide Template Creator (another of his Small Editors) to make a 'blank' slider package with all the linkage and label text set up. You can then replace the package BGEO files with your own (keeping the package TGIs!) to use your own geom morphs, and in the same way add your own bone morphs by replacing the bonedelta files.

(Last screenshot)

About file naming - Delphy and the Wiki refer to the files that define a slider as a blendunit, and Delphy's editor looks for files ending in .blendunit. (I like to call them B52 files since the type number starts with B52. ) Both refer to the files that link to BGEOs as faceblends or facialblends, ending in .facialblend. However, S3PE tags the blendunit files with 'FBLN' and extracts them with a .facialblend extension while it calls the faceblends 'FACE' and extracts them as .faceblend. Very confusing, especially if you're trying to extract a file and edit it with Delphy's tools.

** Edit **
I've uploaded a zip file with the complete set of game full-face meshes. This is the head/face meshes only - does not include the eyeballs or teeth.
Screenshots
Download - please read all instructions before downloading any files!
File Type: zip facefiles.zip (1.07 MB, 994 downloads) - View custom content
Description: Face mesh files
12 users say thanks for this. (Who?)
Advertisement
Mad Poster
#2 Old 27th Nov 2009 at 10:10 AM
Wow, this looks fantastic - thank you for this tutorial! Looks like the possibilities are near-endless for creating both natural features and some pretty unnatural ones too.!
Field Researcher
#3 Old 29th Nov 2009 at 5:04 PM Last edited by tedw : 29th Nov 2009 at 5:21 PM.
Thanks for the tutorial! Unfortunately, I seem to have run into a problem somewhere along the way - when I apply the slider it causes pieces of the mesh to explode and the texture to go funny. I'm attaching a picture showing, on the left, the slider installed but not applied, and on the right, applied to the face.

Did this happen to you in the course of making yours?



Edited: Putting the morph together with LOD0 but not LOD1 led to the slider not exploding any parts of the mesh - but the texture was still wrong, as though the shine on it was changing itself around.
Ms. Byte
staff: moderator
Original Poster
#4 Old 29th Nov 2009 at 5:59 PM
Quote:
Originally Posted by tedw
Thanks for the tutorial! Unfortunately, I seem to have run into a problem somewhere along the way - when I apply the slider it causes pieces of the mesh to explode and the texture to go funny. I'm attaching a picture showing, on the left, the slider installed but not applied, and on the right, applied to the face.

Did this happen to you in the course of making yours?



Edited: Putting the morph together with LOD0 but not LOD1 led to the slider not exploding any parts of the mesh - but the texture was still wrong, as though the shine on it was changing itself around.


No, it didn't happen for me. Did you add vertices to the face mesh and/or change the normals? That would cause these effects. All you should be doing is moving vertices. If that's not the problem, could you attach your mesh and BGEO file so I can take a look?
Field Researcher
#5 Old 29th Nov 2009 at 6:14 PM
I didn't add any vertices or change the normals, no, but I won't rule out having messed up somewhere along the line (although I did think it was a fairly straightforward tutorial).

I'm attaching the bgeo file and morph - let me know if you need any other files.
Download - please read all instructions before downloading any files!
File Type: zip morph-geom.zip (64.2 KB, 114 downloads) - View custom content
Ms. Byte
staff: moderator
Original Poster
#6 Old 29th Nov 2009 at 7:00 PM
The morph geom file you made is way, way too big - the morphs are typically about half the size of the original mesh. The vertices listed in it are 38 to 7170 while the original mesh is only 38 to 1091. If you try to reload it in Milkshape over the original mesh I bet it'll give you an incorrect vertex count error.

I don't think you messed up, though. If you're using Wes's plugin for Milkshape 1.8.5 and have had it for a while, you need to re-download. There was a bug that did exactly this - wrote out a bunch of extra vertices in the morphs.
Field Researcher
#7 Old 29th Nov 2009 at 9:26 PM
I did check the thread earlier, to see what date Wes had last updated it, and saw it was early to mid-September - I mistakenly believed that was the version I actually had, so I didn't re-download. Thanks for the tip, though - I did not have that version, so I replaced it, and re-exported the morph, and it works like a charm!

Thanks again for the tutorial!
Lab Assistant
#8 Old 29th Nov 2009 at 10:59 PM
Oh, great! I'm off to test this!

If you love something, let it go. If it comes back to you, it's yours. If it's run over by a car, you don't want it.
Alchemist
#9 Old 29th Nov 2009 at 11:42 PM
Quote:
Originally Posted by tedw
I did check the thread earlier, to see what date Wes had last updated it, and saw it was early to mid-September


With the problems the previous version caused on morphs, and the extensive testing Cmar and Base have done, I am leaving the Q-Mesh plugin alone until something needs tweaked.

But then it's not like I have any shortage of projects to work on, either.

If you like to say what you think, be sure you know which to do first.
Ms. Byte
staff: moderator
Original Poster
#10 Old 29th Nov 2009 at 11:56 PM
Quote:
Originally Posted by WesHowe
With the problems the previous version caused on morphs, and the extensive testing Cmar and Base have done, I am leaving the Q-Mesh plugin alone until something needs tweaked.

But then it's not like I have any shortage of projects to work on, either.


It works great, so speaking for myself I'm very happy with this version and hope to get time to try out the renumbering plugin.

Yes, no lack of projects around here, is there?
Lab Assistant
#11 Old 2nd Dec 2009 at 10:52 AM
Quote:
Originally Posted by CmarNYC
About file naming - Delphy and the Wiki refer to the files that define a slider as a blendunit, and Delphy's editor looks for files ending in .blendunit. (I like to call them B52 files since the type number starts with B52. ) Both refer to the files that link to BGEOs as faceblends or facialblends, ending in .facialblend. However, S3PE tags the blendunit files with 'FBLN' and extracts them with a .facialblend extension while it calls the faceblends 'FACE' and extracts them as .faceblend. Very confusing, especially if you're trying to extract a file and edit it with Delphy's tools.


It can get a lot less confusing, as I just found out. If you go to the S3PE directory, there is a text file in there called Extensions.txt It contains the file extensions for each Type ID. You can change the extensions to match the ones that Delphy's editors use.

I just wish I had found out about the Extensions.txt last week before I started playing around with making custom sliders... it would have saved me a mess of trouble trying to figure out why Delphy's editors were not opening the extracted slider files :P
Ms. Byte
staff: moderator
Original Poster
#12 Old 2nd Dec 2009 at 12:54 PM
Thanks, that's a great tip! Yeah, for quite a while I was editing files in hex because I couldn't open them with Delphy's tools and couldn't figure out why.
Alchemist
#13 Old 2nd Dec 2009 at 2:48 PM
I compiled the original versions of extensions.txt. We had a consensus on that as a standard, but perhaps not everyone remembered beyond Peter and I.

If you change .simgeom or .skcon you will adversely affect the way that Q-Mesh searches for the matching bones.

<* Wes *>

If you like to say what you think, be sure you know which to do first.
Ms. Byte
staff: moderator
Original Poster
#14 Old 2nd Dec 2009 at 6:10 PM
The only problem I had was with blendunit files (Delphy's terminology) being given a .facialblend extension while facialblends (also Delphy's term) are .faceblend. Even without the thing of Delphy's tools not being able to open those files, .facialblend and .faceblend are so similar as to be confusing.
Alchemist
#15 Old 2nd Dec 2009 at 8:47 PM
OK. Everyone is free to do as they please, but in a rare fit of sensibility, a few of the developers and researchers early on tried to harmonize these extensions. While I said I compiled the file, others, particularly Karybdis, contributed to the naming and a consensus was eventually reached when everyone got tired of tweaking the list.

I don't know why .facialblend and .faceblend diverged, but .faceblend was the original extension for type 0x0358B08A, and it is what S3PE and my s3chop extract that as.

If you like to say what you think, be sure you know which to do first.
Guest
DELETED POST
27th Mar 2010 at 3:24 PM
This message has been deleted by werkz.
Lab Assistant
#16 Old 22nd Apr 2010 at 6:32 PM
Thx for this one.
Well, now I wanted to try it out myself, but I can't find the amface_lod01 thing... o
So far I just worked with hair meshes, and only for sims 2... v___v
Lab Assistant
#17 Old 22nd Apr 2010 at 6:48 PM
It would be great, if you could attach more pictures for every step... or maybe even a video tutorial. that would be awesome. *.*
Mad Poster
#18 Old 23rd Apr 2010 at 10:25 AM
Melody2, the face meshes are found in FullBuild0.package in the game files. At least that's where I've found them.

My problem is how to get them into Milkshape. I've done Sims 3 meshing successfully before now but can't seem to open the face files in Milkshape. I'm probably just forgetting a really simple step.
I've located the file in s3pe, extracted them to a folder on my desktop, run them through S3 Object Mesh Tool to get the s3ac file to import into Milkshape but nothing ever shows up.

Any help please?

My deviantART, MTS Yearbook Origin ID = Alistu
Ms. Byte
staff: moderator
Original Poster
#19 Old 24th Apr 2010 at 3:14 PM
Melody: I've attached a zip file with the face meshes to the tutorial post. I agree a more detailed tutorial would be great, and I'll put that on my list to include in my 'Meshing for Dummies' tutorial in the Tutorials section, but it'll be a while before I get to it.

Menaceman: You don't need to run the face meshes through Object Mesh Tool or anything else. When you extract them with S3PE you should get a file with the .simgeom extension which imports directly into Milkshape using Wes's import/export plugins. (I don't work with objects and don't even know what a s3ac file is.) You could download the zip of face meshes I've attached to the tutorial to make sure you're working with the right files.
Lab Assistant
#20 Old 24th Apr 2010 at 3:36 PM
Oh man. How did I miss that? XD Or have you attached it after my post? Anyway, that's great! XDD Thx so much. x3
Now I can finally start with my projects. >3 Also the idea with the detailed Tutorial sounds good to me. ^^
Lab Assistant
#21 Old 24th Apr 2010 at 7:51 PM
Okay, now I've tried and made a new slider. Well, 2 actually. One, that moves the ears up and down, and one, that moves them inside or more outside the face area. But in the game I can only use one of them, because the other one does not show up... Could this have something to do with the changes in the comment of the mesh in milkshape? Are they overwriting each other or sth, when I make several morphs with the same comment change (the one u postet)? :/
Mad Poster
#22 Old 24th Apr 2010 at 8:01 PM
How many sliders do you have already in your game? There is a limit and if you have already met it then new ones wont show up. There are mods available, including AwesomeMod that increase the limit though.

My deviantART, MTS Yearbook Origin ID = Alistu
Lab Assistant
#23 Old 24th Apr 2010 at 8:42 PM
Yeah, I already have a Mod, so I can have around 60 sliders... And I also already deleted a few custom sliders, but my second own slider still does not show up... o
Ms. Byte
staff: moderator
Original Poster
#24 Old 25th Apr 2010 at 2:04 PM
Melody: Yes, I uploaded the face files zip after your post.

I see you already have a mod to increase the number of sliders. The comments in Milkshape are what tells Wes's import/export tools what format of mesh it is, so for morph meshes it should always be exactly what I gave in the tutorial. Did you use a different label text for your two sliders? MorphMaker (and the game) uses that text to generate a unique identifier for the slider, so if two of them have the same label I guess they might not both show up. Other than that - try remaking the slider in case something went wrong. (Remake it in MM, I don't mean do the meshing again!) Also check that you're looking in the age/gender that you did the mesh(es) for - and remember adult and young adult are not the same thing for faces.
Lab Assistant
#25 Old 25th Apr 2010 at 4:40 PM
I finally found the problem... It was the ID, which MM generates for each morph. Both Sliders I made had the same ID, so the game could not distinguish them. XD Maybe I have a latish version of MM, 'cause I followed the instructions in your Tutorial for generating the ID, but with your method it always generates identic ID's for each slider I create. But in my version of MM there is an arrow-button beside the ID-array, which creates a unique ID for each morph. :D
So I used this little button, and now every slider has his own unique ID, so the game can finally tell them apart. ^^ But anyway, thx for your help.
And once again thx for this great Tutorial. ;D
Page 1 of 4
Back to top