Replies: 26 (Who?), Viewed: 28779 times.
Page 1 of 2
Dancing Flamingo
staff: administrator
Original Poster
#1 Old 18th Dec 2009 at 10:15 PM Last edited by HugeLunatic : 28th Feb 2010 at 7:22 PM.
Default [Tutorial] Changing an Objects Footprint
What this tutorial DOES do
This tutorial will show you how to adjust the footprints in The Sims3. There are multiple parts in TS3 to change to affect the footprint. At the very basic, to adjust the size of the green footprint, you will need to edit the FTPT and the VPXY. These two resources tell the game the outer boundaries of your object. If the object is usable and has routing slots you will also need to change the RLST and _RIG. Both of these are editable in a HEX editor, but the values and what to change are currently unknown or undocumented. We are simply replacing them with an appropriate one already supplied by the game.

What this tutorial DOES NOT do
This tutorial will not explain meshing, it will not explain Milkshape outside the scope of finding the needed values, and it will not explain how to use S3PE outside the scope of footprints and the values we are adjusting.

Tools Required
S3Pe
VPXY Editor by Delphy
TigerM's FootPrince - Not required buy useful

Getting your Bounding Box values
In Milkshape the X-axis is left/right, the Z-axis is front/back, and the Y-axis is top/bottom. When you go left or back from the center point you are going in a negative direction, when you go right or forward you are going in a positive direction.

Open your mesh in Milkshape, mine shows my already modified mesh. When you select a vertex you will see the coordinates of how far from center it is at the bottom of the screen. This is the number we want. In TS3 all points seem to flow outward from the center of the mesh. If you want to see the actual size of the footprint the object is using, TigerM's FootPrince app will show you. This app will allow you to see the size of footprints for all objects in the game. This is useful if you want to size it the same as something else in the game. Please note that this app rounds the decimal to just two digits.
An oddity I have noticed is that the game does not simply divide the footprint in half. It appears to divide it at roughly 49.999999% on one side and 50.999999% on the other. Because both values are not equal. A single tile in game appears to be 1.0 x 1.0, the same as what TS2 is. Objects do not generally fill this entire space, since when you add in wall space it reduces it by about 10%. The wall on each side is roughly 5%. You can see the value for my table is .412, which gives an overall width of .824.
Alternate Method for finding Bounding Box
As a new user to Milkshape this is a new discovery for me, for those well versed in MS you probably already know how to do this. Please note the values in this image is not from this current project.

In Milkshape select Tools / Model Information


Editing the VPXY
So we have our values for our Bounding Box from Milkshape so we are going to edit the VPXY first, but the order doesn’t really matter. I do this one first so that I can leave it open while I edit the other values in S3PE and it allows me to copy/paste or at least to see them. To edit the VPXY we will need to use VPXY Editor by Delphy since S3PE does not save the values if you try to edit there.
  1. Open your cloned object in S3PE
  2. Right click the VPXY and choose Export/To File
  3. Open VPXY Editor
  4. File/Open and browse to where you exported the VPXY in step 2
    Look at the highlighted portion, this is our Bounding Box. Since I am making a 2-tile table into a 1-tile table, I am only going to change the X-axis values. Replace values with the ones you had found previously from Milkshape. You will notice the length of the values vary, it seems anything between 3 and 8 digits after the decimal are acceptable.

    Original:


    Modified:


  5. After changing the values select File/Save
  6. Go back to S3PE with your object open
  7. Right click the VPXY and choose Replace/File
  8. Save your package

Editing the FTPT
  1. Open your object in S3PE if it is not already
  2. Select the FTPT resource
  3. Select Grid near the bottom
  4. This will open up a new dialog box
  5. Select the ChunkEntries and click the small button with three dots
  6. Expand the RCOLBlock by clicking the + mark
  7. Select the FootprintAreas and click the small box with three dots
  8. In this box we are going to change the four reference points for our bounding box plus we will change the values in the ClosedPolygon. You made note of these back in the Getting your Bounding Box values. You will notice the length of the values vary, it seems anything between 3 and 8 digits after the decimal are acceptable.
  9. Select ClosedPolygon and click the button with three dots
    The ClosedPolygon section starts at one point of your object and moves counter-clockwise around the object defining its outer boundaries. Make note of which point your object starts with, and refer to Getting Your Bouding Box Values to reference which each number represents. Don’t get confused by X and Y values, these are basic graphing points and Y does not appear to relate to height like in your 3D mesh program.
    These are the same values we entered previously. You will notice the length of the values vary, it seems anything between 3 and 8 digits after the decimal are acceptable. There is a difference between the values found in the VPXY and the FTPT. Usually the FTPT values are a bit smaller than the outer boundaries of your mesh in Milkshape.
  10. Click Ok for each dialog box and be sure to click COMMIT on the final one.
  11. Save your package

