Often floating objects, such as drinks on a shelf, are beyond the ability of level design to fix. That may seem a bit crazy, but that is because they objects are often correctly placed in the CK, but the objects in question (either the shelf or the drink) have a collision mesh that pushes them away from one another. Effectively, the hitbox of the objects are too big or are misaligned.
An easy way to check the collision mesh is to hit the f4 key which will toggle the collision mesh visibility.
These kinds of collision misalignments are NOT something that Level Design can fix, only the 3D team. It should therefore be treated as QA Blocked rather than Failed.
Notice the objects are flush with the shelf
With collision visible, we can see a very small gap between the visual top of the shelf and the collision top of the shelf.
Objects in the Creation Engine (and basically all 3D engines) exist with specific X,Y, and Z coordinates. The CK offers a quick and easy way to move along these axes. Clicking and dragging the object by itself will allow you to manipulate its position on the X and Y planes, however the Z plane can only be controlled by holding down the Z key while clicking and dragging which will lock the movement to up and down the Z axis. The same axis-locking exists for X and Y as well, and are controlled by holding down the X and C keys respectively while dragging the mouse. When you've got it locked, the object you have selected will be surrounded by a colored ring and arrow pointing in the direction of the axis it's locked to. This can be done with multiple objects at once by ctrl-clicking multiple objects.
You can also see the precise X, Y, and Z coordinates for a given object (called a "reference" here) by opening the reference window for a given reference and selecting the "3D Data" tab. You can do this by either right clicking the object and selecting "Edit" or just double-clicking the object. You can also see a lot of other options that we don't need to worry about for now.
But the important thing to keep in mind is that everything you do on this window only touches that specific reference you have open, and not the base object that all references are derived from.
Similar to the above, we can also rotate objects on a given axis by right clicking and dragging. Unlike moving an object, the default direction that gets rotated is along the Z rotation axis unless you hold one of the relevant axis keys (again, Z for Z-axis, X for X-axis, and C for the Y-axis. Thanks, Bethesda). Similarly, the reference window also lets you specifically set the rotation along the various axes.
For containers you can also open the reference window and select the "Open By Default" checkbox to put the container into its open animation state by default (if it has one). Together, this allows you to easily fix issues where a crate or an urn clips another object when open. Just set it to open, rotate it until it no longer clips, and then uncheck the "Open By Default" box.
And, of course, if there is an object sitting on top of an animated part of a container, it will need to be removed or moved. Feel free to contact LD if you're unsure what to do in those situations!
Something that can be confusing is determining what counts as a texture or 3D issue, vs. what counts as a level design issue. Let's go over a few common ones.
Gaps: The most obvious issue is when the player can see between tileset pieces, rocks, etc. into the void outside the playable area. This is a level design issue in almost all situations. For most interiors we use what's called a tileset wherein the architecture is designed to slot together like puzzle pieces, usually on a 256x256 grid. In caves, where things are a bit more freeform, it's very possible to accidentally leave a gap since we tend to mash rocks together rather than a nice on-grid set of tiles.
Z-Fighting: Another obvious issue once you spot it. This flickering effect is when two (or more) surfaces have the exact same Z coordinates and the game is trying to render both at once. This is ALSO a level design issue, and is usually the result of kitbashing (using a tileset in ways that were not intended).
Can occasionally effect walls as well, as can be seen in the gif, but floors are far and away the most common offender.
Textures not tiling: Part of tilesets slotting together smoothly is the textures lining up seamlessly. If there are seams visible, this should be reported to 3D if they aren't already aware. There is unfortunately nothing level design can do to fix this problem. Covering the offending spots with furniture or rugs only hides the issue and is therefore not encouraged.
It's not uncommon that objects need to be replaced, for example if there is a cell whose door is marked as "exterior" for both the inside of the cell and the outside. Rather than dropping in a replacement object that will need to be hooked up with any and all teleport markers, scripts, etc. you can instead just replace the existing object.
With the offending object selected, hit "Ctrl+F" to bring up the replacement menu. Generally you want to only replace "Selection Only" which covers only whatever objects you have identified as needing replacement.
Alternatively, if the replacement object is named similarly enough to the original object, holding ALT and scrolling on the scroll wheel with the object selected will cycle through all the objects available in alphabetical order. (A word of caution, the CK will crash if you try to ctrl+Z an object replaced in this way).
Handily enough, in the bottom left you can see the exact name of whatever object you last selected.
In order to submit your fixes to be merged into the next build, follow these guides:
Any additional questions can always be presented to your leads or to the Level Design leads!