1

在这个 glitch.com 页面中:

https://glitch.com/~query-aframe-perspective-screenshot
点击进入 3D 场景(或点击“显示”按钮)并按下spacebar
页面将尝试下载此处描述的透视截图:
https://aframe。 io/docs/0.9.0/components/screenshot.html#perspective-screenshot

~场景将冻结

编辑项目并将a-frame版本重置为0.9.0
点击进入场景,然后按spacebar
页面将再次尝试下载透视截图

〜场景可能会暂停,但应该恢复

在版本 0.9.2 下:

控制台抛出:
-three.js:23652 THREE.WebGLRenderer.render():renderTarget 参数已被删除。使用 .setRenderTarget() 代替。
- three.js:23652 three.js:23659 THREE.WebGLRenderer.render():forceClear 参数已被删除。使用 .clear() 代替。

下面是我的整个 a-frame 组件,将空间抓取应用于场景本身:

AFRAME.registerComponent("space_pause",

{
    init: function()
    {
      var scenic = document.querySelector("#scenic");
      document.body.onkeyup = function(e){
        if(e.keyCode == 32){
            scenic.components.screenshot.capture('perspective');
        }
      }
    }
});  

我发现了一个错误吗?

注意:
-出于我的目的(目前)忽略您在下载的屏幕截图中可能观察到的任何失真

4

2 回答 2

0

这是一个已修复的已知问题。使用来自 master 的构建

于 2019-06-25T19:54:40.193 回答
0

Three.js r102更改了WebGLRenderer公共 API。由于 A-Frame 0.9.2 仍未针对这些更改进行更新,因此会引发警告,但功能仍然有效。

这也是屏幕短暂冻结的原因。问题已报告并已修复。因此,在下一个版本中一切都应该很好。

于 2019-06-25T19:55:28.743 回答