작성
·
140
0
private Transform GetTransformSocket(Transform root, string socketName)
{
if (root.name == socketName)
return root;
foreach(Transform child in root)
{
var socket = GetTransformSocket(child, socketName);
if (socket)
return socket;
}
return null;
}
재귀에서 child를 계속 찾는다는게 이해가 가지 않습니다.
child는 그냥 변수명 아닌가요?ㅠ
답변 1
0
수강해주셔서 감사합니다.
위 Image를 예로, 해당 함수의 root 변수로 Merchant 객체를 넣고, socketName 변수로 "control-toe-roll.r" 문자열을 넣어주면
GetTransformSocket(merchant, "control-toe-roll.r");
Image의 Merchant GameObject Tree에서 control-toe-roll.r GameObject를 찾아오게 됩니다.
Root Object의 자식 객체들의 이름을 조사해가며 같은 이름을 가진 자식 객체를 찾아오는겁니다.
강의에서 재귀 과정을 설명드리는 부분을 한번 더 보신 뒤 위 Image를 가지고
GetTransformSocket(merchant, "control-toe-roll.r");
이 Code가 어떻게 동작하는지 직접 따라가보시면 이해가 더 잘 되실겁니다.
감사합니다.