@needle-tools/three 0.162.4 → 0.162.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -881,9 +881,9 @@ class FBXTreeParser {
881
881
  const modelNode = modelNodes[ model.ID ];
882
882
  scope.setLookAtProperties( model, modelNode );
883
883
 
884
- const parentConnections = connections.get( model.ID ).parents;
884
+ const parentConnections = connections.get( model.ID )?.parents;
885
885
 
886
- parentConnections.forEach( function ( connection ) {
886
+ parentConnections?.forEach( function ( connection ) {
887
887
 
888
888
  const parent = modelMap.get( connection.ID );
889
889
  if ( parent !== undefined ) parent.add( model );
@@ -998,7 +998,7 @@ class FBXTreeParser {
998
998
 
999
999
  let bone = null;
1000
1000
 
1001
- relationships.parents.forEach( function ( parent ) {
1001
+ relationships?.parents.forEach( function ( parent ) {
1002
1002
 
1003
1003
  for ( const ID in skeletons ) {
1004
1004
 
@@ -2811,6 +2811,16 @@ class AnimationParser {
2811
2811
  let times;
2812
2812
  let values;
2813
2813
 
2814
+ if ( curves.x === undefined || curves.y === undefined || curves.z === undefined ) {
2815
+
2816
+ console.warn( 'THREE.FBXLoader: Missing rotation curves ' +
2817
+ ( curves.x === undefined ? 'x ' : '' ) + ( curves.y === undefined ? 'y ' : '' ) + ( curves.z === undefined ? 'z ' : '' ) +
2818
+ ' for animation of ' + modelName + '. This is currently not supported.' );
2819
+
2820
+ return undefined;
2821
+
2822
+ }
2823
+
2814
2824
  if ( curves.x !== undefined && curves.y !== undefined && curves.z !== undefined ) {
2815
2825
 
2816
2826
  const result = this.interpolateRotations( curves.x, curves.y, curves.z, eulerOrder );
@@ -2845,7 +2855,7 @@ class AnimationParser {
2845
2855
 
2846
2856
  const quaternionValues = [];
2847
2857
 
2848
- if ( ! values || ! times ) return new QuaternionKeyframeTrack( modelName + '.quaternion', [], [] );
2858
+ if ( ! values || ! times ) return undefined;
2849
2859
 
2850
2860
  for ( let i = 0; i < values.length; i += 3 ) {
2851
2861
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@needle-tools/three",
3
- "version": "0.162.4",
3
+ "version": "0.162.5",
4
4
  "description": "JavaScript 3D library",
5
5
  "type": "module",
6
6
  "main": "./build/three.cjs",