Hello everyone! This tutorial is a revised version of one I originally posted in the Shiguto Discord, and is aimed at providing a comprehensive process on designing Chinese/Japanese/Korean-style traditional curved shingle roofs. The basic principles can be adapted to fit different building proportions and architectural styles.
The technique used in this guide centers heavily around the use of the Archimedes Two plugin. A building tool with rotation and individual axis moving features like Studio Build Suite (SBS) is highly recommended, along with Stravant’s Reflect plugin in order to streamline the building process.
03/18/22: This guide is now about a year old, and I believe I should be able to do an even more in-depth overhaul of it in the future if there’s public interest towards it. I’ve learned many skills and techniques since then, including the construction of the tokyō (Chinese: dougong) rafters pictured above, that I wouldn’t be afraid to share!
We’ll need to start off with a small square roof segment, representing one column of megawara tiles. The entire roof will be built out of a grid of these squares using the Archimedes plugin. Be mindful of the size you choose; a smaller size will allow you to define higher-fidelity roof curvature due to the number of increments, while a larger size may save on time efficiency and part count. The size of the tiles may also be based on the proportions of your reference image (if applicable). I used (4, 0.4, 4) for the part above.
You can use a custom MeshPart in place of a regular Part for accurate megawara shingles, as demonstrated above by FosterDragons.
It might help to build a rough mockup of the total size of the building to help you get an idea of how dense you want your grid to be/how large you want your segments to be. The mockup here is about 120x120 or the size of a large Shinto haiden (main hall of worship) or Buddhist butsuden. If you’re building something like a regular pagoda, the dimensions will probably be around half this size (you might need to adjust the size of your tiles accordingly).
Rotate your segment to the steepest angle of the roof - try using a reference picture if you’re not sure how steep to make the incline. I used an angle of 30° here.
Use Archimedes and start creating a curve downwards. This will define the overall profile of the roof’s curvature. If your segments are smaller, you’ll use a smaller angle increment, whereas if your segments are larger you’ll probably use a higher angle increment. In this case, I created 7 segments at an increment of 3° each.
Double-check to make sure the proportions and curvature roughly line up with your blockout.
Keep creating segments along the same orientation until you reach the edge of where the corner starts to taper. You could resize the first set of segments horizontally to fill this space to save on part count, but keeping them in segments for now will help make things easier later.
Now select this column of segments and start curving upwards using Archimedes (as of right now, a bug exists that will deselect your parts after each iteration, so you may need to re-select the column after each Archimedes iteration). Do not group the parts as it’s important that the parts are being generated along their individual edges. The curvature can be as subtle or exaggerated as you please, though if you’re using a reference image it’s probably a good idea to refer to that in order to get a sense of how curved you want the corners to be.
The curved area should have a grid of segments equal in length in width (7x7 in this case).
Start at one tile next to the top corner and delete the parts as shown. (The flat area of the roof is marked in red for differentiating purposes). We’ll build back the edge using WedgeParts in the next step.
Start adding WedgeParts on top of the outer segments and check that Align Dragged Objects is enabled to make the job easier. Alternatively, GapFill could be used to skip the next step. Verify that the selection box of each WedgePart aligns with the roof segment underneath.
Remove the underlying roof segments and use SBS’s MoveObject tool to move each wedge segment into place.
This method will produce some very slightly jagged edges, however this isn’t extremely important as these corners will be covered up later on. If in need of precise corners for whatever reason, use GapFill for this step instead.
Group everything and use Stravant’s Reflect to make it symmetric. We’ve now finished one side of the roof!
At this point, you may choose to finish the rest of the roof in your own way or continue following along with the guide for some additional details. The detailing sections will assume you have some familiarity with Studio tools and techniques already.
Start adding cylinders along the edge of the roof using the same Archimedes technique as before to create the ogawara and add whatever additional details you like. This type of tile is normally finished off with a cylindrical end tile nokimarugawara, which often use floral motifs.
You can use SBS’s MoveObject and ResizeCenter tools to easily create the komai and taruki rafters under the roof.
Create a square pivot part aligned with the edge of the roof segment and use SBS’s RotatePivot tool (select the roof segment, Ctrl+D to duplicate, then Middle Mouse button on the pivot part) to create the other three sides. You might have to do some manual editing around the corners if there’s parts clipping into each other, but don’t worry too much as a column will be added to obscure the corner seams.
Duplicate the pivot part and rotate it 45°, then use SBS’s MoveFirst and ResizeObject tools to align it with the corner of the roof to start creating the diagonal ridge mune. The end tile of a mune is known as an onigawara; they are named as such as end tiles on Buddhist temples often use the image of an oni to ward off evil spirits, though kamon crests, flowers and other animals can also appear on onigawara. Add details and use Archimedes to complete the beam, using the same technique for the diagonal shumigi beam under the roof.
The basis of the roof is now complete! You can either use this as the finished roof of a pagoda or continue building upwards to complete an irimoya style roof. This guide assumes some level of prior building experience and is mostly focused on demonstrating how to create the curved segments of the roof, so I won’t be covering how to do that here.
Techniques demonstrated in this guide were used in a collaborative project between friends and I (tentatively named The Edo District). I modelled and textured meshes for the ogawara, megawara and nokimarugawara, though the workflow is pretty much the exact same whether meshes or parts are used.
As a closing note, while I do hope this tutorial aids in helping you build traditional Asian architecture, I want to stress that Japan, Korea and China all have their own individual, unique cultures and subtle stylistic differences in architecture. This guide should give you a solid foundation for how to create generic Japanese-style shingle roofs, but I highly recommend that you proceed to do your own research on Asian architecture in general if you’ve only just started trying it out.
Please do not use Shinto toriis in place of Chinese paifangs or Korean hongsalmuns for example, depending on which country you’re modelling your architecture upon. Don’t use Shinto shimenawa as decorations for non-religious Japanese buildings (or use them!! if it is a Shinto building). I strongly believe that you should never build to do the bare minimum, and Google, YouTube documentaries, and informational sites go a long way when it comes to learning about what you’re building. The results of your research absolutely will show in your final product!
A helpful online dictionary for Japanese architecture is JAANUS (Japanese Architecture and Art Net Users System). There are many very informative diagrams and labelled photographs on that site, though it doesn’t quite hold your hand as to where to get started using it, so I’d still recommend using a combination of different research material.
Thanks for reading, and I hope this tutorial was of use to you!