Ограничить движение объекта с прикрепленным скриптом ManipulationHandler - PullRequest
0 голосов
/ 26 октября 2019

Я хочу переместить маленькие сферы с помощью сценария ManipulationHandler, прикрепленного к большой сфере в моей сцене.

Движение маленьких сфер должно быть ограничено "оболочкой" большой сферы.

Я выполнил поведение (ссылка содержит gif) без использования обработчика манипуляции, обновив X и Y маленькой сферы в функции обновления.

IsЕсть ли способ добиться того же поведения с ManipulationHandler, не переписывая его?

1 Ответ

0 голосов
/ 28 октября 2019

Согласно вашему описанию, Solver в MRTK сможет реализовать эту идею даже без написания какого-либо кода. Если вы не ограничены использованием только ManipulationHandler по другим причинам, я настоятельно рекомендую вам использовать RadialView . Для реализации этой функции с помощью Solver вы можете обратиться к следующим шагам:

  1. Добавить SolverHandler и RadialView компоненты в малую сферу.
  2. В компоненте RadialView выберите Свойство пользовательского переопределения в поле Тип прикрепленной цели .
  3. Установите Переопределение преобразования поле для большой сферы.
  4. В компоненте Radial View установите MaxViewDegrees на 360, установите Мин. расстояние и Макс. Расстояние до радиуса большой сферы,
  5. Отключить Сглаживание .

Теперь маленькая сфера может вращаться вокруг большой сферы и сохранятьфиксированное расстояние от него.

...