2016-11-03 2 views
1

Я начал работать с xml3d.tools.js, который, кажется, уже не обновляется. На самом деле библиотека терпит неудачу при выполнении этой части:xml3d-tools дает XML3D.URIResolver is undefined error

oldRefNode = XML3D.URIResolver.resolveLocal(oldRef);

TypeError: XML3D.URIResolver is undefined

  • xml3d.js версия 5.2.1
  • XML3D-инструментов Dev Сделать снимок 0.2.0

I обернулись, но и не могут понять, в каком пространстве имен этот класс ушел. Может быть, xml3d-tools слишком устарел?

Есть ли план замены xml3d-tools.js? Мне бы очень понравилось Gizmos и способность перетаскивать модели ...

ответ

1

К сожалению, библиотека инструментов больше не поддерживается. Оригинальный разработчик покинул проект несколько лет назад, и теперь ему понадобится полная перезапись, чтобы сделать его совместимым с XML3D 5 и современными браузерами.

Если вы хотите, чтобы создать виджет перевода, я думаю, что это можно сделать, используя новые web component support и z-index property. Он, вероятно, будет работать аналогично bounding box component example, за исключением того, что вы вставляете его под родительский элемент целевого элемента (т. Е. Его родительский <group>), поэтому он находится в одной и той же иерархии преобразований. У каждой стрелки были бы мышиные слушатели, которые переводят целевой элемент (вместе с самим компонентом виджета) в нужном направлении. Некоторые из кода обработки мыши, вероятно, могут быть извлечены из библиотеки инструментов.

Свойство z-index может использоваться для обеспечения того, чтобы стрелки всегда рисовались над любой другой геометрией. Даже масштаб самого виджета может быть скорректирован в соответствии с размером ограничивающей рамки целевого элемента (targetElement.getWorldBoundingBox().size()).

+0

Спасибо за помощь @csvurt. Я вижу, что совместимость с браузером очень ограничена для веб-компонентов XML3D на данный момент http://jonrimmer.github.io/are-we-componentized-yet/. Я попытаюсь управлять движущимися моделями без gizmo, чтобы он работал над большинством браузеров. –