2014-10-09 44 views
9

我创造使用挤压几何形状,现在用挤出设置我需要增加我曾使用厚度的形状bevelThickness它会沿y轴增加厚度,但需要沿着x轴和z轴增加如何增加沿着x和z轴的拉伸几何的厚度 - three.js所

这里我的工作jsfiddle

下面是我对挤出设置代码,

var extrusionSettings = { 
      curveSegments:5, 
      steps: 10, 
      amount: 10, 
      bevelEnabled: true, 
      bevelThickness: 120, 
      bevelSize: 0, 
      bevelSegments: 8, 
      material: 0, 
      extrudeMaterial: 1 
     }; 

     var geometry1 = new THREE.ExtrudeGeometry(shape1, extrusionSettings); 

     var materialLeft = new THREE.MeshLambertMaterial({ 
      color: 0xd6d6d6,// red 
      transparent:true, 
      side: THREE.DoubleSide, 
      ambient: 0xea6767, 
      opacity:-0.5 
     }); 
     var materialRight = new THREE.MeshLambertMaterial({ 
      color: 0xcc49c3,//violet     
      side: THREE.DoubleSide, 
      ambient: 0xcc49c3 
     });   

     var materials = [ materialLeft, materialRight        
          ]; 

     var material = new THREE.MeshFaceMaterial(materials); 
     var mesh1 = new THREE.Mesh(geometry1, material);   
     object.add(mesh1); 
     object.rotation.x = Math.PI/2; 

     scene.add(object); 

下面是样本图像 enter image description here

没有任何设置,以提高呢?任何人都可以引导我吗?

+0

参见http://threejs.org/examples/webgl_geometry_shapes.html如何挤出的形状有一个洞在里面。 – WestLangley 2014-10-09 15:20:50

+0

@WestLangley [这里](http://jsfiddle.net/Roobena/2g7wt4gk/)是我的另一个小提琴,我用这个孔来挤压形状,但是为了创建这个需要2个路径值(1个形状和另一个这个洞),但在我的过程中,我将只能得到一个路径值(外部路径形状),可能会生成另一个内部路径(洞) – Roobena 2014-10-10 03:31:22

+0

您必须自己创建洞路径...另外,花时间试验演示中的每个参数值,并确保你理解它代表的是什么。看看你的代码,看起来你还不明白一切。 – WestLangley 2014-10-10 05:25:17

回答

3

最后我做了窍门修复它,我做了什么只是我克隆了网格添加添加位置克隆网格,所以我得到了另一个内墙附近的墙壁,通过这种方式我添加了多个克隆与环,多个内壁附近其他创建的壁变厚,

演示:Fiddle

//outer wall mesh 
var mesh1 = new THREE.Mesh(geometry1, material); 
    object.add(mesh1); 

    var mesh_arr=new Array(); 
    for(i=0.1;i<15;i++) 
    { 

     //cloned mesh,add position to the cloning mesh 
     mesh_arr[i] = mesh1.clone(); 
     mesh_arr[i].position.set(i,i,i); 
     mesh_arr[i].updateMatrix(); 
     object.add(mesh_arr[i]); 

    } 

Result