A-Frame версии 8 до версии 9 не могут перемещать модель или камеру изнутри инспектора - PullRequest
0 голосов
/ 08 мая 2019

Ошибка обновления с A-FRAME 8 до 9 с проектом.Причиной обновления послужили непоследовательные щелчки мыши из зарегистрированных компонентов, использующих addEventListener.Это было просто непоследовательным, однако переход к 9-й версии, казалось, исправил эту проблему, но ценой разрушения остальной части проекта.

Анимации не работают, я не могу перемещать объекты или камеры, когда в режиме инспектора все же элементы появляются в режиме инспектора, вы просто не можете выбрать стрелки xyz для их перемещения.

I 'Интересно, сталкивался ли кто-либо с подобными проблемами, как описано выше, при переходе с версии 8 на 9 A-FRAME?

Ближайшим примером этого является приведенный ниже код.Если вы измените его на 9-ю версию A-FRAME, то ничего не получится, но с версией 8 все в порядке. Я не смог найти каких-либо явных различий между моей разметкой и документацией A-FRAME.Кто-нибудь еще?

Кажется, что воссоздание каждого элемента работает, однако позиционирование камеры в инспекторе не работает, неспособно наблюдать, как будет выглядеть угол камеры, и добавление объектов с файлами OBJ и MTL показывает толькоконтур объекта, тогда как с версией 8 все работало на 100%.

                <script src="https://aframe.io/releases/0.8.0/aframe.min.js"></script>
                <script>
                AFRAME.registerComponent('cursor-hotpsot-1', {
                init: function () {
                    var COLORS = ['purple', 'green', 'blue'];
                    this.el.addEventListener('click', function (evt) {
                    var randomIndex = Math.floor(Math.random() * COLORS.length);
                    this.setAttribute('material', 'color', COLORS[randomIndex]);
                    console.log('Clicked:' + this);
                    });
                }
                });
                </script>



                <a-scene class="fullscreen" 
                    inspector=""
                    keyboard-shortcuts=""
                    screenshot="" 
                    vr-mode-ui="enabled: false"
                    cursor="rayOrigin: mouse">

                <!--
                <a-camera active="true" spectator="true"
                        wasd-controls="wsEnabled:false;enabled:false"
                        look-controls="enabled: false"
                        zoom="2.4"
                        position="0.3 0.0 -1.8"
                        rotation="0.0 132.5 0.0"
                        camera="zoom:1.5"
                        look-controls=""
                        camera="active:true"
                        data-aframe-inspector-original-camera=""
                        look-controls="enabled: false"></a-camera>
                        -->


                <a-obj-model id="diagram" 
                        position="-0.8 0 -3.5"
                        scale="0.2 0.2 0.2" 
                        shadow=""
                        rotation="-90 180 0" 
                        material="metalness: .5; src: #issTexture; src: #issTexture; " obj-model="" 
                        wasd-controls="wsEnabled:false;enabled:false"
                        look-controls="enabled: false">
                <!-- CURSOR HOTSPOTS -->
                        <!-- TOP RIGHT -->
                        <a-sphere geometry="primitive: sphere" 
                                cursor-hotpsot-1 sphere="2"
                                position="-3.5 0.1 2.0"
                                scale="0.250 0.250 0.250"
                                color="red"
                                id="hotspot_tr"></a-sphere>
                        <!-- BOTTOM LEFT -->
                        <a-sphere geometry="primitive: sphere"
                                cursor-hotpsot-1 sphere="2"
                                position="3.3 0.1 -2.3"
                                scale="0.250 0.250 0.250"
                                color="green"
                                id="hotspot_bl"></a-sphere>
                        <!-- CENTER TOP -->
                        <a-sphere geometry="primitive: sphere"
                                cursor-hotpsot-1 sphere="2"
                                position="-0.040 0.1 0.1"
                                scale="0.250 0.250 0.250"
                                color="blue"
                                id="hotspot_ct"></a-sphere>

                        </a-obj-model>     

                        <a-camera active="true" spectator="true"
                        wasd-controls="wsEnabled:false;enabled:false"
                        look-controls="enabled: false"
                        zoom="2.4" position="0.28042 0.01891 -1.85751"
                        camera="zoom:1.5" 
                        look-controls=""
                        camera="active:true"
                        data-aframe-inspector-original-camera=""
                        look-controls="enabled: false">

                        <a-animation attribute="position"
                            dur="2500"
                            fill="forwards"
                            from="0.2058 0.29058 -1.96409"
                            to="0 0 -1.5"
                            repeat="0">
                        </a-animation>

                        </a-camera>
                </a-scene>

