Gravity and collisions

I thought it would be cool if we could play around with blocks like we used to do in archi school, to make massing models, since in vr we are able to control objects alot easier with our hands.

Hi Ikwongfai!

Thanks for the hint! This is not difficult to add: our tool is based on a game engine which comes with all the logic about physics. The problem is what kind of interactions make sense for an architect or designer. It is pointless (even if cool the first time) if we can only pick the cushions from the couch and throw them outside the window. Maybe you can help us come to a better goal.

What you can already do is draw shapes, cubes or similar, and put turn them into sketchup groups and components; then you can move them around and rotate them freely with the “free-hand” tool. So far it is already all implemented, but with no collision detection and no movement once you release the trigger. What would be interesting is to add a mode where these groups fall automatically by gravity and collision once you release them. In this way you could build something like piling up blocks. Is that close to what you have in mind?

Note that to make real architectural massing models, it might be better to not have any gravity and collision. The existing free-hand tool might be all that is really needed.

Yes that’s exactly what I meant. I meant by the way a piece of geometry should ‘fall’ or follow physics. I believe that when producing massing models by hand, we feel the volume of the blocks better when we see it react to gravity and physics. At this point, I cannot find any vr sketch tool that has this function when vr already gives you the freedom to interact objects with hands. There’s gravity sketch but they actually don’t have any actual gravity. There are some ‘sandbox’ be games that can simulate this, but aren’t really for design and difficult to transfer to cad applications. Anyways, just and idea I though might be useful in design with vr.


I’ve implemented a draft version. Are you interested in getting it? I would be interested in getting comments about it :slight_smile:

If so, please tell me if you need the Oculus Quest (.apk) or the PC version.

Wow, thanks for the response, yes I would love to try it. I am using the oculus quest without the link cable.

Use the “hand” tool above Move/Rotate/Scale to move a single group or component instance. This version doesn’t work if the group or component is really too complex; we implicitly take its convex hull for the physics movement.

Only one group may be moving at a time: it moves until it stops, and then it’s fixed there.

As I said, I’d love to hear your opinion and if this is useful and other ideas.

Moving the cardboard guy or girl of the initial, empty model gives unexpected results: the cardboard falls to the ground, but then it reorients itself to face you.

Hello, awesome stuff!~, I have quickly tried it out and it behaves just like how I imagined. This allows me to place objects like I would in reality, and I like how the object snaps to the ground instead of intersecting it when using the previous move tool where I would need to use snapping tools to align it.
I also like how the object has a lifespan as well as how u limited it to one object so that it doesn’t slow the model down. I dont know if this would be formally implemented but if it does I guess that this could be under settings to be able to turn gravity on and off in the settings

Great work

Thanks for the feedback! Yes, it’s limited to one animated object, but not (necessarily) for reasons of performance: it’s because there is no reasonable way to know which groups, out of all the groups present in the model, should fall down or not. As a result, if you put one block on the ground, then another block on top of it, then remove the bottom block, the top block remains hanging in the air. But it’s not clear how we could determine that the top block should fall down. Maybe the top block could remember that it fell there by gravity some time before, but that introduces a hidden state that I don’t like.

You can already enable and disable gravity in the context menu of the tool (use the “menu” button of the controller). But yes, I’m also adding feedback on the controller itself, and also maybe giving a different aspect to the group’s material itself.