У меня проблема с ошибкой в моем приложении VR. У меня есть сценарий для объекта, который устанавливает родителя для насмешек указателя, чтобы он мог следовать насмешкам. Но из-за того, что этот скрипт находится на каждом объекте такого рода, может случиться так, что у меня будет 2 объекта после указателя. Я хотел бы, чтобы у вас был только один объект, чтобы сделать это во время щелчка и отпускать каждый раз, когда я отпускаю кнопку на указателе.
Моя первоначальная идея состояла в том, чтобы получить родительский объект объекта и сделать операторчто если есть более одного ребенка от этого родителя, все остальные дети должны быть освобождены.
Но я не могу найти детей родителя. В отладчике он продолжал показывать мне, что он равен нулю, даже если я держу два таких объектаТак что либо я отлаживаю не тот объект, либо что-то еще, происходит. Я ценю любые идеи по этому поводу.
public void Clicked() {
//Debug.Log("Stone Clicked " + this.name);
target = new GameObject();
target.transform.position = transform.position;
target.transform.SetParent(lsp.controller.GetComponentInChildren<SpriteRenderer>().GetComponent<Transform>());
GetComponent<Rigidbody>().useGravity = false;
GetComponent<Rigidbody>().isKinematic = true;
following = true;
SetContontrollerSeleceted(true);
//targetParent = lsp.controller.GetComponentInChildren<SpriteRenderer>().GetComponent<Transform>();
//Debug.Log(targetParent.GetComponentsInChildren<LavaStone>().Length);}
public void Released() {
if (target) {
//Debug.Log("Target Destroyed " + target.name);
Destroy(target);
}
//Debug.Log("Stone Released" + this.name);
GetComponent<Rigidbody>().useGravity = true;
GetComponent<Rigidbody>().isKinematic = false;
GetComponent<Rigidbody>().AddForce(direction * 200);
following = false;
}