This document is about: FUSION 1
SWITCH TO

수정중인 페이지 입니다.

접촉 차단


Available in the Industries Circle
Circle
Fusion Industries 프로토타이핑 애드온

이 모듈은 VRShared 샘플에서 사용할 수 있는 하드웨어 캡처 시스템을 확장하여 표면이 팁(펜,...)으로 일부 물체를 차단하는 동시에 손을 잡는 것도 차단합니다.

접촉 로직

BlockableTip 컴포넌트에는 보간 대상 계층 구조(보이는 물체이므로)에 있을 것으로 예상되는 자식 변환인 tip이 포함되어 있으며, 객체 위치의 실제 팁(차단 "점")을 결정합니다.

BlockableTip 컴포넌트는 blockingLayers 마스크에 레이어가 있고 BlockingSurface 컴포넌트가 있는 객체와의 트리거 접촉을 감지합니다.

그로부터, 감지된 표면 참조에서 tip의 로컬 좌표에 의해 표면과의 실제 접촉이 'IsInContact에서 확인됩니다:

  • BlockingSurfacepositiveProximityThresholdsnegativeProximityThresholds은 접촉이 효과적인 시기를 결정합니다.
  • xy 값은 표면의 크기를 정의하는 반면, z 값은 허용되는 접촉 깊이를 정의합니다(차단 효과는 표면의 z 축을 따라 결정됩니다).
  • BlockingSurface 최대 깊이는 팁(및 손잡기)을 어느 z 깊이에서 차단해야 하는지 결정합니다

팁과 손 블로킹

블로킹 자체는 FixContactPosition() 메소드에서 발생합니다: 컴포넌트가 팁의 대상 z 위치를 정의하여 깊이 제약을 평가합니다.

그런 다음 실제 BlockableTip 게임 객체 위치를 결정하여 팁이 최종적으로 이 목표 위치에 도달하도록 합니다.

그리고 마지막으로 손을 움직여 잡는 초기 위치를 평가합니다.

이동 계산은 Render()FixedUpdateNetwork() 타이밍이 다릅니다:

  • Render() 동안 보간 대상이 이동할 때, 팁이 보간 대상의 일부이기 때문에 계산이 비교적 간단합니다.
  • FixedupdateNetwork() 중에는 실제 객체가 이동되는 경우(changeActualPosition 옵션이 true로 설정된 경우), 객체 계층에서 팁의 실제 위치를 먼저 찾아야 합니다.

다운로드

이 애드온의 최신 버전은 애드온 프로젝트에 포함되어 있습니다.

지원하는 토폴로지

  • 공유 모드
  • 호스트 모드

변경 내역

  • 버전 1.0 (2023년 8월 25일) : 최초 릴리즈
Back to top