Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.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_Uv Mapping - Fatal编程技术网

Javascript 向自定义three.js几何体添加纹理

Javascript 向自定义three.js几何体添加纹理,javascript,three.js,uv-mapping,Javascript,Three.js,Uv Mapping,我一直在寻找在three.js中向自定义几何体添加uv贴图的方法。我已经找到了做这件事的方法,但没有一个我找到的解决办法有效。有人能解释一下uv贴图是如何工作的,以及如何正确地进行吗 var s=100; var MapHeight=函数(x,y,mult){ var-map=新数组(x); 对于(变量i=0;i

我一直在寻找在three.js中向自定义几何体添加uv贴图的方法。我已经找到了做这件事的方法,但没有一个我找到的解决办法有效。有人能解释一下uv贴图是如何工作的,以及如何正确地进行吗

var s=100;
var MapHeight=函数(x,y,mult){
var-map=新数组(x);
对于(变量i=0;i

现在,当我尝试将UV贴图添加到我的几何体时,结果可能是黑色材质或我的程序无法运行。

纹理坐标必须按面添加到第一层UV层。

在UV层上创建和阵列:

geo.faceVertexUvs[0]=[];
并为每个三角形面添加一个3的数组:

geo.faceVertexUvs[0]。推送([
新的三矢量2(u0,v1),
新的三矢量2(u1,v1),
新三点矢量2(u2,v2)
]);
将此应用于代码,如下所示:

var geo=new THREE.Geometry();
var i;
var-uv=[];
对于(i=0;i
感谢您的回答,我的纹理将显示在自定义几何体上。但是,纹理出现了blurry@ArgentumManus我看不到你的纹理。这是一个新的方面,扩展了您最初的问题。纹理具有和属性。如何创建纹理?