I set up a grid at the top of the bounding box and set up an instance sphere,
When I push down the edges of the bounding box, the edges and faces on the grid side do not move together.
If you move each face of the bounding box with g+x, g+y, g+z, it will follow normally, but if you select an edge, move a face appropriately, or move a vertex, something goes wrong. It becomes movement.
maybe that’s not the same edge (you have doubles there)
in edit mode → vertex context → A to select all and press M merge by distance
and try again
but the division on the top will cause an issue is you want all the top to tilt. so maybe you should subdivide the rest the way and have the merge after
or is it that the whole top part was added in Geometry nodes?
cause you’re using the bounding box. maybe you added a cube and using it’s bounding box and thinking that the bounding box will deform like the original cube but that’s not the case.
the bounding box stays parallax to the axes, and will be like this in the last example:
What I want to do is take the original shape of a plane, cube, or bounding box and convert the top surface into a staircase. I would like to create a procedural staircase generator that transforms a plane or cube by extruding faces and lowering the top face to display stairs on an incline. I also thought I might need to separate the top surface.
We want to keep the cube’s edges, vertices, and faces in a state that does not separate even if we constantly move them, like in normal modeling.
I’m currently using an ICO sphere for the instance, but eventually I’m thinking of changing the instance to the first step object of the stairs. I also think that it is necessary to always make the instance upward.
edit you see the edit at the bottom that it was not the bounds of the display but it’s those nodes creating the box? i just didn’t want to delete what i posted at first
Hi Hide1991,
as @cgPixel already pointed out, using the Bounding Box alone is not the whole solution.
You might want to check out the Raycast node! Here’s a little example:
The Map Range node here will stretch the original Grid with a Size of 1x1 to the Bounding Box dimensions. Notice that the From Max - Z value has to be bigger than the From Min - Z value in this example for it to work! You can however also transform the grid like you did in your first example - works fine aswell! The number of the faces of the grid will later define how many instances will be placed.
The next step is to use a Raycast node to detect where the Instances should be placed by “shooting” some rays into the negative Z-direction and checking, if the rays hit or not:
Notice that we offset the Source Position slightly into the positive Z-direction! We then convert the Mesh into Points if the Rays hit and set there position to the Hit position.
oh! Transform while staying connected!
I think this is very close to what I want to do, thank you!
I’m lending my PC to a family member, so I’ll try it tomorrow!
that nodetree create the bounding box. サンプル - バウンディングボックス
and nothing else
node3 reads the positions of all the points of the object and give you some utility values like min max range …etc
node 5 create a cube. it’s size is the range of the positions of all the point of the object from node 3 . which mean the bounding box size in each axis
node 4 divide that range by half (multiply by 0.5) and add the min which will give you center of the bounding box.
node 6 moves that new cube to that center we calculated in node 4
node 7 will convert the cube to curves (no faces just lines)
node 8 will join the original object with the new cube (bounding box ) in one object
very sorry! I noticed your post late!
I tried it and finally figured it out!
I confirmed that moving the bounding box results in a parallel translation. (Moving a vertex/face also translated it in parallel).
Unfortunately, it doesn’t match the deformation of the original mesh… .
thank you!
You have successfully placed one instance of a staircase on a slope!
Just push the sides out to the side and press down on the top to create a slope, which is great!
If you only want to place the Instances on the slopes you could compare the angle between the Hit Normal and the Up-Vector (0, 0, 1) with a Vector Math - Dot Product against a certain threshold:
I also noticed a little mistake i made in my original post → at the top left of the node tree there should be two Math - Add nodes instead of the Math - Subtract ones!