void OnParticleCollision(GameObject other) { Collider collider = other.GetComponent<Collider>(); Vector3 collisionPoint = collider.ClosestPointOnBounds(transform.position); Debug.Log("Collision point: " + collisionPoint); }
Лучше через tryGetCompinenet, если уж ты решил все расписать, так как на налл проверяем сразу, из миллиона багов, на один меньше будет
void OnParticleCollision(GameObject other) { Collider collider = other.GetComponent<Collider>(); if (collider) { Vector3 collisionPoint = collider.ClosestPointOnBounds(transform.position); Debug.Log("Collision point: " + collisionPoint); } } Лучше?)
А если фолс будет? if всегда сравнивает на тру, а если фолс будет, то крашнется, так как не расписал иной вариант, просто other.tryGetComponent и тас в условии collider out Collider и дальше уже описываешь, не нужно будет исключение описывать, он сам отрабатывать будет, и не крашнется
Каким образом будет краш? False будет тогда, когда collider == null. О каком краше ты говоришь?
Отлетит коллайдер, не будет просяитываться, нечаяно удалишь еще, да куча вариантов
Обсуждают сегодня