At this point we have changed the VPXY values and the FTPT values. This is all we need to change if we are simply adjusting the footprint of an object without interactive routes and slots. Windows may fall into this category, however there are probably additional adjustments to make in regards to the window mask. I did adjust a window months ago and did not document my exact steps and the one issue was with the wall mask.

Replacing the RLST and _RIG
The game uses generic resources for _RIG and RLST for certain objects. Tables have one defined for each size, sculptures appear to have a generic for all sculptures, and windows also have one for window size.
I clone items to pull generic resources and keep these for later use, you can also open your fullBuilds to find these. I'm not going to cover that since if your following this tutorial you should already be familiar with how to find your resources.
  1. Gather your original RLST and _RIG resources
  2. Open your package in S3PE if not open
  3. Right click the RLST resource
  4. Choose Replace and browse to an original generic RLST
  5. Right click the _RIG resource
  6. Choose Replace and browse to an original generic _RIG
  7. Save your package

Time to Test
Now it's time to test your object in game. You will want to make sure to test it near a wall or other object, sometimes if the values you enter are bit too large it won't sit directly next to a wall. I found with values over .42 I started to have issues with this. If I had to guess at this it might be because the game doesn't allow your object to be "in" the wall. So the true size of a tile may be less than 1.0x1.0.

Some Examples



5 users say thanks for this. (Who?)
Advertisement
Alchemist
#2 Old 19th Dec 2009 at 10:36 AM Last edited by orangemittens : 19th Dec 2009 at 1:02 PM.
Thank you, thank you, thank you! This is fantastic

Edited to add:

I went through the tutorial (pics much appreciated by the way ) and used a two tile decorative screen which I reduced to one tile size as my object.

My ultimate goal is to end up with a one tile wide screen whose edges go all the way to the green line so that they can be placed side by side and touch each other without the user having to go into cheat mode. I used a counter as the template for determining how wide (x direction) to make my screen.

I ended up with a bounding box that is 2 x 2 instead of one which is 1 x 1 while working with this object that started out 2 x 1 so, no surprise here, I did something wrong.

I have a few questions if you have time to answer.

1. My object's x value in MS was roughly .51 while the original object's x value in the tools is roughly .61 which doesn't seem right to me somehow...if I'm cutting a 2 x 1 object to 1 x 1 shouldn't the number be more like 1/2 of the original?

2. In the Editing the VPXY section I notice that it seems you put your new numbers (roughly .412) in the z boxes instead of the x boxes...I'm taking this to mean that Sims 3 has that same weirdness that Sims 2 had where EA's z axis = what every other person on the planet would consider to be the x axis...is this a correct assumption?

3. In the Editing the FTPT section Step 8 I'm getting confused. In the VPXY section it looks like you changed the z numbers to your new .4 number but now you're changing x and y values to .3 numbers...where is the .3 value coming from and why are we changing x and y when before we just changed z? Do we have to change both x and y if all we're doing is going from 2 tile width to 1 tile width?

4. I am similarly confused by Step 9 in this same section. Where did the .3 value come from here and should it be used in both the x and y sections if all we're doing is changing width?

5. In Replacing the RLST and _RIG when you say, "I clone items to pull generic resources and keep these for later use," do you mean you just pick something that has the dimension you're going to make your new bounding box and then export its RLST and RIG? Then just use this to import into your new object as-is? In that same section step one says, "Gather your original RLST and _RIG resources," but I'm not clear what you mean by "gather" in this instruction. Do you mean export them?

