Unity/Tips

Unity transform.parent 보단 SetParent()를 사용하자

최애뎡 2022. 2. 20. 15:57
728x90
반응형

작업하면서 이런 경고를 본 적이 있다면!

 

RectTransform의 부모는 부모 속성으로 설정됩니다. worldPositionStays 인수가 false로 설정된 상태에서 SetParent 메서드를 대신 사용하는 것이 좋습니다. 그러면 일반적인 UI 크기 조정 문제를 방지할 수 있는 세계 방향 및 크기가 아닌 로컬 방향 및 크기가 유지됩니다.

-> 구글은 언제나 친절해

 

본인의 경우

요로코롬 Pool에 UI들도 넣어뒀는데 이때 코드가

    public void CreatePool(GameObject go, bool isGO = true, int count = 10)
    {
        Pool pool = new Pool();
        pool.isGO = isGO;
        pool.Init(go, count);

        Transform tr = isGO ? _root_GO : _root_UI;
        pool.Root.parent = tr; -> pool.Root.SetParent(tr);

        _dic_pool.Add(go.name, pool);
    }

요런 식이어서 문제를 야기했었음 

 

https://docs.unity3d.com/ScriptReference/Transform.SetParent.html

 

Unity - Scripting API: Transform.SetParent

 

docs.unity3d.com

doc는 언제나 사랑스럽고

 

UI 스케일의 대한 부분도 있고 어지간해선 걍 SetParent 쓰는 게 속 편할 듯 싶음

반응형