Voglio inserire una decalcomania all'interno di un segmento di una geometria del tubo (nel backface).three.js - TubeGeometry + DecalGeometry su un segmento del tubo
Il modo in cui lo faccio è utilizzare TubeGeometry come geometria della decalcomania.
E questo è ciò che voglio: (cattivo disegno) Codice
Esempio:
//code
var tube = new THREE.TubeGeometry(pipelineSpline, 200, 20, 20, closed2);
tubeMesh = THREE.SceneUtils.createMultiMaterialObject(
geometry, [
material, // a phong material
materialInside // a material for the inside
]);
scene.add(tubeMesh);
var decalGeometry = new THREE.DecalGeometry(
tubeMesh.children[0],
new THREE.Vector3(0,0,0), //position
new THREE.Vector3(0,1,0), //direction
new THREE.Vector3(10,10,10), //dimensions
new THREE.Vector3(0,0,0) //check
);
Tuttavia questo sembra applica una decalcomania del tubo lungo tutto il percorso della geometria del retro. E lo voglio solo su una parte del BackSide of the Tube sulle posizioni chiave.
Come si può realizzare un'etichetta decimale localizzata in un oggetto TubeGeometry utilizzando THREE.DecalGeometry? È possibile?
Grazie per la risposta. E non si può fare con l'uso di THREE.DecalGeometry https://github.com/spite/THREE.DecalGeometry? Il migliore è –
Questo non è nella libreria standard :) Un metodo geo-pesante come questo è utile per il set-dressing, ma sarà difficile se le decalcomanie vengono posizionate dinamicamente (ad esempio, quando l'esplosione brucia in un gioco). Solo tu conosci il contesto di cui hai bisogno. – bjorke
Grazie @bjorke Saranno messi all'inizio della scena ... come 10 lungo il tubo e poi saranno statici –