The floor levels of TS2 Build Mode - Their use and their limitations
Sometimes when you build something in The Sims 2, you get to a point where you want to do something that seems perfectly logical and obvious and looks as if it should be no problem at all - but for some reason the Build Mode refuses to let you do it. Two pieces of flooring that are clearly exactly level with each other are separated by only one empty square, but you simply cannot place a floor tile to close the gap and connect them. And if you do manage to place that tile, maybe because you have turned on a cheat, suddenly one of the two floors has been pushed out of the way, as if by a force field, and now looks squashed and warped.
Sometimes you find a tutorial that teaches you how to build what you want, but you have to go through lots of complicated steps, that include building temporary scaffolds and guides, using cheats, and often very nearly destroying everything you've already built. And you wonder why it's so complicated.
The reason why this happen lies in the way that The Sims 2 models its most basic 3D building blocks, namely the floor tiles and walls. They are not freeform 3D objects as one would have in a generic 3D modelling program, but they are restricted to specific slots in a rigid, square matrix somewhat like this:
Floor tiles can only be placed into the horizontal squares on one of the planes, and walls (ignoring for the sake of simplicity the special case of diagonal walls) can only exist in one of the vertical rectangles, connecting a grid line on one plane with the line directly above.
The only variation allowed in this rigidity is that each of the intersection points defining the squares can be raised or lowered along the vertical axis, thus deforming the floor planes like this:
However, no point can ever be raised or lowered so far that it touches the next plane. The game enforces a minimum distance of four clicks, above and below. This also has the effect that two squares from different planes can never be directly side by side. There will always be at least one square of space between them, in which the two planes slope downwards and upwards respectively to avoid each other:
This is the reason why sometimes two areas of floor simply cannot be connected, even though they are at the same height. They are on different planes, and there is no horizontal square in which a connecting floor tile could be placed.
Another effect of this is that you cannot get a 90 degree slope in one of the planes, whether it's the ground or one of the upper levels. For two adjacent floor squares of the same plane to have different elevations, the grid points between them would need to have two different heights at once:
It's not possible to do that. The only thing you can do is to put one of the grid points at one height, the next one at the other height, and let the ground slope between them. Normally that's not a problem, because you would simply use two different planes and connect them with a wall to get your 90 degree angles - but when "excavating" a hole in the ground level for a basement, that's not possible, since there is no lower level than that. You have to use the plane of the ground level for both elevations and hide the slope, e.g. by building walls at either end or by building a foundation across it (which is basically the same thing, only more automated).
Concise synopsis of floor/level properties and actions.
I found it helpful to 'count' levels, with the ground being zero. No level can be less than zero ... you can lower the ground, but you can not go below ground.
The top of each wall and/or foundation define the next level. The OFB stages do NOT define a level. They keep the same level number as the surface they are sitting on.
For instance, you can place a stage and a normal foundation right next to each other. You can tile a floor across them so it looks perfectly level, but sims can not step from one to the other. It is the same as if you told them to go to the next level without a stairway between them.
Just more infos to add from my view point and experiences (updated 11 Aug, 2006 / 20060811).
the cheat "boolprop constrainfloorelevation false" (the short-hand here, "bp-cfe")
1. for every upper layer instance, they seem to follow the same "layer template"
2. The pool surface seems to function like a (updated 11 Aug, 2006) OFB stage on an inverted level. It seems to be the first underground level. The supporting factors for that is how the pool accesories can be used.
3. The pool bottom is more like a real underground level than the pool surface (updated 11 Aug, 2006) because the re-wallpapering shows that only 1 level of wallpaper is used. The pool bottom has grid layers around the area, behaves the same way as an upper level (above the ground level) does but just in the opposite direction (updated 11 Aug, 2006) when the cheat bp-cfe is used.
4. when combining 2. and 3, the pool surface can be just an another invisible "stage" on the pool bottom which is more a real level layer
5. On the 10th level above the ground level, there's a height-limit that affects how the cheat "boolprop constrainfloorelevation false" works on that level and the above level. The height-limit seems to be more specific to that particular height point rather than the the number of levels...
6. the grid layer of a lot is, just like the neighbourhood plain, seems to be defined by some tangent equation, so they can't get to 90 degrees. But, it seems it's due to these tangent-related equations that enable the curvature of these layers. Surely, these're more TS2 engine-specific. And it never means it's to be true for other "3D" softwares.
7. When a grid of a grid layer (whether it's for the neighbourhood terrain or a lot), the "height" of the grid(s) will be fixated and recorded making them unchangeable until untiled/"un-lotted"( the lot is removed).
8. The shape/morph of the wall segments relies on these height points which the grid(s) of a given grid layer define(s). So, to shape the wall, one has to shape the floor with tiling instead. Probably, there's another way to do it...
-There're a few ways to control how the grids are shaped
- a - The cheat "bp-cfe" is to shape any layer upper than the ground layer or any layer lower than the ground layer (in an opposite direction to the upper ones)...
May read Numenor's tutorial for the cheat "bp-cfe": http://thesims2.ea.com/exchange/sto...&user_id=661672
- b - the wall.txt will affect the shape of how the walls are handled in the game.
May read Numenor and Kopperman info thread:
Modding InfoCenter - Partitions: walls, fences, fence arches http://www.modthesims2.com/showthread.php?t=106473
- If those grids are predefined by floor tiles, then those grids won't change their height points to match/fit the wall top's height points. So, If those grids are untiled, they will change their height points to match/fit the wall top's height points. These are true when no "bp-cfe" is used. When, the cheat "bp-cfe" is used, the height-locking property of floor tiles on their grids will be overriden by the cheat, so the grids with or without tiles will match to the wall top's height points. However, when certain wall.txt modifications are done to have the wall segments acting in the "unlevelled wall" manner, the wall tops will try to match the grid height points regardless of whether those grids are tiled or not or whether the cheat bp-cfe is used or not.
Lol, this is a nice graphical explanation... :clap:
connecting/modular stairs can get down the pool bottom. and , I thought I'd seen some pics a long time go sims playing in the pool bottom far before NL. In NL, sims just jump back to the pool side even if command them walk down the stair...