해당 컴포넌트는 많은 곳에서 응용할 수 있습니다.
이번 포스팅에서는 Snap Interactor에서 사용하는 방법에 대해 알아보겠습니다.
유니티 Snap Interactor을 이용해서 원하는 위치에 오브젝트 놓기 #Socket
Snap Interactor 컴포넌트와 Snap Interactable을 활용하면 원하는 위치에 원하는 오브젝트를 놓을 수 있습니다. 이때 어느정도 간격이 떨어져 있어도 Smooth하게 해당 위치로 날아가면서 딱 Snap되듯 위치
wlsdn629.tistory.com
TagSet 컴포넌트란?
Meta SDK에서 TagSet 컴포넌트는 "(문자열)Tag"를 이용해 인터랙터(Interactor)와 인터랙터블(Interactable) 간의 상호작용 대상을 손쉽게 필터링할 수 있도록 돕습니다.
역할: 게임오브젝트에 태그(예: "Pickable", "NPC", "Door" 등)를 지정하고, 이를 이용해 어떤 인터랙터가 어느 인터랙터블과 상호작용할지 필터링할 수 있게 해줍니다.
왜 이렇게 하냐?
Tag가 너무 많이 생성되면 관리하기 어려우니, 컴포넌트로 관리하자는 것입니다.
Interactor 스크립트를 살펴보면 아래와 같이 CanSelect라는 함수를 보실 수 있습니다.
public virtual bool CanSelect(TInteractable interactable)
{
if (InteractableFilters == null)
{
return true;
}
foreach (IGameObjectFilter interactableFilter in InteractableFilters)
{
if (!interactableFilter.Filter(interactable.gameObject))
{
return false;
}
}
return true;
}
CanSelect → TagSetFilter → TagSet으로 이어지는 선택 제어 흐름을 볼 수 있습니다.