
< /p>
Это мой код SpringForceTransmiser.cs:
с использованием UnityEngine;
Код: Выделить всё
public Rigidbody InverseJoint;
private void OnCollisionEnter(Collision collision) {
Debug.Log("Enter");
}
private void OnCollisionExit(Collision collision) {
Debug.Log("Exit");
}
private void OnCollisionStay(Collision collision) {
InverseJoint.AddForce(-(collision.rigidbody.mass * Physics.gravity));
Debug.Log("Stay");
}
Итак, согласно логу, показанному на видео, OnCollisionStay() перестает вызываться, даже если OnCollisionExit() никогда не вызывался. Как это возможно? Я всегда думал, что OnCollisionStay() вызывается в каждом кадре из кадра OnCollisionEnter и кадра OnCollisionExit.
Может ли кто-нибудь пролить свет на то, что здесь происходит?
Подробнее здесь: https://stackoverflow.com/questions/470 ... ed-unity3d