I have a 3D model which is composed of an assembly of hexagonal-shaped interlocking blocks.
The problem is whenever I start my Kangaroo simulation the block simulation seems to not follow the logical physical movement.
I designed the simulation so that when the blocks that are not on the boundary are lifted up, they lift each other as they are interlocked and then stop when they reached their maximum lift distance according to the gap spacing between them.
The blocks on the boundary are fixed so that they stop the whole configuration from moving freely upwards.
Could you please help me with that? Everything is attached.
Even if I had your plugins, I probably wouldn’t be much help because I don’t know much about Kangaroo. After looking at this though, I do understand what you’re trying to do and managed to get this white group (below) that completes the construction of your hexagonal blocks (green group) without any plugins, It preserves the data tree structure from the Hexagonal component, though that doesn’t matter because it gets flattened for Kangaroo.
I’m pretty sure the code before the white group could also be simplified, but I left that alone. Simpler code is always easier for me to understand.
Well, thank you Joseph for your efforts, but I had no problem with the blocks themselves nor with how were they modelled.
My problem is that the simulation is failing due to something in the Kangaroo components setup that I need help with.
I would not recommend trying to simulate this with solid meshes and RigidBodyCollide.
Instead I’d try and figure out what the geometric constraint between neighbouring blocks is and apply that directly. For instance it might be that they stay connected at the corners and the angle between them can only change up to a certain limit. If this was the case one could model it with lines and length and ClampAngle goals.