/** * * @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