使用three.js将二十面体几何体的每个面周围留出一些空白
我想分离二十面体的每个面,如上图所示。有人能给我举一个相关的例子,或者有什么想法可以让它工作吗?在我的例子中,二十面体的每个面都有不同的图像纹理作为材质,所以我不能使用Shadermaterial使用three.js将二十面体几何体的每个面周围留出一些空白,three.js,Three.js,我想分离二十面体的每个面,如上图所示。有人能给我举一个相关的例子,或者有什么想法可以让它工作吗?在我的例子中,二十面体的每个面都有不同的图像纹理作为材质,所以我不能使用Shadermaterial 谢谢您可以使用ExplodeModifier将几何体转换为所谓的“三角形汤”,然后根据需要转换顶点 var geometry = new THREE.IcosahedronGeometry( 4, 2 ); var modifier = new THREE.ExplodeModifier(); m
谢谢您可以使用
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.它成功了。你能推荐任何学习基本知识的参考书或网站吗。