From b0190b63b50a93fbfee9f8f5a2ec2f17cb7885ce Mon Sep 17 00:00:00 2001 From: Mugen87 Date: Mon, 16 Sep 2019 16:47:44 +0200 Subject: [PATCH] FBXLoader: Sanitize node name only if necessary. --- examples/js/loaders/FBXLoader.js | 14 ++++++++------ examples/jsm/loaders/FBXLoader.js | 14 ++++++++------ 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/examples/js/loaders/FBXLoader.js b/examples/js/loaders/FBXLoader.js index 44e36dfa08..8a0852c299 100644 --- a/examples/js/loaders/FBXLoader.js +++ b/examples/js/loaders/FBXLoader.js @@ -883,7 +883,8 @@ THREE.FBXLoader = ( function () { } - model.name = THREE.PropertyBinding.sanitizeNodeName( node.attrName ); + model.name = node.attrName ? THREE.PropertyBinding.sanitizeNodeName( node.attrName ) : ''; + model.ID = id; } @@ -917,7 +918,8 @@ THREE.FBXLoader = ( function () { bone.matrixWorld.copy( rawBone.transformLink ); // set name and id here - otherwise in cases where "subBone" is created it will not have a name / id - bone.name = THREE.PropertyBinding.sanitizeNodeName( name ); + + bone.name = name ? THREE.PropertyBinding.sanitizeNodeName( name ) : ''; bone.ID = id; skeleton.bones[ i ] = bone; @@ -1548,7 +1550,7 @@ THREE.FBXLoader = ( function () { }, null ); - relationships.children.forEach( function( child ) { + relationships.children.forEach( function ( child ) { if ( deformers.morphTargets[ child.ID ] !== undefined ) { @@ -2060,7 +2062,7 @@ THREE.FBXLoader = ( function () { // parentGeo.morphAttributes.normal = []; // not implemented var self = this; - morphTargets.forEach( function( morphTarget ) { + morphTargets.forEach( function ( morphTarget ) { morphTarget.rawTargets.forEach( function ( rawTarget ) { @@ -2492,7 +2494,7 @@ THREE.FBXLoader = ( function () { var node = { - modelName: THREE.PropertyBinding.sanitizeNodeName( rawModel.attrName ), + modelName: rawModel.attrName ? THREE.PropertyBinding.sanitizeNodeName( rawModel.attrName ) : '', ID: rawModel.id, initialPosition: [ 0, 0, 0 ], initialRotation: [ 0, 0, 0 ], @@ -2547,7 +2549,7 @@ THREE.FBXLoader = ( function () { var node = { - modelName: THREE.PropertyBinding.sanitizeNodeName( rawModel.attrName ), + modelName: rawModel.attrName ? THREE.PropertyBinding.sanitizeNodeName( rawModel.attrName ) : '', morphName: fbxTree.Objects.Deformer[ deformerID ].attrName, }; diff --git a/examples/jsm/loaders/FBXLoader.js b/examples/jsm/loaders/FBXLoader.js index 92b793bdf5..fe042e66a6 100644 --- a/examples/jsm/loaders/FBXLoader.js +++ b/examples/jsm/loaders/FBXLoader.js @@ -931,7 +931,8 @@ var FBXLoader = ( function () { } - model.name = PropertyBinding.sanitizeNodeName( node.attrName ); + model.name = node.attrName ? PropertyBinding.sanitizeNodeName( node.attrName ) : ''; + model.ID = id; } @@ -965,7 +966,8 @@ var FBXLoader = ( function () { bone.matrixWorld.copy( rawBone.transformLink ); // set name and id here - otherwise in cases where "subBone" is created it will not have a name / id - bone.name = PropertyBinding.sanitizeNodeName( name ); + + bone.name = name ? PropertyBinding.sanitizeNodeName( name ) : ''; bone.ID = id; skeleton.bones[ i ] = bone; @@ -1596,7 +1598,7 @@ var FBXLoader = ( function () { }, null ); - relationships.children.forEach( function( child ) { + relationships.children.forEach( function ( child ) { if ( deformers.morphTargets[ child.ID ] !== undefined ) { @@ -2108,7 +2110,7 @@ var FBXLoader = ( function () { // parentGeo.morphAttributes.normal = []; // not implemented var self = this; - morphTargets.forEach( function( morphTarget ) { + morphTargets.forEach( function ( morphTarget ) { morphTarget.rawTargets.forEach( function ( rawTarget ) { @@ -2540,7 +2542,7 @@ var FBXLoader = ( function () { var node = { - modelName: PropertyBinding.sanitizeNodeName( rawModel.attrName ), + modelName: rawModel.attrName ? PropertyBinding.sanitizeNodeName( rawModel.attrName ) : '', ID: rawModel.id, initialPosition: [ 0, 0, 0 ], initialRotation: [ 0, 0, 0 ], @@ -2595,7 +2597,7 @@ var FBXLoader = ( function () { var node = { - modelName: PropertyBinding.sanitizeNodeName( rawModel.attrName ), + modelName: rawModel.attrName ? PropertyBinding.sanitizeNodeName( rawModel.attrName ) : '', morphName: fbxTree.Objects.Deformer[ deformerID ].attrName, }; -- GitLab