I really apologize for all the questions most, if not all, of which are probably completely silly. Thank you for any help you can give.
Dancing Flamingo
staff: administrator
Original Poster
#3 Old 19th Dec 2009 at 2:55 PM
Your welcome. If I can figure out how to actually adjust values in slots it would awesome.

2x1 + OM adjustments = 2x2 hmmm A quick assessment on that I would guess you made your Z value bigger instead of making your X value smaller.

1. The actual values between Milkshape and the game have some differences I noticed. From the half dozen objects I've done I've always made things a bit smaller.

Your object is .51 because you made it one tile wide, half of 1.0. The original object is .61 because it was a two tile wide object, and half of 1.22 (that does seem a bit narrow but who knows). And cutting .61 in half you new X value of .35 seems very logical. Because that is .35 from the center point, and your whole is .75 wide then. And alot of the values I found for one tiles objects was around .76. This is why I say TigerM's FootPrince is useful because it shows you the X and Z values for all footprints in game.

2-4. My apologies about the difference in numbers. I was righting this tutorial as I made around 6 different items and I may have screenshots from different objects. The image from Editing the VPXY is the orginal unmodified one. So the values I did change are the X values, from .9112000 to .4122000 (or something)LOL. TS3 seems to have the same x,y,z direction as Milkshape. Look at the first pic, it also shows the pos/neg direction.

I will ammend the VPXY step to specify it's the unchanged value. But I did indeed change the X values. Maybe I will go take another screen with changed values.

5. I cloned a one tile table, then exported the RLST and _RIG to a folder on my desktop. This resource was then used for all four of my tables, they are reusable to the extent you want your new object to behave like that one. I have put a counter RSLT and _RIG in an end table. Was amusing to have floating sinks, but I'm unsure of the value of such an object.

I say generic because all one tile tables use the same RLST and _RIG, all two tile tables use the same RLST and _RIG, sculptures have one, there is one for endtables, beds seem to use one for both single and double. So it will be interesting to see how this works with that. So they are generic in the sense that the game uses one resource for anything that falls into the same category. The RLST controls the slots, both decorative and routing. If you don't change this then your chairs on a dining table will still sit in the two tile places. I don't yet fully understand the _RIG but it appears to be required as well for the slots.

So what I did was take the tableDining1x1 and replaced the tableDining2x1 in the package. I didn't import those, I replaced. If importing you will have to change the instance numbers. Replacing leaves the instance values the same.

This whole thing is good in the sense that you could create your own RSLT and possibly use it for other objects, essentially creating a new slots resource. Say for curio cabinets or set of deco shelves. The bad part is this resource is still unknown how and what to edit. At least I haven't found anyone that has figured it out.
Alchemist
#4 Old 19th Dec 2009 at 7:55 PM Last edited by orangemittens : 19th Dec 2009 at 9:11 PM.
If you can figure out how to actually adjust values in slots I'll send cookies and candy, and have a cabana boy deliver them to you...lol. It would be super awesome to be able to change the height and slotting of surfaces.

"2x1 + OM adjustments = 2x2 hmmm..." Yes...lol...welcome to my world which is dominated by a pesky wormhole that appears and disappears things.

The only place I changed the z values was in the footprint edit steps. Should I have just changed the x values there? I'll give that a try next.

So RLST and _RIG govern behavior not just footprint it seems. And if a sculpture always has the same one then I don't really need to change them if I'm changing the footprint on a sculpture right? Let me ask you this...if we wanted to make a footprint bigger and failed to alter the RLST and _RIG would the Sims perceive the object as still being the smaller size and walk through it?

Thanks for your answers...off to try this again.

Edited to add: ok...don't laugh...well...s'ok if you do because this was total blondeness...but in your tutorial you don't explicitly say to reimport the changed VPXY so I forgot to do that the first time around. So all my package had was the footprint part edited and it was edited in both x and z. No wonder it turned out wrong.

Edited to add: It worked But I have another question. I tried it three more times before it finally worked and each time I was plugging in the value .50. This kept not changing the x at all and, if I put it in the y (not z after all) in the footprint section, it would make the object footprint 2 x 2. I finally just matched the z box value in the VPXY for all my x's and the y's in the footprint section and this is what worked.

