[Unity] SelectionBase Attribute / 씬뷰에서 우선 선택될 GameObject 지정해주기

씬뷰에서 작업을 하면서 자식 오브젝트의 부모 오브젝트를 찾기 위해 먼저 자식 오브젝트를 클릭한 후, 연어처럼 부모 오브젝트를 찾아 거슬러 올라가곤 한다. 같은 오브젝트를 여러 번 클릭하다 보면, 유니티는 우리에게 네가 찾는 거 이거 아니야? 그럼 이거야? 아님 이거?라는 것처럼 다른 오브젝트들로 포커스를 옮겨주기도 한다.

 

이럴 때 유용한 attribute가 SelectionBase로, Monobehaviour 클래스 선언부 앞에 붙여주면 자식 오브젝트를 클릭해도 해당 스크립트가 붙은 오브젝트를 포커싱 해주게 된다.

 

Example

부모 오브젝트로 Cube를 하나 생성하고, 자식 오브젝트로 Cylinder를 배치한 뒤

아래와 같은 테스트 스크립트를 Cube에 붙여주었다.

using UnityEngine;

[SelectionBase]
public class SelectionTestObject : MonoBehaviour
{
    void Start()
    {
        
    }
}

Cylinder 터치 시에 우선적으로 Cube가 선택 되고, 한 번 더 Cylinder를 터치해주면 Cylinder가 선택되는 모습을 볼 수 있다.

 

여러 오브젝트를 겹쳐 만든 배경 프리팹 등에 유용하게 쓰일 것 같다.