我遇到一个问题,如何获得像圆环但平方的“开环”?
我尝试使用形状加上路径作为孔:

var arcShape = new THREE.Shape();
arcShape.moveTo( 40, 0 );
arcShape.arc( 0, 0, 40, 0, 2*Math.PI, false );

var holePath = new THREE.Path();
holePath.moveTo( 30,0 )
holePath.arc( 0, 0, 30, 0, 2*Math.PI, true );


直到现在,制作一个网格:

new THREE.Mesh( arcShape.extrude({ amount: 5, bevelEnabled: false }), MATERIAL );


它有效,但是如何制作中间环?我的意思是:

 var arcShape = new THREE.Shape();
 arcShape.moveTo( 40, 0 );
 arcShape.arc( 0, 0, 40, 0, Math.PI, false );

 var holePath = new THREE.Path();
 holePath.moveTo( 30,0 );
 holePath.arc( 0, 0, 30, 0, Math.PI, true );


它可以工作,但是在端子部分之间仍然保留着微妙的面孔……是否有办法使其完全打开?

最佳答案

与其从平方开始,不如尝试在Torus几何构造函数中更改参数:

// Torus geometry parameters:
//     radius of entire torus,
//     diameter of tube (should be less than total radius),
//     segments around radius,
//     segments around torus ("sides")
var torusGeom = new THREE.TorusGeometry( 25, 10, 4, 4 );

09-11 18:16
查看更多