Three.js StereoEffect 无法应用于 CSS3DRenderer

Gun*_*ram 2 stereoscopy webgl three.js virtual-reality

我正在开发 Chrome VR 网络应用程序。现在我拼命地想弄清楚如何将网站渲染到我的立体场景中,其中有一些网格。

所以我有我的网格渲染器,效果很好。以下代码只是相关片段:

var renderer = new THREE.WebGLRenderer();
Run Code Online (Sandbox Code Playgroud)

然后我有我的立体效果渲染器,它接收 webgl 渲染器:

var effect = new THREE.StereoEffect(renderer);
Run Code Online (Sandbox Code Playgroud)

接下来,我创建网站渲染器,并将其应用到立体效果:

var rendererCSS = new THREE.CSS3DRenderer();
var effectHUD = new THREE.StereoEffect(rendererCSS);
Run Code Online (Sandbox Code Playgroud)

然后我有正在渲染的场景:

var scene = new THREE.Scene();
var sceneCSS = new THREE.Scene();
function render(dt) {
      effect.render(scene, camera);
      effectHUD.render( sceneCSS, camera );
    }
Run Code Online (Sandbox Code Playgroud)

不,我收到的是这样的: 渲染图像

我的网格的立体图像,但网站的非立体图像。问题是,当我尝试将 css 渲染器添加到 StereoEffect 渲染器中时,setViewport 函数(可能还有其他函数)丢失了。
我尝试将网站对象添加到 webgl 渲染器,但它不想渲染我的网站,因此使用网格将网站对象添加到场景中不起作用。

任何帮助是极大的赞赏!

小智 5

我也遇到了同样的问题。似乎有一个 CSS 立体渲染器,但它已与所有示例一起被删除。这可能是出于多种原因,因此请谨慎使用以下内容,或者直到他们重新引入兼容性:搜索后,我找到了他们演示的剩余副本,您可以从中挖掘代码并复制其 CSS3DStereoRenderer.js 文件。

希望这有帮助。