12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- /**
- *
- * @param {*} geometry
- * @return {*}
- * morphTargetsPosition,
- * morphTargetsNormal,
- * _vertices
- _normals
- _colors
- _uvs
- _uvs2,
- _skinIndices,
- _skinWeights
- */
- function fromGeometry(geometry) {
- var faces = geometry.faces;
- var vertices = geometry.vertices;
- if (vertices.length > 0 && faces.length === 0) {
- console.error('THREE.DirectGeometry: Faceless geometries are not supported.');
- }
- var _vertices = [],
- _normals = [];
- for (var i = 0; i < faces.length; i++) {
- var face = faces[i];
- _vertices.push(vertices[face.a], vertices[face.b], vertices[face.c]);
- var vertexNormals = face.vertexNormals;
- if (vertexNormals.length === 3) {
- _normals.push(vertexNormals[0], vertexNormals[1], vertexNormals[2]);
- } else {
- var normal = face.normal;
- _normals.push(normal, normal, normal);
- }
- }
- return {
- vertices: _vertices,
- normals: _normals,
- }
- }
- export default fromGeometry
|