There is a slight bit of overlap if the screens are placed next to one another and I'm gonna try to fix that by making the box a tiny bit bigger. But my question is why, if we're cutting the whole number in half once, do we have to cut it in half again to get the value we actually plug into all these little boxes?
Dancing Flamingo
staff: administrator
Original Poster
#5 Old 19th Dec 2009 at 9:37 PM
I will go over the VPXY parts again to make sure I tell you to import it after changing it. It's possible I'm missing words, heck maybe even whole sentences!

I am going to test more, but my theory is that only the FTPT controls the little green box. Our actual stay of me spot. The VPXY I'm thinking might only be the part of the object that you can grab, or the bounding box. I'm not totally positive both have to be changed to just change the footprint.

The numbers do need some tweaking that is for sure. I'm not a math whiz, nor do I understand what EA does most of the time. I simply plug in different things and see what results I get. I was able to successfully do these steps with 6 different objects.

Well the first time you cut your number in half is because the mesh is half the size. IF your only going to make 1/3 the size like I did in that Mission screen then your divisor may be different (again not math whiz). The second time you need to divide in half is because you then need to know how far from center to go both left, right, forward, or back.

Note: If your physical mesh of the screens are overlapping when placed without cheats, then you probably want to make your mesh a hair smaller.
Alchemist
#6 Old 19th Dec 2009 at 9:48 PM
Thanks again for the answers.

I'm pretty sure only the FTPT controls the little green box because in my first try my VPXY was unchanged since I forgot to import the edited instance of it but the footprint definitely did change.

The math is confusing...if a box is 1 you would think that getting halfway to the middle should be .5 not .25 or thereabouts...but since the double division you described worked I'm not going to think about that anymore...it makes my brain flinch.

"If your physical mesh of the screens are overlapping when placed without cheats, then you probably want to make your mesh a hair smaller"

I had thought of doing that but then thought it would be easier to just change the numbers rather than have to redo my MLOD and MODL. But it seems you're saying that simply altering the box number so it is somewhat larger won't cause my screens to be set a tiny bit further away from one another. If this is the case then why not use a generic one-tile number for all objects that you want to be one tile...why have to get the one tile number by looking at your object in MS?
Dancing Flamingo
staff: administrator
Original Poster
#7 Old 19th Dec 2009 at 10:55 PM
You are probably correct and you can use generic one tile numbers. In fact I probably will do just that. I made sure to include that mostly because some creators have difficulty with the size concept between MS and the game. Of course this also makes me wonder if you can have 1/4 tile sized objects. You know, for those clutter-a-holics?
Alchemist
#8 Old 20th Dec 2009 at 1:03 AM
Speaking as a mesher who has both learned from tutorials (German and French lessons included...numbers and pics are universal) and made them my guess is that most meshers probably just want a generic number to pop in and a picture of the box they need to pop it into to get the desired results...but I say that with all due respect...your tutorial got me where I wanted to go in less than 10 tries which is a pretty good sign that it's idiot-proof...lol.

But providing the number/picture and telling meshers to just use that number regardless of their intuitive ideas of size will probably limit questions in your thread like the ones I asked.

I love the idea of 1/4 sized boxes...just think of all the kipple you could cram onto a surface with that.

Thanks again for the tutorial and the answers. This is just what I needed and right when I needed it
Dancing Flamingo
staff: administrator
Original Poster
#9 Old 20th Dec 2009 at 3:33 AM
Well your welcome. And I'm glad you've been able to work through it. Now for me, I need to understand the values and how to arrive at them so I can apply it universally to any object I want to do.

Thanks for pointing out this stuff. Hopefully those reading will then read through the comments as well.
In the Arena
retired moderator
#10 Old 20th Dec 2009 at 5:02 AM Last edited by ellacharm3d : 2nd Jan 2010 at 4:08 AM. Reason: added attachments
I cheated - I made an object with every footprint there is using TSRW, then I copied down the values and used those. But tweaking the RSLT and _RIG was beyond me with the resource limitation I had. So, while I had the green footprint bounding boxes changed as intended, the slots where Sims will stand or interact with my object is still way off.

I'm not at my primary machine now, as I'm off visiting family, so I cannot supply these values. I'll see where you guys are at this upon my return after the holidays.

