Solution for pins falling through floor

*** update: later I realized this solution has already been posted here: [Suggestion] showing the real issue with the pins going under track ***

Much later on through the lectures I have faced the same issue of the Pins falling through the floor after Renew. I was going through the same procedures as Ben did, just to be left frustrated, as it didn’t work. But even if it did, I felt like it was “patchy”. We were looking under the light for the key all this time: it must be the physics… Well, at least as I finally solved it - it wasn’t!
The strange behavior came from that after we Renew there is a Lower animation. That is, right after the pins are instantiated - whether on the floor a bit above it - we try to lower them through the floor about 40 cm! And that’s why even though I manage to “save” some, others were blown back like trying to drown a ball in the water. When I disabled the Lower animation (and so, the Pin.Lower() action after Renew), suddenly it worked well without any need to rig the physics settings.

2 Likes

Thank you I was losing my mind. I had one pin (#10) that kept falling half way through the floor while the others worked fine. It was the lower. So I ended having my RenewPins() Instantiate the and then call pin.Renew() which I just turned the pin gravity off and set it to a height of the “distanceToRaise”. Then my lower worked fine. Oh, I did have to place my rigid_body = GetComponent(); in the Awake method to be able to use the rigidBody. Start() was not cutting it.

1 Like

I too realized the same thing, that it was an issue with the “Lower” animations. However, I notice the actual issue was with the animation transitions.

Renew to Lower Transition
Before
After

Lower to Exit/Idle Transition
Before
After

So it turns out the transitions had unnecessary fading going on, which was causing the Lower animation to play multiple times, instead of only once. The same thing occurred with the “Tidy” sub-state machine.

1 Like