By anchor colliders I meant the specific points on your model where you’re going to do something if a user were to click on that point. In the video the individual anchor colliders would be the posts of the walls, the corner of floors that kind of thing.
Had a bit more time to kill:
To expand on what I mean. The video shows the “player” clicking / highlighting specific areas of the 3d world. Building from the terrain to a foundation, to walls, to stairs into finally a building. There are several behaviors exhibited. First there is a logical progression between structures influenced by adjacent, existing structures. Secondly players can advance the progression by either clicking on areas of the model, clicking off into space or clicking on the ground.
The player starts by clicking on the ground and places his initial piece, his foundation model. The foundation model could be a prefab or procedurally generated. To allow a player to click on a corner for instance there needs to be a point defined as clickable some how. This would be an anchor point.
At each of these anchor points you’d place a box colilder extending upward when it was appropriate for a player to click into space to select a post above a floor. You’d have an underlying collider that would represent an area that if clicked would represent a floor action. So now the player can add walls and floors by having the mouse over a specific area. They’ll be able to commit a build order or change options for that area based on a tree of acceptable options for that area.
As you moved your area of interest trigger around it will either contain or not contain other structure colliders. If you’re on the terrain and clicking then you likely want to place a foundation. As soon as the foundation exists, your trigger area now contains a list of colliders that intersect the area. You’ll have the floor collider, the corner colliders (the large circles) and the midpoint colliders (smaller squares) and likely wall colliders along where future walls would be. The player’s mouse focus point could be over any or none of those colliders at any given time.
Case 1: The player is clicking on the terrain and there is no structure colliders in the target area and the player is centered over the terrain.
Result : Place a foundation.
Case 2: The player is clicking on the terrain and there is at least one structure collider in the area of interest.
Result : Place a foundation snapped to nearest side of the model that is represented by the nearest suitable corner collider’s anchor point.
Case 3: The player is clicking on a model collider and there are multiple structure colliders in the area of interest.
Result : Place a new object based on the collider the mouse cursor point is over. If it’s the floor collider set or change the floor texture. If it’s a corner set or change a new column object on top of the colliders “bottom”. If it’s a column clicked near the bottom change the baseboard. If it’s a column clicked near the middle change it’s style and so on.
The logic to handle the progression can be stored in several ways either with the models or in a tree like data structure. For each anchor point type you could define a list of available options / effect if the player were to click it.