///////////////////////////////////////////////////

                <script src="https://aframe.io/releases/0.9.0/aframe.min.js"></script>
                <script>
                AFRAME.registerComponent('cursor-hotpsot-1', {
                init: function () {
                    var COLORS = ['purple', 'green', 'blue'];
                    this.el.addEventListener('click', function (evt) {
                    var randomIndex = Math.floor(Math.random() * COLORS.length);
                    this.setAttribute('material', 'color', COLORS[randomIndex]);
                    console.log('Clicked:' + this);
                    });
                }
                });
                </script>



                <a-scene class="fullscreen" 
                    inspector=""
                    keyboard-shortcuts=""
                    screenshot="" 
                    vr-mode-ui="enabled: false"
                    cursor="rayOrigin: mouse">

                <!--
                <a-camera active="true" spectator="true"
                        wasd-controls="wsEnabled:false;enabled:false"
                        look-controls="enabled: false"
                        zoom="2.4"
                        position="0.3 0.0 -1.8"
                        rotation="0.0 132.5 0.0"
                        camera="zoom:1.5"
                        look-controls=""
                        camera="active:true"
                        data-aframe-inspector-original-camera=""
                        look-controls="enabled: false"></a-camera>
                        -->


                <a-obj-model id="diagram" 
                        position="-0.8 0 -3.5"
                        scale="0.2 0.2 0.2" 
                        shadow=""
                        rotation="-90 180 0" 
                        material="metalness: .5; src: #issTexture; src: #issTexture; " obj-model="" 
                        wasd-controls="wsEnabled:false;enabled:false"
                        look-controls="enabled: false">
                <!-- CURSOR HOTSPOTS -->
                        <!-- TOP RIGHT -->
                        <a-sphere geometry="primitive: sphere" 
                                cursor-hotpsot-1 sphere="2"
                                position="-3.5 0.1 2.0"
                                scale="0.250 0.250 0.250"
                                color="red"
                                id="hotspot_tr"></a-sphere>
                        <!-- BOTTOM LEFT -->
                        <a-sphere geometry="primitive: sphere"
                                cursor-hotpsot-1 sphere="2"
                                position="3.3 0.1 -2.3"
                                scale="0.250 0.250 0.250"
                                color="green"
                                id="hotspot_bl"></a-sphere>
                        <!-- CENTER TOP -->
                        <a-sphere geometry="primitive: sphere"
                                cursor-hotpsot-1 sphere="2"
                                position="-0.040 0.1 0.1"
                                scale="0.250 0.250 0.250"
                                color="blue"
                                id="hotspot_ct"></a-sphere>

                        </a-obj-model>     

                        <a-camera active="true" spectator="true"
                        wasd-controls="wsEnabled:false;enabled:false"
                        look-controls="enabled: false"
                        zoom="2.4" position="0.28042 0.01891 -1.85751"
                        camera="zoom:1.5" 
                        look-controls=""
                        camera="active:true"
                        data-aframe-inspector-original-camera=""
                        look-controls="enabled: false">

                        <a-animation attribute="position"
                            dur="2500"
                            fill="forwards"
                            from="0.2058 0.29058 -1.96409"
                            to="0 0 -1.5"
                            repeat="0">
                        </a-animation>

                        </a-camera>
                </a-scene>

Просмотр примера с версией 8 A-FRAME покажет три сферы, которые появятся в направлениинижний левый экран.Версия 9 ничего не покажет.Я ожидаю, что версия 9 будет работать так же, как и версия 8.

1 Ответ

0 голосов
/ 09 мая 2019

a-animation устарел в A-Frame 0.9.0 в пользу компонента анимации:

https://aframe.io/docs/0.9.0/components/animation.html#sidebar

Камера фактически перемещается, но визуальное представление остается на месте.Я подал ошибку, чтобы покрыть это:

https://github.com/aframevr/aframe-inspector/issues/582

...