Happy meshing..and Happy holidays, all!

-----------------
edit:
Happy New Year!
Well, it's official. My documentation on this project sucks!
I haven't pick this up since all the patching hullabaloo, I can barely make heads or tails of my notes, so I won't subject you all to my madness. My analysis gets confusing and there are mistakes that I can spot now after stepping away from it - mainly due to the applications using different coordinate system (the XYZs in TS3, s3pe, milkshape, tsrw).

So, if anyone can make sense of and know how to use these values in the attached TXT files in the rar - they are welcome to it.
Screenshots
Download - please read all instructions before downloading any files!
File Type: rar FTPT data.rar (9.8 KB, 23 downloads) - View custom content
Description: contains txt files
Field Researcher
#11 Old 23rd Dec 2009 at 9:29 PM
Aaaah. I'm dying to try this ! I'm away too right now and my game is borked anyway so I won't be able to plunge in it right away, but still I read your tutorial HL, and it seems straightforward enough. Thank you !

And happy holidays to all, too !
Alchemist
#12 Old 10th Jan 2010 at 9:56 PM
I'm working on a mirror that I want to be a two tile mirror but also pretty large in the y direction also. Because of that I'm sort of stuck using the EA large wall mirror (three tiles) since there is no two tile mirror large enough to give me realistic reflection on my whole mirror otherwise.

So I made the thing and it looked not too bad...a large wall mirror that occupied a two-tile space. Then I tried to change the footprint. I reckoned that since all I wanted to do was change the x size that I wouldn't need to change any of the other numbers. This is what I ended up with (and you're encouraged to laugh because this is really pretty funny looking):



The really weird part is that the object no longer goes on the wall but just lands in the game on the floor like a little ball.

This mirror has given me other issues as well sort of off topic but...well...whatever. I didn't like the way the frame wouldn't darken all the way and the mask width and height are very small. So I changed the shininess (23 + change--> 20) and the mask values in the mtlrc's. This caused the object to take on a washed out metal grey in the game and it was no longer recolorable...go figure. Even when I changed the numbers back the object stayed the same color and was unrecolorable. Even after emptying all possible caches and even after taking it out of the game/restarting/putting it back in.

Anyway, I mentioned that as an aside...what I'm interested to know is if you know of a way to change the footprint of a mirror and if the same kind of issue is going to dog paintings also.
Dancing Flamingo
staff: administrator
Original Poster
#13 Old 11th Jan 2010 at 1:12 AM
You made a ... marble!!

I have not tried anything that attaches to the wall. But yes it may be an attachment thing. You might want to try a picture first. Since mirrors have reflection parts that may be tied to the footprint. At least it could rule out if it's the attach to wall aspect or the reflection.
Alchemist
#14 Old 27th Jun 2010 at 3:17 AM Last edited by orangemittens : 27th Jun 2010 at 2:03 PM.
So I'm sure this is a ridiculous question that I should know the answer to. But I have an object that I want to have the x of the mission sofa and the z of the modern screen. And of course, I don't want to change the y from where I have it. But when I look at the thing there are x and y numbers to change but no z. I s'pose I could just take off the footprint entirely but I'd really rather it had one.

ETA: NM...it all became much clearer this morning. Maybe I just needed sleep...lol. Anyway, I got it working now.
Dancing Flamingo
staff: administrator
Original Poster
#15 Old 28th Jun 2010 at 6:04 AM
Alchemist
#16 Old 28th Jun 2010 at 11:58 PM
But I *know* nocturnal pokes don't improve my Sim-skills HL...hmm...maybe the "at my head" part is what makes it different...snicker. :p
Test Subject
#17 Old 7th May 2011 at 5:41 PM
Going in circles... need help!!!
I have been trying to mod the "3 on 3" tile garage door by HugeLunatic into a "3 on 4" tile garage door, so that I can put a "3 on 3" next to a "3 on 4" and have only 1/2 tile of wall showing between them. Using two "3 on 3" doors leaves no wall or a full tile, which I don't like the look of.

So far I have managed to change the size of the footprint on the 3 tile door to 4 tiles, by substituting the min and max x-axis co-ordinates of the 3 tile door, with those from the 4 tile door (using s3pe).

