Компонент набора событий с использованием объекта collada в A-Frame (webvr)

Я пытаюсь создать вращающуюся анимацию на объекте collada, используя плагин компонента набора событий для A-кадра, я успешно смог добиться этого с помощью a-box, но вместо этого хотел бы анимировать объект collada. По какой-то причине я не вижу объект collada и не знаю, где я ошибаюсь. Пожалуйста, просмотрите код ниже для получения дополнительной информации, и любая помощь будет принята с благодарностью, спасибо.

<html>
<head>
<title>Model Test</title>
<script src="build.js"></script>
<script src="https://aframe.io/releases/0.5.0/aframe.min.js"></script>
<script src="aframe-animation-component.min.js"></script>
<script src="component/event-proxy.js"></script>
<script src="https://unpkg.com/[email protected]/dist/aframe-event-set-component.min.js"></script>
<script src="https://unpkg.com/[email protected]/dist/aframe-layout-component.min.js"></script>
</head>
<body>
<a-scene>
  <a-entity id="container" position="0 0 -2">
    <a-collada-model src="iPhone4.dae"
        animation__rotationX="property: rotation; dur: 10000;
                        easing: easeInSine; loop: true; to: 0 360 0;
                        startEvents: rotY; pauseEvents: animationPause;
                        resumeEvents: animationResume; restartEvents: animationRestart"
        animation__rotationY="property: rotation; dur: 10000;
                        easing: easeInSine; loop: true; to: 360 0 0;
                        startEvents: rotX; pauseEvents: animationPause;
                        resumeEvents: animationResume; restartEvents: animationRestart"

      position="0 1 -2">
    </a-collada-model>
    <a-mixin id="option"
             geometry="primitive: sphere; radius: .25;"
             material="color: red"
             event-proxy="listen: click; target: a-collada-model"
             ></a-mixin>
    <a-entity  position="-2.5 0 0">
      <a-entity mixin="option" event-proxy="emit: rotY" text="value: Rotation"></a-entity>
    </a-entity>
    <a-entity  position="2.5 0 0">
      <a-entity mixin="option" event-proxy="emit: rotX" text="value: Rotation"></a-entity>
    </a-entity>

    <a-entity position="0 -1.5 0">
      <a-sphere mixin="option" event-proxy="emit: animationPause" text="value: Pause"></a-entity>
    </a-entity>
  </a-entity>


  <!-- Sky. -->
  <a-sky color="#0fbbff"></a-sky>

  <a-entity position="0 0 3">
    <a-camera><a-cursor color="#FFF"></a-cursor></a-camera>
  </a-entity>
</a-scene>

</body>
</html>

person VRGuy    schedule 07.07.2017    source источник


Ответы (1)


Прежде всего, обновитесь до 0.6.0. Я не уверен, как насчет компонентов событий и анимации, но, как правило, обработка модели лучше в версии 0.6.0.
Затем попробуйте использовать загрузчик collada в качестве компонента, а не примитива, как в документы:

<a-entity collada-model="src:iphone4.dae"></a-entity>

Если у вас не получается отобразить модель, вы можете изменить формат на threejs json или .glTF, загрузив свой iphone на clara.io или используя khronos / kupoman экспортеров, а затем с помощью загрузчиков Дона Маккарди.


Между прочим, у вас проблемы не с событиями, а с моделями, так что тема не в тему: p

person Piotr Adam Milewski    schedule 07.07.2017