This document is about: FUSION 2
SWITCH TO

NetworkTRSP (네트워크 TRSP)

NetworkTRSP

NetworkTRSP는 Fusion의 관심 영역 시스템과 호환되도록 트랜스폼 및 리지드바디 동기화 컴포넌트에 필요한 AOI 관련 처리를 구현한 추상 기반 컴포넌트입니다.

사용 방법

NetworkTRSPNetworkTransformNetworkRigidbody와 같은 Fusion의 Transform 및 Rigidbody 동기화 컴포넌트들의 기반 클래스이며, AOI 처리가 필요한 커스텀 동기화 컴포넌트를 만들 때도 이 클래스를 상속할 수 있습니다.
또한 향후 커스텀 Shared Server 플러그인과의 호환성을 위해 사용됩니다.

TRSP 정의

TRSP는 Translate/Rotation/Scale/Parent의 약어로, Translate는 위치를 의미합니다. 즉, Transform의 주요 속성을 뜻합니다.

IsMainTRSP

이 속성은 NetworkTRSPNetworkObject와 동일한 GameObject Transform에 위치해 있는 경우 true를 반환합니다.
이는 해당 NetworkTRSPNetworkObject 자체의 위치 데이터를 나타내며, AOI 판별 시 사용된다는 것을 의미합니다.

반면, 손(hand)이나 머리(head)와 같이 자식 GameObject에 위치한 NetworkTRSP 컴포넌트는 false를 반환합니다.
이 경우 해당 Transform은 NetworkObject의 실제 월드 위치를 나타내지 않기 때문입니다.

State Authority 변경 시 부드러운 보정

이 기능은 NetworkTRSP의 상태 권한이 변경될 때 위치 및 회전 값의 오차를 부드럽게 보정해 줍니다.
이를 통해 갑작스럽게 튀는 현상을 방지할 수 있습니다.

보정은 NetworkTRSP.Render 메소드 내에서 수행되며, Transform에 직접 적용됩니다.
오차 보정은 인스펙터에서 설정할 수 있는 StateAuthorityChangeErrorCorrectionDelta 속성 값에 의해 제한됩니다.
값이 0이면 보정이 비활성화됩니다. (기본값은 0)

💡 팁: 부드러운 보정을 위해 0.15 정도의 값을 시작점으로 사용해 보세요.

SetAreaOfInterestOverride() 메소드

SetAreaOfInterestOverride() 메소드는 NetworkTRSP 파생 컴포넌트(NetworkTransform, NetworkRigidbody3D 등)에서 자신의 위치 대신 다른 NetworkObject의 위치를 관심 영역(AOI) 판별 기준으로 사용하도록 지정할 수 있습니다.

Area Of Interest Override
Area Of Interest Override 예시.

이 기능은 한 NetworkObject가 다른 NetworkObject를 AOI 프록시로 지정할 수 있게 해줍니다.
예를 들어, 플레이어가 어떤 오브젝트를 손에 들고 이동한다면, 해당 오브젝트는 AOI 기준 위치로 자신이 아닌 플레이어의 위치를 사용해야 합니다.
이는 들고 있는 오브젝트의 로컬 위치는 AOI 처리에 적합하지 않기 때문이며, 오브젝트는 자신을 들고 있는 플레이어와 동일한 관심 영역 안에 있도록 설정되어야 하기 때문입니다.

Back to top