Ich möchte in der Lage sein, eine gegebene Vertices-Transparenz anhand ihrer Farbe (definiert im vertColors-Array) so zu setzen, dass auf einem einzelnen Mesh Bereiche unterschiedlicher Opazität erscheinen können.threejs set transparent color
Gibt es eine einfache Möglichkeit, alle Scheitelpunkte, die als eine bestimmte Farbe definiert sind, transparent zu machen?
Ein Gedanke, den ich hatte; Wäre es möglich, den Shader von MeshBasicMaterial zu erweitern/zu ändern, um alle schwarzen Bereiche als transparent zu definieren?
Kann ich alternativ die Ausgabe dieses Materials in einen zweiten Shader übergeben?
const geometry = new THREE.BufferGeometry();
const vertPositions = createVertPositions(); //Float32Array of positions
const vertColors = createVertColors(); //Float32Array of colors
geometry.addAttribute('position', new THREE.BufferAttribute(vertPositions, 3));
geometry.addAttribute('color', new THREE.BufferAttribute(vertColors, 3));
const material = new THREE.MeshBasicMaterial({
transparent: true,
opacity: 0.5,
side: THREE.BackSide,
vertexColors: THREE.VertexColors
});
const mesh = new THREE.Mesh(geometry, material);
Danke für jede Hilfe.
haben Sie irgendwelche Ihrer Ideen umgesetzt und sie haben nicht funktioniert? – gaitat