Ich zeichne eine 3D Form mit mehreren Vector3 Punkten mit THREE.ConvexGeometry. Auf diese Weise entsteht ein 3D-Objekt, aber was ich eigentlich versuche zu erschaffen, ist eine «3D-Ebene». Hier ist ein Beispiel für einen Drahtmodell, was der Code generiert. Mein Ziel ist es, nur eine einfache Form (rote Linie) und nicht das ganze Volumen zu bekommen.ThreeJS 3D zeigt auf "flache" Geometrie (jeder Punkt verbindet sich mit den nächsten Punkten)
Der Code ist:
var material = new THREE.MeshPhongMaterial({
color: 0xff0000,
shading: THREE.FlatShading,
wireframe: true
});
material.side = THREE.DoubleSide;
let meshPoints = shapeData.meshPoints; //this is a variable
let points = [];
for (let i = 0; i < meshPoints.length; i++) {points.push(new THREE.Vector3(meshPoints[i][0],meshPoints[i][1],meshPoints[i][2])); }
let geometry = new THREE.ConvexGeometry(points);
var mesh = new THREE.Mesh(geometry, material);
mesh.name = shapeData.name;
mesh.material.transparent = true;
mesh.material.opacity = 0.2;
window.scene.add(mesh);
Diese enge des get. Aber was ich wirklich suche, ist, ein kundenspezifisches Netz wie dieses zu erzeugen: https://ibb.co/kZW3hG Dass jeder Punkt mit dem nächsten verbunden wird, ohne es ein Volumen zu machen. Die einzige Information, die ich bekomme, um diese Form zu erstellen, ist eine zufällige Anzahl (> 10) verschiedener 3D-Vektorpunkte. Ich kann nicht sagen, ob es konkav/oder eben sein wird. Ich werde keine Erleichterung brauchen. Scharfe Kanten wie im Beispiel sind völlig in Ordnung :) – vinni
@vinni Sie benötigen wahrscheinlich einen Sortieralgorithmus für die beliebige Menge an Punkten. Die sortierten Punkte, die Sie in einer 'THREE.PlaneGeometry' verwenden können. – Rabbid76