using UnityEngine; public class ImpactWave : MonoBehaviour { [Header("Настройки эхолокации")] [Tooltip("Минимальная сила удара, при которой появится волна")] public float minImpactForce = 2f; [Tooltip("Префаб звуковой волны (или источника света)")] public GameObject wavePrefab; private void OnCollisionEnter(Collision collision) { // Эта строчка выведет сообщение красным текстом в консоль Unity при любом касании Debug.Log("УДАР! Сила: " + collision.relativeVelocity.magnitude); if (collision.relativeVelocity.magnitude >= minImpactForce && wavePrefab != null) { Instantiate(wavePrefab, collision.contacts[0].point, Quaternion.identity); } // Считаем силу, с которой предмет врезался в препятствие float impactForce = collision.relativeVelocity.magnitude; if (impactForce >= minImpactForce) { // Берем конкретную точку в пространстве, где произошло касание ContactPoint contact = collision.contacts[0]; // Если префаб назначен, создаем его в точке удара if (wavePrefab != null) { Instantiate(wavePrefab, contact.point, Quaternion.identity); } // Подсказка: если у предмета есть компонент AudioSource, // здесь можно вызывать звук падения, громкость которого зависит от impactForce } } }