zak pro guide for making accurate 3D skyboxes:
- Place a cube with the center at the exact origin of the map, where all the blue lines meet at the middle on the 2D grid, with a size that is exactly double your skybox size multiplier. If you're using the default scale of 16 times smaller, that means your cube will be 32x32x32. Make it a texture that stands out as something that obviously does not belong, like a dev texture.
- Build your skybox as if it was just a regular part of your level, full-scale and everything. Make double sure everything is aligned properly. IMPORTANT CAVEAT: Any and all brushes should be at least the skybox scale in units in every dimension. This means with a skybox scale of 16 by default, you shouldn't include any brushes less than 16 units cubed, to prevent microbrushes.
- Once you're satisfied, turn every part of your 3D skybox into a single func_detail (or don't, but enjoy your increased compile times).
- Make sure you have both "Texture Lock" and "Scaling Texture Lock" turned on. These are represented by the two buttons on the top toolbar that look like "tl" and "<-| tl |->", respectively.
- Select all of your 3D skybox, and the 32x32x32 cube you made earlier, and hit ctrl+m.
- If you're just using the default skybox scale of 16 times smaller, select "Scale" in the window that pops up, and set X, Y, and Z to 0.0625 before pressing ok. If you're going to change the scale to something like 32x, you need to make it 32 times smaller, so 0.03125, or 8x smaller would be 0.125, and so on.
- You should now have a properly skybox-scale skybox. Move the tiny geometry anywhere you like, preferably somewhere far from the level, and enclose it in a skybox texture.
- The cube you created at the start should now be 2x2x2, assuming you followed directions at the start. Create your sky_camera entity, and place it in the exact center of that 2x2x2 cube. Afterwards, you can delete the helper cube.
Now, you have a perfectly aligned 3D skybox. If you ever want to make any other additions, follow mostly the same steps, just align your helper cube with the sky_camera entity.
Will include screenshots later, out of the house currently