Unity comienza desde el nodo especificado, atraviesa todos los nodos secundarios debajo del nodo y los guarda en la lista.

Comenzando desde el nodo especificado, recorra todos los nodos secundarios debajo del nodo y guárdelos en la lista.

Lista<GameObject> GetChildObjects(GameObject padre)
{ Lista<GameObject> childList = nueva Lista<GameObject>(); for (int i = 0; i < parent.transform.childCount; i++) { childList.Add(parent.transform.GetChild(i).gameObject); if (parent.transform.GetChild(i).childCount > 0) { childList.AddRange(GetChildObjects(parent.transform.GetChild(i).gameObject)); } } devuelve listaniños; }












Obtener el objeto más cercano a través de una coordenada de punto

GameObject GetNearestObject(Vector3 punto)
{ GameObject objeto más cercano = null; float nearDistance = Mathf.Infinity; foreach(GameObject obj en todos los objetos) { distancia flotante = Vector3.Distance(obj.transform.position, punto); if(distancia <distancia más cercana) { distancia más cercana = distancia; Objeto más cercano = obj; } } devuelve el objeto más cercano; }














Entre ellos, allObjects se refiere a la lista de todos los objetos de la escena.

2e200195f97b1624c978cef41e0b72fe.jpeg

Supongo que te gusta

Origin blog.csdn.net/shguxudong11/article/details/129441832
Recomendado
Clasificación