рамка-нижняя половина изображения - PullRequest
0 голосов
/ 10 февраля 2020

Я пробовал следующий код из сбоев https://glitch.com/~8w-raycast-image

Код работает нормально, как этот

index. html

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>8th Wall Raycast a-image</title>
    <meta name="description" content="Hello, WebVR! • A-Frame">
    <script src="//cdn.8thwall.com/web/aframe/8frame-0.8.2.min.js"></script>
    <script src="//apps.8thwall.com/xrweb?appKey=bIdX0bnxlgGtNPMw9ewJumghO5gBtFQHo9VXYdx6YmOxqvH6QN8lnJEQf75ATZ19JeTY4I"></script>

    <script>
      AFRAME.registerComponent('shadow-material', {
        init:function() {
          this.material = new THREE.ShadowMaterial()
          this.el.getOrCreateObject3D('mesh').material = this.material
          this.material.opacity = 0.4
        }

      });

      AFRAME.registerComponent('tap-info',{
            init: function(){
                this.el.addEventListener('click',function() {
                 alert('image tapped!');
                 });
            }
         });

    </script>

    <script src="//cdn.8thwall.com/web/xrextras/xrextras.js"></script>
  </head>

  <body>
    <a-scene xrweb 
      xrextras-almost-there
      xrextras-loading
      xrextras-runtime-error 
      background="color: #FAFAFA">
      <a-camera
        position="0 1.8 0"
        raycaster="objects: .cantap"
        cursor="
          fuse: false;
          rayOrigin: mouse;"></a-camera>

      <a-entity
        light="type: directional;
               intensity: 1;
               castShadow: true;
               shadowMapHeight: 1024;
               shadowMapWidth: 1024;
               shadowCameraTop: 10;"
        position="1 4.3 2.5"
        shadow>
      </a-entity>

      <a-image
         position="0 1 -2"
         height="1.8"
         width="1"
         class="cantap"
         src="https://cdn.glitch.com/e9ba5c8a-0f92-4729-8915-c1adad9dbf67%2FD2DFE4B5-332F-429E-A4BE-CA222BB0C082.jpeg"
         tap-info
      ></a-image>

      <a-entity
        light="type: ambient;
               intensity: 0.5;">
      </a-entity>

      <a-box position="-1 0.5 -3" rotation="0 45 0" color="#4CC3D9" shadow></a-box>
      <a-sphere position="0 1.25 -5" radius="1.25" color="#EF2D5E" shadow></a-sphere>
      <a-cylinder position="1 0.75 -3" radius="0.5" height="1.5" color="#FFC65D" shadow></a-cylinder>
      <a-plane position="0 0 -4" rotation="-90 0 0" width="50" height="50" color="#7BC8A4" shadow shadow-material></a-plane>
    </a-scene>
  </body>
</html>

Однако, когда я переместил его на script.js, я столкнулся с проблемой обрезания изображения

script. js

        let text = document.createElement('a-image');
        text.setAttribute('position', '0 1 -2');
        text.setAttribute('height', '2');
        text.setAttribute('width', '1');
        text.setAttribute('scale', '55 55 55');
        text.setAttribute('src', './assets/dot.png');
        text.setAttribute('class', 'cantap');
        text.setAttribute('tap-info', 'true');

Исходное изображение не работало (нижняя половина была обрезана) , поэтому я попытался использовать собственное изображение, но у меня все еще были те же проблемы.

only top half of the dot is seen

Исходное изображение

Original Image

...