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将二十面体几何体的每个面周围留出一些空白_Three.js - Fatal编程技术网

使用three.js将二十面体几何体的每个面周围留出一些空白

使用three.js将二十面体几何体的每个面周围留出一些空白,three.js,Three.js,我想分离二十面体的每个面,如上图所示。有人能给我举一个相关的例子,或者有什么想法可以让它工作吗?在我的例子中,二十面体的每个面都有不同的图像纹理作为材质,所以我不能使用Shadermaterial 谢谢您可以使用ExplodeModifier将几何体转换为所谓的“三角形汤”,然后根据需要转换顶点 var geometry = new THREE.IcosahedronGeometry( 4, 2 ); var modifier = new THREE.ExplodeModifier(); m

我想分离二十面体的每个面,如上图所示。有人能给我举一个相关的例子,或者有什么想法可以让它工作吗?在我的例子中,二十面体的每个面都有不同的图像纹理作为材质,所以我不能使用Shadermaterial


谢谢

您可以使用
ExplodeModifier
将几何体转换为所谓的“三角形汤”,然后根据需要转换顶点

var geometry = new THREE.IcosahedronGeometry( 4, 2 );

var modifier = new THREE.ExplodeModifier();
modifier.modify( geometry );

var normal = new THREE.Vector3();

for ( var i = 0, l = geometry.faces.length; i < l; i ++ ) {

    var face = geometry.faces[ i ];

    normal.copy( face.normal ).multiplyScalar( 1 );

    geometry.vertices[ face.a ].add( normal );
    geometry.vertices[ face.b ].add( normal );
    geometry.vertices[ face.c ].add( normal );

};
var几何=新的三个。二十面体几何(4,2);
var修饰符=新的三个。ExplodeModifier();
修改器。修改(几何体);
var normal=new-THREE.Vector3();
对于(变量i=0,l=geometry.faces.length;i
examples/js/modifiers/ExplodeModifier.js
必须明确包含在项目中


three.js r.87

您可以使用
ExplodeModifier
将几何体转换为所谓的“三角形汤”,然后根据需要转换顶点

var geometry = new THREE.IcosahedronGeometry( 4, 2 );

var modifier = new THREE.ExplodeModifier();
modifier.modify( geometry );

var normal = new THREE.Vector3();

for ( var i = 0, l = geometry.faces.length; i < l; i ++ ) {

    var face = geometry.faces[ i ];

    normal.copy( face.normal ).multiplyScalar( 1 );

    geometry.vertices[ face.a ].add( normal );
    geometry.vertices[ face.b ].add( normal );
    geometry.vertices[ face.c ].add( normal );

};
var几何=新的三个。二十面体几何(4,2);
var修饰符=新的三个。ExplodeModifier();
修改器。修改(几何体);
var normal=new-THREE.Vector3();
对于(变量i=0,l=geometry.faces.length;i
examples/js/modifiers/ExplodeModifier.js
必须明确包含在项目中


three.js r.87

也许谢谢,细分对图像纹理手机材质类型的网格有效吗?你能帮我吗@Westlangley也许谢谢,镶嵌对图像纹理手机材质类型的网格有效吗?你能帮我吗@你能推荐任何学习基本知识的参考书或网站吗?Thansk.它成功了。你能推荐任何学习基本知识的参考书或网站吗。