탄력적 시스템 - MRTK2

탄력적 시스템

MRTK는 4차원 쿼터니언 스프링, 3차원 볼륨 스프링 및 간단한 선형 스프링 시스템에 대한 바인딩을 제공하는 다양한 확장 가능하고 유연한 서브클래스를 포함하는 탄력적 시뮬레이션 시스템을 제공합니다.

현재 탄력적 관리자 를 지원하는 다음 MRTK 구성 요소는 탄력적 기능을 활용할 수 있습니다.

Elastics 관리자

Elastic System2

Elastics 관리자는 전달된 변환을 처리하여 탄력적 시스템에 공급합니다.

사용자 지정 구성 요소에 대한 탄력적 사용은 다음 두 단계로 수행할 수 있습니다.

  1. 조작 시작 시 Initialize 메서드를 호출하고 현재 호스트 변환으로 시스템을 업데이트합니다.
  2. 업데이트된 대상 변환에서 탄력적 계산을 수행해야 할 때마다 ApplyHostTransform을 쿼리합니다.

탄력적 특성은 조작이 끝나면(elastics manager 업데이트 루프를 통해) 시뮬레이션을 계속합니다. 동작을 차단하기 위해 Elastics 자동 업데이트 EnableElasticsUpdate를 false로 설정할 수 있습니다.

기본적으로 탄력적 관리자 구성 요소는 게임 개체에 추가될 때 변환 형식에 대해 탄력적 기능을 사용하도록 설정하지 않습니다. 선택한 형식에 대한 탄력적 구성 및 익스텐션을 만들려면 특정 변환 형식에 대해 필드를 Manipulation types using elastic feedback 사용하도록 설정해야 합니다.

Elastics 구성

경계 제어 구성과 마찬가지로 탄력적 관리자에는 스크립트 가능한 개체로 저장하고 서로 다른 인스턴스 또는 프리팹 간에 공유할 수 있는 구성 개체 집합이 함께 제공됩니다. 구성은 개별 스크립트 가능 자산 파일 또는 프리팹 내부의 중첩된 스크립트 가능 자산으로 공유 및 연결할 수 있습니다. 추가 구성은 외부 또는 중첩된 스크립트 가능 자산에 연결하지 않고도 instance 직접 정의할 수 있습니다.

Elastics 관리자 관리자는 속성 검사기에서 메시지를 표시하여 구성이 현재 instance 일부로 공유되는지 또는 인라인으로 표시되는지 여부를 나타냅니다. 또한 공유 인스턴스는 Elastics Manager 속성 창 자체에서 직접 편집할 수 없지만 공유 구성에서 실수로 변경되지 않도록 연결하려는 자산을 직접 수정해야 합니다.

Elastics 관리자는 다음과 같은 변환 형식에 대한 구성 개체 옵션을 제공하며, 각 옵션은 탄력적 구성 개체로 표시됩니다.

  • 번역 탄력적
  • 회전 탄력적
  • 탄력적 크기 조정

탄력적 구성 개체

탄력적 구성은 감쇠된 고조파 진동기 차등 시스템의 속성을 정의합니다. 다음 속성을 조정할 수 있지만 이미 MRTK에서 기본값 집합이 함께 제공됩니다.

  • 질량: 시뮬레이션된 진동기 요소의 질량입니다.
  • HandK: 손 스프링 상수입니다.
  • EndK: 끝 캡 스프링 상수입니다.
  • SnapK: 끌기 지점 스프링 상수입니다.
  • 끌기: 속도에 비례하여 끌기/댐퍼 계수입니다.

탄력적 익스텐트

탄력적 익스텐트 설정은 조작 유형에 따라 달라집니다. 변환 및 눈금은 볼륨 탄력적 익스텐트로 표시되고 회전은 쿼터니언 탄력적 익스텐트로 표시됩니다.

볼륨 탄력적 익스텐트

볼륨 익스텐트 는 축축한 고조파 진동기가 자유롭게 이동할 수 있는 3차원 공간을 정의합니다.

탄력적 볼륨 스트레치 경계

  • StretchBounds: 탄력적 공간의 하한을 나타냅니다.
  • UseBounds: 시스템에서 스트레치 경계를 준수해야 하는지 여부입니다. true이면 대상 위치의 현재 반복이 스트레치 범위를 벗어나면 끝 힘이 적용됩니다.
  • SnapPoints: 시스템이 스냅할 공간 내부를 가리킵니다.
  • RepeatSnapPoints: 맞춤 지점을 무한대로 반복합니다. 기존 스냅 포인트는 실제 끌기 지점이 모든 스냅 포인트의 가장 가까운 정수 배수에 매핑되는 모듈로 역할을 합니다.
  • SnapRadius: 스냅 포인트가 봄을 강요하기 시작하는 거리입니다.

탄력적 볼륨 스냅 그리드

쿼터니언 탄력적 익스텐트

쿼터니언 익스텐트 는 축축한 고조파 진동기가 자유롭게 회전할 수 있는 4차원 회전 공간을 정의합니다.

탄력적 회전 예제

  • SnapPoints: 시스템이 스냅할 각도입니다.
  • RepeatSnapPoints: 끌기 지점을 반복합니다. 기존 스냅 포인트는 실제 끌기 지점이 모든 스냅 포인트의 가장 가까운 정수 배수에 매핑되는 모듈로 역할을 합니다.
  • SnapRadius: 스냅 포인트가 봄을 오일러 각도로 강요하기 시작하는 아크 각도입니다.

Elastics 예제 장면

장면에서 탄력적 구성의 예를 찾을 수 있습니다 ElasticSystemExample .

Elastics 예제 장면