I want to create a roof using geometry nodes, but I’m not sure how to approach it

I want to create a roof using geometry nodes, but I’m not sure how to approach it.

I’d like to make a roof similar to the one in the image below, but I don’t know how to proceed. I’ve tried several approaches, but it’s not easy.

reference images.
image
image



It’s been three weeks without progress, and I’m leaving this message out of frustration.

My approach so far has been

  1. Creat the house’s floor using plane geometry.

  2. Use the geometry just created to generate walls.

  3. Raise the geometry created earlier to use it as the roof with “set position”.

  4. Leave the vertices of the corners and the edges of the middle point.

plane

mid edges

combined image

Although I worked on it this way, I’d be very grateful if you could suggest a better method.

Since I just recently joined as a new user, I’m unable to upload files. Instead, I’m sharing the file via a Google Drive link.

Tough one. I’d probably make some modular roofing parts and then use those in the geometry nodes setup instead of doing procedural roofing.

But my approach would be:

Set the roof height by extruding the floors up (so you now have a copy of the floor at the ceiling height)

Solidify the roof to desired height by using the extrude node (disable extrude individual) in face mode.

Merge by distance.

Select the top faces. This can be done using the “top” attribute from the extrude node. Then scale the edges so that you get a slanted roof.

Then one of two ways:

Set edge creases and subdivide.

or:

Store the ceiling height (you are going to have to use a sample index node or similar approach later for this)

Convert to volume (volume to mesh)

Convert volume to mesh.

Select bottom part of the mesh (use a normal node connected to a vector math done set to dot product with the Z value at -1) and delete it.

Use the stored ceiling height and subtract the new “lowest” height (statistics attribute node works best for this) and set the position offset using this value since converting to a volume and back will change the height of the roof.

Plug position into a blur attribute node set to vector, and then plug that into the position of a set position node to smooth the roof.

Then lastly use the remesh modifier to set the desired resolution and then a solidify modifier.

The shape of the roof of the house varies depending on the finishing material, but the basic structure of the roof of the traditional house is similar.
But it’s slightly different depending on the time and region.




You can get a variety of information from that link. (photo, drawing)

http://hanokkorea.auric.kr:8088/main/rnd/thanok/list.do

This link has a 3D video that you can refer to.

https://hanok.ugyo.net/sitemenu/view.do?menuCode=325

Add…

I’m not sure how to use the geometry node.
But I think the first thing to do is to model the roof.
After that, I think we should think about whether it can be configured using a geometry node.

For example, wooden structures in the basic configuration of the roof could be created using geometry nodes.
I think the roof’s finish can also be made using geometry node hair.

I don’t know what format you want to make it in.
If you want to create the roof automatically, you can also utilize BIM Data in the link below.

http://hanokkorea.auric.kr:8088/main/rnd/bim/about.do?mid=3007

2 Likes

답해주셔서 감사합니다. 한국분 같으셔서 적습니다.

제가 원하는 것은 초가집 제너레이터를 만드는 것입니다.
그랬을 때에, 지붕의 형태는 집의 형태를 따라가게 되어있는 구조인데
대부분 일직선인 경우와, ㄱ자인 경우가 있고 집의 크기에 따라 지붕의 크기나 형태가 또 달라지죠.

그랬을 때 집의 구조나 벽에 대해서는 만들었으나, 그에 따른 지붕을 제작하려니
대부분의 튜토리얼이나 다른 영상들을 참고 하였을 때에 지붕의 끝 쪽 면 마무리가 대부분 중세 건축물 같이 되더라구요. 아래 링크 참고 하시면 될듯합니다.
Geometry Node Assets: Build Roof Node #blender #geonodes

하지만 초가집같은 경우 벽으로 이루어진 것이 아닌 레퍼런스 공유해주신 것처럼 제작하려면 끝이 사선으로 되어져 있어야합니다. 그 부분이 막혀서 질문을 남겼습니다.

Thank you for answering
What I want to create is a generator for traditional thatched-roof houses.
In this case, the shape of the roof follows the structure of the house.
Typically, the roof is either straight or in an L-shape, and the size or shape of the roof also changes depending on the size of the house.
While I have already created the structure and walls of the house, making the corresponding roof has been challenging.
When referring to most tutorials or other videos, the finishing of the roof edges often resembles medieval architectural styles.
You can refer to the video link below:
Geometry Node Assets: Build Roof Node #blender #geonodes
However, in the case of traditional thatched-roof houses, the edges should be slanted as shown in the references. I’m currently stuck on this part, so I decided to ask for help.

As far as I know, thatched houses cover the roof in the form of a long skirt.
In this case, you’ll need to use a geometry node using a curve.

I don’t know much about geometry nodes, so it’s hard to give you a proper answer.

https://youtu.be/EKZVmwN0e3Q]

You should refer to the video and figure out how to make it a geometry node.
I think fence making is more suitable than a lecture on roof making.

Add…

Add…

  1. Use the curve to create a face (green)
  2. Create a hair on the created face or set it using material settings. (Pink)

If you solve this process with a geometry node, I think it can be created automatically.

I will try it. Thank you