Как родительское преобразование с использованием луча?

#c# #unity3d

#c# #unity3d

Вопрос:

У меня есть RaycastHit hitInfo; переменная, и я хочу, чтобы объект, пораженный приведением луча, был родительским для основного GameObject, который является источником луча.

hitInfo.collider.gameObject.name.parent = gameObject; похоже, это не работает.

Комментарии:

1. hitInfo.collider.gameObject.name.parent не имеет смысла … вы пробовали hitInfo.collider.gameObject.transform.parent = gameObject.transform; ?

Ответ №1:

Попробуйте с Transform.parent gameObject.transform.parent .

Комментарии:

1. Не удается неявно преобразовать тип ‘UnityEngine. GameObject’ to ‘UnityEngine. Преобразование ‘. Я предполагаю, что мне нужно извлечь GameObject из преобразования, поэтому я попытался hitInfo.collider.gameObject.transform.parent.gameObject = gameObject; , но я получаю следующую ошибку: свойство или индексатор ‘Component.GameObject’ не может быть назначен — он доступен только для чтения.

2. выполните hitInfo.collider.GameObject.transform.parent= GameObject.transform;

3. @RaresRechesan добро пожаловать, не забудьте отметить ответ как правильный, если это так.

Ответ №2:

Родительским является transform объект. Если передача лучей прошла успешно, выполните следующее:

 hit.collider.gameObject.transform.parent = transform;
  

GameObject, который выполнил ray, будет родительским для объекта, пораженного лучом.