Skip to content

Commit

Permalink
Re-generated examples/jsm files.
Browse files Browse the repository at this point in the history
  • Loading branch information
mrdoob committed Mar 27, 2019
1 parent ec73e0c commit 6646710
Show file tree
Hide file tree
Showing 3 changed files with 74 additions and 11 deletions.
29 changes: 20 additions & 9 deletions examples/jsm/exporters/GLTFExporter.js
Original file line number Diff line number Diff line change
Expand Up @@ -1186,9 +1186,22 @@ GLTFExporter.prototype = {
var modifiedAttribute = null;
for ( var attributeName in geometry.attributes ) {

// Ignore morph target attributes, which are exported later.
if ( attributeName.substr( 0, 5 ) === 'morph' ) continue;

var attribute = geometry.attributes[ attributeName ];
attributeName = nameConversion[ attributeName ] || attributeName.toUpperCase();

// Prefix all geometry attributes except the ones specifically
// listed in the spec; non-spec attributes are considered custom.
var validVertexAttributes =
/^(POSITION|NORMAL|TANGENT|TEXCOORD_\d+|COLOR_\d+|JOINTS_\d+|WEIGHTS_\d+)$/;
if ( ! validVertexAttributes.test( attributeName ) ) {

attributeName = '_' + attributeName;

}

if ( cachedData.attributes.has( attribute ) ) {

attributes[ attributeName ] = cachedData.attributes.get( attribute );
Expand All @@ -1208,15 +1221,11 @@ GLTFExporter.prototype = {

}

if ( attributeName.substr( 0, 5 ) !== 'MORPH' ) {
var accessor = processAccessor( modifiedAttribute || attribute, geometry );
if ( accessor !== null ) {

var accessor = processAccessor( modifiedAttribute || attribute, geometry );
if ( accessor !== null ) {

attributes[ attributeName ] = accessor;
cachedData.attributes.set( attribute, accessor );

}
attributes[ attributeName ] = accessor;
cachedData.attributes.set( attribute, accessor );

}

Expand Down Expand Up @@ -1384,6 +1393,8 @@ GLTFExporter.prototype = {

}

if ( primitive.indices === null ) delete primitive.indices;

}

var material = processMaterial( materials[ groups[ i ].materialIndex ] );
Expand Down Expand Up @@ -1778,7 +1789,7 @@ GLTFExporter.prototype = {

} else if ( object.isLight ) {

console.warn( 'THREE.GLTFExporter: Only directional, point, and spot lights are supported.' );
console.warn( 'THREE.GLTFExporter: Only directional, point, and spot lights are supported.', object );
return null;

}
Expand Down
52 changes: 52 additions & 0 deletions examples/jsm/utils/SkeletonUtils.js
Original file line number Diff line number Diff line change
Expand Up @@ -541,8 +541,60 @@ var SkeletonUtils = {

return bones;

},

clone: function ( source ) {

var sourceLookup = new Map();
var cloneLookup = new Map();

var clone = source.clone();

parallelTraverse( source, clone, function ( sourceNode, clonedNode ) {

sourceLookup.set( clonedNode, sourceNode );
cloneLookup.set( sourceNode, clonedNode );

} );

clone.traverse( function ( node ) {

if ( ! node.isSkinnedMesh ) return;

var clonedMesh = node;
var sourceMesh = sourceLookup.get( node );
var sourceBones = sourceMesh.skeleton.bones;

clonedMesh.skeleton = sourceMesh.skeleton.clone();
clonedMesh.bindMatrix.copy( sourceMesh.bindMatrix );

clonedMesh.skeleton.bones = sourceBones.map( function ( bone ) {

return cloneLookup.get( bone );

} );

clonedMesh.bind( clonedMesh.skeleton, clonedMesh.bindMatrix );

} );

return clone;

}

};


function parallelTraverse ( a, b, callback ) {

callback( a, b );

for ( var i = 0; i < a.children.length; i ++ ) {

parallelTraverse( a.children[ i ], b.children[ i ], callback );

}

}

export { SkeletonUtils };
4 changes: 2 additions & 2 deletions examples/jsm/utils/UVsDebug.js
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ var UVsDebug = function ( geometry, size ) {
uvs[ 1 ].fromBufferAttribute( uvAttribute, face[ 1 ] );
uvs[ 2 ].fromBufferAttribute( uvAttribute, face[ 2 ] );

processFace( face, uvs, i );
processFace( face, uvs, i / 3 );

}

Expand All @@ -105,7 +105,7 @@ var UVsDebug = function ( geometry, size ) {
uvs[ 1 ].fromBufferAttribute( uvAttribute, face[ 1 ] );
uvs[ 2 ].fromBufferAttribute( uvAttribute, face[ 2 ] );

processFace( face, uvs, i );
processFace( face, uvs, i / 3 );

}

Expand Down

0 comments on commit 6646710

Please sign in to comment.