Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.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:纹理变为全黑色_Javascript_Three.js - Fatal编程技术网

Javascript three.js:纹理变为全黑色

Javascript three.js:纹理变为全黑色,javascript,three.js,Javascript,Three.js,我有一个简单的盒子几何,我正试图用纹理来装饰它。然而,我的盒子根本不显示(或者可能是100%黑色)。这个当前的问题是从。我已经更新了代码,以反映作者对原始问题给出的答案。我写这封信是为了证明这一新问题。这是该网站的内容: “严格使用”; //生成DOM元素: var container=document.createElement('div'); 文件.正文.附件(容器); var info=document.createElement('div'); container.appendChil

我有一个简单的盒子几何,我正试图用纹理来装饰它。然而,我的盒子根本不显示(或者可能是100%黑色)。这个当前的问题是从。我已经更新了代码,以反映作者对原始问题给出的答案。我写这封信是为了证明这一新问题。这是该网站的内容:

“严格使用”;
//生成DOM元素:
var container=document.createElement('div');
文件.正文.附件(容器);
var info=document.createElement('div');
container.appendChild(info);
//“Box2”几何体实例:(请参见下面的几何体实现)
var myBox2geom=新的三个.BoxGeometry(10010010010,10,10);//参数:x、y、z尺寸及其线段的宽度
//创建场景:
var scene=new THREE.scene();
//制作相应的“Box2”网格:
新的3.TextureLoader().load(
"http://mrdoob.github.io/three.js/examples/textures/crate.gif",
功能(纹理){
texture.minFilter=3.NearestFilter;
var material=new THREE.meshlambertmater({map:texture,side:THREE.DoubleSide});
var myBox2mesh=新的三个网格(myBox2geom,材质);
//将网格添加到场景:
添加(myBox2mesh);
},
函数(){},//onProgress函数
函数(错误){console.log(错误)}//未记录任何错误
);
//发光:
var灯=新的三点灯(0xffffff);
光。位置。设置(100200300);
看(新的三个向量3(0,0,0));
场景。添加(灯光);
//制作相机:
var摄像机=新的三透视摄像机(45,window.innerWidth/window.innerHeight,11000);
摄像机位置x=100;
摄像机位置y=200;
摄像机位置z=300;
摄影机。注视(新的三个向量3(0,0,0));
场景。添加(摄影机);
//生成渲染器:
var renderer=new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth、window.innerHeight);
container.appendChild(renderer.doElement);
//A和渲染!
渲染器。渲染(场景、摄影机);
THREE.box2几何=功能(宽度、高度、深度、宽度段、高度段、深度段){
三、几何学。叫(这个);
这个参数={
宽度:宽度,
高度:高度,,
深度:深度,
宽度段:宽度段,
高度分段:高度分段,
深度分段:深度分段
};
this.widthSegments=widthSegments | | 1;
this.heightSegments=heightSegments | | 1;
this.depthSegments=depthSegments | | 1;
var constructee=this;//constructee=Box2Geometry构造函数当前正在构造的实例
var width_half=width/2;//width=绝对三维空间中沿x的距离
var height_half=height/2;//height=绝对三维空间中沿y方向的距离
var depth_half=depth/2;//depth=绝对三维空间中沿z的距离
buildPlane('z','y',-1,-1,深度,高度,宽度_-half,0);/px
buildPlane('z','y',1,-1,深度,高度,-宽度的一半,1);/nx
buildPlane('x','z',1,1,宽度,深度,高度_-half,2);//py
建筑平面('x','z',1,-1,宽度,深度,-高度_半,3);//ny
建筑平面('x','y',1,-1,宽度,高度,深度的一半,4);//pz
buildPlane('x','y',-1,-1,宽度,高度,-深度的一半,5);//nz
功能构建平面(u、v、uDir、vDir、uDist、vDist、wDist\u半、materialIndex){
var w、iu、iv、,
segU=constructee.widthSegments,//沿u的段数//宽度=x
segV=constructee.heightSegments,//沿v的段数//高度=y
uDist_half=uDist/2,//平面沿u的范围,除以2
vDist_half=vDist/2,//平面沿v的范围,除以2
偏移=constructee.vertices.length;
如果((u=='x'&&v=='y')| |(u=='y'&&v=='x')){
w=‘z’;
}如果((u=='x'&&v==='z')| |(u==='z'&&v=='x')){
w=‘y’;
segV=施工方深度段;
}如果((u=='z'和&v=='y')| |(u=='y'和&v=='z')){
w='x';
segU=施工方深度段;
}
var segUi=segU+1,//i=inc=递增(按1)
segVi=segV+1,//i=inc=递增(按1)
分段距离=uDist/segU,
分段距离=vDist/segV,
正常=新的3.Vector3();
正常[w]=wDist_half>0?1:-1;
对于(iv=0;iv

错误控制台提示
var loader = new THREE.TextureLoader();
loader.crossOrigin = "";
loader.load("http://mrdoob.github.io/three.js/examples/textures/crate.gif",
    function( texture ) {
        //...
    },
    function () {},  // onProgress function
    function ( error ) { console.log( error ) } // onError function
);
SecurityError: The operation is insecure.
gl.texImage2D.apply( gl, arguments );
var loader = new THREE.TextureLoader();
loader.crossOrigin = "";
loader.load(
    "http://mrdoob.github.io/three.js/examples/textures/crate.gif",
    function( texture ) {
        //...
    },
    function () {},  // onProgress function
    function ( error ) { console.log( error ) } // onError function
);