I write the following code,but its missed 2 faces, more like a tube,not a wall.
I know its just a 2D closed line not face , but i really dont know how i make this happen
const points = [
new THREE.Vector2(4,0),
new THREE.Vector2(5,0),
new THREE.Vector2(5,2),
new THREE.Vector2(4,2),
new THREE.Vector2(4,0)
]
let geometry = new THREE.LatheGeometry(points,600,0,1.9*Math.PI);
let material=new THREE.MeshLambertMaterial({
color:color,
side:THREE.DoubleSide,
clipIntersection:true
});
let mesh=new THREE.Mesh(geometry,material)
what can i do to make this looks like a wall?
I tried extrudeGeometry directly but my mesh closed automatically looks like this
I set the end to 1.5π to show mesh automatically close
here’s the code
let shape = new THREE.Shape()
shape.arc(0,0,5,0,1.5*Math.PI)
let path = new THREE.Path()
path.arc(0,0,4,0,1.5*Math.PI)
shape.holes.push(path)
const extrudeSettings = {
steps: 2,
depth: 1,
bevelEnabled: false,
};
let geometry = new THREE.ExtrudeGeometry(shape,extrudeSettings)
let material = new THREE.MeshLambertMaterial({
color : color,
side : THREE.DoubleSide
})
let mesh = new THREE.Mesh(geometry,material)
I tried extrudeGeometry with extrudeCruve but the ArcCurve is 2D curve,the extrudeCruve require 3D curve