Damn you Unity Physics
While trying to wrap up a few bug fixes with Coco Blast, one in particular was driving a spike into my brain.
For those of you who work with Unity3D, you probably notice that the integrated physics system is buggy. Let’s face it, most of the time nothing works like it should. This is why I’m ranting at the moment; hopefully I can save others the grief.
The Problem
My problem in this case was the fact that every once in a great while a spawning Ice Block Formation with physics enabled would simply freeze in mid-air. No physics, no gravity, no response (hello is anyone home? … NOPE).
The FIX
After many hours of trying to figure out if something was wrong with my code (maybe gravity was getting turned off or the rigidbody was being removed), we determined that it was simply an error in the physics engine. Save yourself some time and add this one line of code to your Start() method…
C#
<pre class="snippet-code">
void Start()
{
// This forces a small impulse on the attached rigidbody to wake it up!
rigidbody.AddForce(Vector3.down*0.2, ForceMode.Impulse);
}
After apply this to the problem child, everything was fixed. Well then, take that…
0 comments