À partir du nœud spécifié, parcourez tous les nœuds enfants sous le nœud et enregistrez-les dans la liste.
List<GameObject> GetChildObjects (parent GameObject)
{ List<GameObject> childList = new List<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)); } } renvoie la liste des enfants ; }
Obtenez l'objet le plus proche via une coordonnée de point
GameObject GetNearestObject (Vector3 point)
{ GameObject le plus procheObject = null ; float closeDistance = Mathf.Infinity; foreach (GameObject obj in allObjects) { float distance = Vector3.Distance (obj.transform.position, point); si (distance <Distance la plus proche) { Distance la plus proche = distance ; Objet le plus proche = obj; } } renvoie l'Objet le plus proche ; }
Parmi eux, allObjects fait référence à la liste de tous les objets de la scène.