Ich importiere ein Mesh und habe bereits die Eckennormalen dafür berechnet. Ich möchte meine Normalen verwenden, anstatt computeVertexNormals() für das Geometrieobjekt aufzurufen. Im Moment habe ichWie definiere ich Vertex-Normalen auf einem Mesh?
var geometry = THREE.Geometry();
// fill in vertex, face and texture
// ...
// compute normals
geometry.computeFaceNormals();
geometry.computeVertexNormals(); // <-- Would like to replace this
Es gibt einen Verweis in der Dokumentation zu einem Puffer-Attribut, aber keine Beispiele. http://threejs.org/docs/index.html?q=vertex#Reference/Core/BufferAttribute
Weiß jemand, wie man das macht?
Dank,
john
Ich bemerkte, dass dies unbeantwortet geblieben ist. Ich schaute auf die Quelle, um zu verstehen, wie sie das Float32Array hinzufügt. Siehe die native Funktion hier: https://github.com/mrdoob/three.js/blob/302c693b27663d4d280b156b5ebe4ed38cd062e4/src/core/BufferGeometry.js#L637 Es erscheint "this.addAttribute" in Zeile 649 erstellt das Objekt, das Attribute erstellt. normal.array verfügbar in Zeile 665, wo es nach Belieben bevölkert ist. Ich würde mir vorstellen, dass Sie so Ihre eigenen hinzufügen würden, wobei "dies" die Instanz von Geometrie oder Puffergeometrie ist. – Radio
Danke, das sehe ich im Code. Wenn dies der unterstützte Weg ist, werde ich das untersuchen. –