Как вы можете проверить, какие дети активны у родителей в Unity? - PullRequest
1 голос
/ 03 мая 2020

У меня есть список камер под родительским элементом «Камеры»: enter image description here

В моей игре я хочу установить относительность моего персонажа в зависимости от того, какая камера активна. Например, если Camera012 активна, тогда установите элементы управления персонажа относительно Camera012. Тем не менее, я не знаю, как проверить родительский объект, чтобы увидеть, какие из них являются селективными или нет.

Ответы [ 2 ]

1 голос
/ 03 мая 2020

Если вы просто спросите детей, которые активны, то это просто, если вы хотите, чтобы только один ребенок за раз добавил объект sciprt к Камерам, который включает

Camera firstactiveCamera = GetComponentInChildren<Camera>();

Это вернет только первую активную камеру

Если вы хотите найти все активные камеры у детей, тогда они возвращают массив.

Camera[] activeCamerasInChildren = GetComponentsInChildren<Camera>();

Разница в том, что это множественное число (Компоненты), поэтому вы получаете все активные объекты камеры у детей.

Даже если вам нужны неактивные объекты в дочерних элементах, вы можете использовать

Camera[] activeCamerasInChildren = GetComponentsInChildren<Camera>(true);

Если вы отправляете true с функцией getcomponent, он даже находит неактивные объекты и возвращает их в массив.

0 голосов
/ 03 мая 2020
if (Camera002.activeInHierarchy) {
// do something
}

если вам нужно, вы можете добавить все камеры в массив и использовать для l oop, чтобы проверить каждую камеру

...