I just make one ceiling section and one column support, import those, then use them as my building blocks. That keeps the mesh data to a minimum, making it much faster to send to the visitor. You can even make the columns using prims if you prefer, so the only thing you can't do in-world is make the ceiling. This mini-tutorial will show you how it's done in Blender and is suitable even for beginner level users. It should take less than half an hour to complete.
For this one I use a 1.5m radius (hence a 3m diameter) and 4m length. The critical thing is the length must be at least as great as the diameter and no more than double the diameter. It's the ratio of the two that determines the overall look of it and is worth experimenting with. The closer the length is to the diameter, the smaller the column portion and intervening joiner.
Don't fill the end caps and rotate it by 90 degrees on the x-axis or y-axis so it's lying on its side.
On the Tools tab of the toolshelf, click the "Smooth" shading button to give it smooth normals. Then enter Edit mode and with all faces selected invert the normals using the menu Mesh > Normals > Flip Normals. That causes the faces to be oriented towards the inside which is where we want them, rather than to the outside. Then return to Object mode.Now duplicate the cylinder and rotate it by 90 degrees on the z-axis using the hotkey combination of: shift+D R Z 90 (duplicate > rotate > z-axis > 90 degrees) and press enter.
That will now give you a pair of intersecting cylinders where the upper halves of both form the classic Gothic vault shape. All we need to do is get rid of the overlapping parts which is easy using the Boolean modifier.
If you've never used the Boolean modifier I suggest hiding the duplicated cylinder so you can see what's happening as you apply the modifier to the original object (select it and hotkey H or click the little visibility eyeball in the Outliner pane).
Click the "Object" box to get a drop-down of other scene objects, and since our only other object is the duplicate we made a moment ago, it will be the only one in the list.
By default the modifier should select the "Intersect" operation which is the one we want in this case. If it doesn't look like the accompanying picture for this step you probably skipped the step, above, to flip the normals so Blender is interpreting the operation differently. If that's the case, either go back and flip normals for both of the cylinders, or set it to "Union" operation and then flip normals later.
As you can see, this modifier produces almost the exact shape we want (once we cut the bottom half off) but there are a few other things we need to take care of as well.
Normally I prefer to wait until the very last possible moment before applying modifiers, but in this case we need to work with the post-Boolean object so go ahead and click the modifier's "Apply" button.
Now un-hide your duplicate cylinder and you'll notice that it's completely unaffected...its only purpose was to provide the secondary object for the Boolean modifier. Since we don't need it any longer we can delete it.
Now switch into edit mode where we first need to do a little clean-up since the Boolean modifier often leave orphaned vertices that don't cause problems in Blender but will usually make a mesh refuse to up-load into Opensim. Select all, then click the "Remove Doubles" button (on the "Tools" tab of the toolshelf) to get rid of them.
Next, select all the faces of the bottom half of the object and delete them, leaving us with only the final shape we're interested in.
Now select all faces and UV map them using the Unwrap method. If you plan to make your textures using Blender's procedural methods you can work with them from this point however you like.
I prefer to give myself more flexibility and a lot more versatility but arranging my UV map to facilitate using seamless textures with any tiling I need.
To do that you need to arrange the resulting map to have all four islands superimposed and aligned along one of the map edges. The seams will now match perfectly on adjoining pieces when you build your ceiling as long as you tile in whole number increments.
Our final step before export is to add an Edge Split modifier which will break the edges we've marked as sharp. This increases the vertex count but makes the normals of the surface look correct and it doesn't change the face count. I also add a Triangulate modifier set to "Beauty" although with this object there's almost no visible difference between that and the "Shortest Diagonal" method.
The advantage of the building block method is how rapidly the geometry can be sent to the visitor's viewer and the very low poly count which will make it much more gentle for underpowered graphics cards to display. Using the seamless UV map approach also means we can use any seamless texture we want on it...brick, tile, stucco, paint, marble, or anything else that fits the need.
Because it's a single object, it can also be scaled in any dimension you like. For my sample image at the beginning of this post, I have them scaled to only 1m height around the edges and 2m height for the center ones. Of course this meant I had to make end caps for the transition pieces but that's very easy to do from this point of the model. I made matching mesh columns for mine but you can use prims if you prefer. They just need to be the appropriate size for the arch portions to rest on.
|Me standing under a 3x3 array of them before I add columns|