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
Three.js 在3JS形状上绘制图案_Three.js_Textures_Shapes - Fatal编程技术网

Three.js 在3JS形状上绘制图案

Three.js 在3JS形状上绘制图案,three.js,textures,shapes,Three.js,Textures,Shapes,我一直试图用Three.js绘制一个带有图案的形状,但没有成功。到目前为止,我做到了这一点: var s = 0.25; var sqLength = 80; var squareShape = new THREE.Shape(); squareShape.moveTo( 0,0 ); squareShape.lineTo( 0, sqLength ); squareShape.lineTo( sqLength, sqLength ); squareShape.lineTo( sqLength,

我一直试图用Three.js绘制一个带有图案的形状,但没有成功。到目前为止,我做到了这一点:

var s = 0.25;
var sqLength = 80;
var squareShape = new THREE.Shape();
squareShape.moveTo( 0,0 );
squareShape.lineTo( 0, sqLength );
squareShape.lineTo( sqLength, sqLength );
squareShape.lineTo( sqLength, 0 );
squareShape.lineTo( 0, 0 );

var points = shape.createPointsGeometry();
var spacedPoints = shape.createSpacedPointsGeometry( 100 );
var extrudeSettings = { amount: 20, bevelThickness:1 };

var geometry = new THREE.ExtrudeGeometry( squareShape, extrudeSettings );
var material = new THREE.MeshLambertMaterial({
    map: THREE.ImageUtils.loadTexture( 'textures/oak.jpg' )
  });

var mesh = THREE.SceneUtils.createMultiMaterialObject( geometry, [ material ] );
mesh.position.set( x, y, z - 75 );
mesh.rotation.set( rx, ry, rz );
mesh.scale.set( s, s, s );
group.add( mesh );

但最终渲染仅绘制与图案颜色相似的形状,而不是图案本身。我到处都找遍了,运气不好。使用三维图形(如立方体)可以相对容易地完成,但不能在二维图形上完成。如有任何建议,将不胜感激

如果将sqLength设置为1,是否会显示纹理?