Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Three.js css3drender将场景转换为div_Javascript_Three.js - Fatal编程技术网

Javascript Three.js css3drender将场景转换为div

Javascript Three.js css3drender将场景转换为div,javascript,three.js,Javascript,Three.js,我想使用Three.js css3drender构建一个三维构图 这是我的代码: “严格使用”; var OrbitControls=三个。OrbitControls, css3drender=3.css3drender, CSS3DObject=3.CSS3DObject, 场景=三。场景, 透视照相机=三个。透视照相机, 网格=三。网格, 平面几何=三。平面几何, MeshPhongMaterial=3。MeshPhongMaterial, 颜色=三。颜色, 双面=三。双面, NoBlen

我想使用Three.js css3drender构建一个三维构图

这是我的代码:

“严格使用”;
var OrbitControls=三个。OrbitControls,
css3drender=3.css3drender,
CSS3DObject=3.CSS3DObject,
场景=三。场景,
透视照相机=三个。透视照相机,
网格=三。网格,
平面几何=三。平面几何,
MeshPhongMaterial=3。MeshPhongMaterial,
颜色=三。颜色,
双面=三。双面,
NoBlending=3.NoBlending,
WebGLRenderer=3.WebGLRenderer,
MeshBasicMaterial=三个。MeshBasicMaterial;
var CSS3DDemo=/**@class*/(函数(){
函数CSS3DDemo(){
this.scene=新场景();
this.camera=新透视照相机(50,window.innerWidth/window.innerHeight,0.1500);
this.webGLRenderer=新的webGLRenderer();
this.css3drender=新的css3drender();
this.controls=新的轨道控制(this.camera,this.css3drender.doElement);
此.camera.position.set(0,0,20);
this.webGLRenderer.setSize(window.innerWidth、window.innerHeight);
这个.webGLRenderer.setClearColor(0xFFFFFF);
this.css3drender.setSize(window.innerWidth,window.innerHeight);
this.css3drender.domeElement.style.top='0px';
this.css3drender.domeElement.style.left='0px';
this.css3drender.domeElement.style.position='absolute';
var div=window.document.createElement('div');
div.innerHTML=“这是内容”;
div.style.width='160px';
div.style.height='160px';
div.style.background='red';
var对象=新的CSS3DObject(div);
object.position.set(0,0,0);
对象。比例。设置(1/16,1/16,1/16);
this.scene.add(对象);
var planeGeometry=新的planeGeometry(10,10);
this.scene.add(this.camera);
window.document.body.appendChild(this.webGLRenderer.domeElement);
window.document.body.appendChild(this.css3drender.doElement);
这个。render();
}
CSS3DDemo.prototype.render=函数(){
var_this=这个;
window.requestAnimationFrame(函数(){
返回_this.render();
});
this.css3drender.render(this.scene,this.camera);
this.webGLRenderer.render(this.scene,this.camera);
this.controls.update();
};
返回CSS3DDemo;
}());
新的CSS3DDemo()
html,
身体{
宽度:100vw;
保证金:0;
高度:100vh;
填充:0;
溢出:隐藏;
边界:0;
}
#内容{
宽度:60vw;
高度:70vh;
背景颜色:灰色;
}

不确定这是否是您想要的。如果希望将场景附加到div内容。你可以用

document.getElementById("content").appendChild(this.webGLRenderer.domElement)
document.getElementById("content").appendChild(this.css3DRenderer.domElement)
如果查看元素检查器,您会注意到window.document.body.appendChild()将附加到主体本身,而不是div内容

而document.getElementById(“content”).appendChild()将附加到div内容

“严格使用”;
var OrbitControls=三个。OrbitControls,
css3drender=3.css3drender,
CSS3DObject=3.CSS3DObject,
场景=三。场景,
透视照相机=三个。透视照相机,
网格=三。网格,
平面几何=三。平面几何,
MeshPhongMaterial=3。MeshPhongMaterial,
颜色=三。颜色,
双面=三。双面,
NoBlending=3.NoBlending,
WebGLRenderer=3.WebGLRenderer,
MeshBasicMaterial=三个。MeshBasicMaterial;
var CSS3DDemo=/**@class*/(函数(){
函数CSS3DDemo(){
this.scene=新场景();
this.camera=新透视照相机(50,window.innerWidth/window.innerHeight,0.1500);
this.webGLRenderer=新的webGLRenderer();
this.css3drender=新的css3drender();
this.controls=新的轨道控制(this.camera,this.css3drender.doElement);
此.camera.position.set(0,0,20);
this.webGLRenderer.setSize(window.innerWidth、window.innerHeight);
这个.webGLRenderer.setClearColor(0xFFFFFF);
this.css3drender.setSize(window.innerWidth,window.innerHeight);
this.css3drender.domeElement.style.top='0px';
this.css3drender.domeElement.style.left='0px';
this.css3drender.domeElement.style.position='absolute';
var div=window.document.createElement('div');
div.innerHTML=“这是内容”;
div.style.width='160px';
div.style.height='160px';
div.style.background='red';
var对象=新的CSS3DObject(div);
object.position.set(0,0,0);
对象。比例。设置(1/16,1/16,1/16);
this.scene.add(对象);
var planeGeometry=新的planeGeometry(10,10);
this.scene.add(this.camera);
document.getElementById(“内容”).appendChild(this.webGLRenderer.doElement);
document.getElementById(“内容”).appendChild(this.css3drender.doElement);
这个。render();
}
CSS3DDemo.prototype.render=函数(){
var_this=这个;
window.requestAnimationFrame(函数(){
返回_this.render();
});
this.css3drender.render(this.scene,this.camera);
this.webGLRenderer.render(this.scene,this.camera);
this.controls.update();
};
返回CSS3DDemo;
}());
新的CSS3DDemo()
html,
身体{
宽度:100vw;
保证金:0;
高度:100vh;
填充:0;
溢出:隐藏;
边界:0;
}
#内容{
宽度:60vw;
高度:70vh;
背景颜色:灰色;
}

不确定这是否是您想要的。如果希望将场景附加到div内容。你可以用

document.getElementById("content").appendChild(this.webGLRenderer.domElement)
document.getElementById("content").appendChild(this.css3DRenderer.domElement)
如果查看元素检查器,您会注意到window.document.body.appendChild()将附加到主体本身,而不是div内容

而document.getElementById(“content”).appendChild()将附加到div内容

“严格使用”;
var OrbitControls=三个。OrbitControls,
css3drender=3.css3drender,
CSS3DObject=3.CSS3DObject,
场景=三。场景,
透视照相机=三个。透视照相机,
网格=三。网格,
平面几何=三。平面几何,
MeshPhongMaterial=3.M