자석
자석 애드온은 객체가 놓아질 때 다른 객체에 끌리도록 하는 간단한 방법을 제공합니다.
자석 유형
자석 객체는 IMagnet
인터페이스로 설명됩니다. 여러 종류의 자석이 존재합니다.
MagnetPoint
MagnetPoint
는 네트워크 동작으로, magnetRadius
내에 있는 IMagnet
을 찾아 그쪽으로 끌어당깁니다(이를 위해 Physics.OverlapSphere
를 사용).
MagnetTarget
MagnetTarget
은 다른 객체를 끌어당길 수 있지만, 자체적으로 이동하지는 않습니다. NetworkedObject
아래에 배치할 필요는 없습니다.
만약 isPlaneMagnet
이 true로 설정되면, 객체를 자신의 변환 위치로 끌어당기는 대신, new Plane(transform.up, transform.position)
으로 정의된 투영 평면에 가장 가까운 점으로 끌어당깁니다.
alignOnAllAxis
가 false로 설정되면, 끌려오는 객체는 자석 타깃의 y축에 자신의 위쪽 축을 맞추지만, 다른 축은 그대로 유지됩니다.
MagnetCoordinator
하나의 객체는 여러 개의 MagnetPoint
를 포함할 수 있습니다. 객체가 놓일 때 모든 자석 포인트가 동시에 작동하지 않고, 가장 가까운 자석 객체만 작동하도록 하기 위해 MagneticCoordinator
를 사용할 수 있습니다. 이는 MagnetPoint
가 스스로 타깃을 찾지 않도록 방지하고, 자석 객체와의 거리 기반으로 가장 적절한 자석 포인트를 선택합니다.
데모
데모 씬은 Assets\Photon\FusionAddons\Magnets\Demo\Scenes\
폴더에서 찾을 수 있습니다.
종속성
- XRShared 애드온 2.0
다운로드
이 애드온의 최신 버전은 Industries 애드온 프로젝트에 포함되어 있습니다.
무료 XR 애드온 프로젝트에도 포함되어 있습니다.
지원되는 토폴로지
- 공유 모드
변경 로그
- 버전 2.0.2: onSnapToMagnet 이벤트 추가
- 버전 2.0.1:
- 특정 경우에 자석이 스스로를 끌어당기려는 문제 수정
- 평면 자석에 대해 MagnetTarget 축 설정 가능
- 버전 2.0.0: 첫 번째 릴리스