Как получить дочерний объект в который попал Raycast Unity3D?
Возникла проблема, что луч всегда даёт информацию о родительском объекте. Допустим объект состоит из двух пластин, луч попадает в первую, как мне получить, например её имя, а не имя родительского объекта?
Physics.Raycast(ray.origin, ray.direction, out hit, 100f);
hit.transform.gameObject.name //выдаёт имя родителя
//или
hit.collider.gameObject.name //тоже самое
Ответы (2 шт):
луч попадет именно в тот обьект что держит две эти пластинки вместе, поэтому так происходит. У меня один вариант тут только остается
если на них висит риджидбади ,и скрепить их больше нечем только как объектом родителем, то просто по скрипту в старте прописать
GetComponent<Rigidbody>().isKinematic = true;
и по кд чекать попал ли на одну из них луч
и дальше делать уже то что тебе нужно, и если можно
опиши конкретнее что тебе нужно, кроме просто проверки
(как вариант можно на родительском объекте отключить коллайдер еще попробовать)