Unfortunately, the footprint now snaps starting 1/2 tile in, rather than at the start of a full tile, so I am still stuck with 1 tile of wall between the doors!

I would appreciate advise on how to get the footprint to snap onto full tiles. So far I have tried adjusting:
1. both min and max of x-axis of footprint only
2. both min and max of x-axis of footprint and VPXY
3. min of of x-axis of footprint only
4. min of of x-axis of footprint only and VPXY
5. using the co-ordinates taken from Milkshape rather than those from S3PE 6. eventually randomly switching around values in tsrw, as I cried in frustration...


I am not very computer literate, so if the fix is very complicated, there is probably no point in trying to explain it to me
Forum Resident
#18 Old 18th May 2011 at 3:32 AM
Hi,

I am guessing this is a footprint problem, but I'm not too sure.

I meshed the hot tub for my sims game, and made it a bit narrower. I changed the footprints to hug the tub, but in game, there is still the dent of what the old hot tub had. Also, on the edge of my hot tub, some of the grass shows through. I think this is something with the footprint, so hopefully I'm asking in the right section.
Lab Assistant
#19 Old 15th Nov 2011 at 7:32 AM
Thanks for this tutorial. I also did a marble on my first try, like orangemittens

Finally I actually realized that the S3PE updates the VPXY for me when I import the mesh. I have always been wondering what it does about the "bounding box", but that info goes to the VPXY. So I only need to change the FTPT myself.

I was also wondering the difference between VPXY and FTPT.
In this thread it was told that FTPT controls the green thingy size, and while doing the stairs I found out that the floor cutout is also defined there. Did I understand correctly that it also defines what things can intersect my object?
VPXY controls what can be grapped in the game, but is that all that it does?
Alchemist
#20 Old 15th Nov 2011 at 8:27 AM
Quote:
Originally Posted by misukisu
Thanks for this tutorial. I also did a marble on my first try, like orangemittens

Finally I actually realized that the S3PE updates the VPXY for me when I import the mesh. I have always been wondering what it does about the "bounding box", but that info goes to the VPXY. So I only need to change the FTPT myself.

I was also wondering the difference between VPXY and FTPT.
In this thread it was told that FTPT controls the green thingy size, and while doing the stairs I found out that the floor cutout is also defined there. Did I understand correctly that it also defines what things can intersect my object?
VPXY controls what can be grapped in the game, but is that all that it does?
The FTPT determines where the edges of intersection for your object are and what it will intersect with etc. The Wiki has a section discussing the resources in a .package that shows the relation of the resources...it might be helpful. And just for the sake of accuracy...I got this to work just fine on my first try. It was only when experimenting with it that I got a marble
One horse disagreer of the Apocalypse
#21 Old 15th Nov 2011 at 8:35 AM
S3PE does not update the vpxy. TSRW may, but S3PE only ever edits one resource at a time.

"You can do refraction by raymarching through the depth buffer" (c. Reddeyfish 2017)
Alchemist
#22 Old 15th Nov 2011 at 8:39 AM
True. But as I posted above in post 6...you don't need to change the VPXY to alter the FTPT.
Lab Assistant
#23 Old 15th Nov 2011 at 4:23 PM
Thanks!

I stand corrected. I did not understand that TSRW would edit stuff in several files. And here I have been, thinking that I do some *controlled* changes with it.

The only wiki page that I have found about package contents is this: http://modthesims.info/wiki.php?tit...PackedFileTypes
I guess that is not the one you meant?
Alchemist
#24 Old 15th Nov 2011 at 10:33 PM
Quote:
Originally Posted by misukisu
Thanks!

I stand corrected. I did not understand that TSRW would edit stuff in several files. And here I have been, thinking that I do some *controlled* changes with it.

The only wiki page that I have found about package contents is this: http://modthesims.info/wiki.php?tit...PackedFileTypes
I guess that is not the one you meant?
http://simswiki.info/wiki.php?title...oding_Tutorials

Also, if there's a specific thing you're looking for in the SimsWiki you can click search at the top and fill your search-word into the Search Wiki line.
Lab Assistant
#25 Old 16th Nov 2011 at 7:25 AM
Thanks!
Page 1 of 2
Back to top