diff --git a/examples/jsm/loaders/usd/USDAParser.js b/examples/jsm/loaders/usd/USDAParser.js index 8a79a191777c1f..7c23df4c50e29d 100644 --- a/examples/jsm/loaders/usd/USDAParser.js +++ b/examples/jsm/loaders/usd/USDAParser.js @@ -85,6 +85,8 @@ class USDAParser { } else if ( line.endsWith( '{' ) ) { + string = line.slice( 0, - 1 ).trim() || string; + const group = target[ string ] || {}; stack.push( group ); diff --git a/src/renderers/common/Renderer.js b/src/renderers/common/Renderer.js index 20452771dd8cc6..d08c55a7087490 100644 --- a/src/renderers/common/Renderer.js +++ b/src/renderers/common/Renderer.js @@ -3499,6 +3499,9 @@ class Renderer { let materialDepthNode; let materialPositionNode; let materialSide; + let materialDisplacementMap; + let materialDisplacementScale; + let materialDisplacementBias; const previousSourceMaterial = this._currentSourceMaterial; @@ -3521,6 +3524,9 @@ class Renderer { materialDepthNode = ( overrideMaterial.isNodeMaterial ) ? overrideMaterial.depthNode : null; materialPositionNode = ( overrideMaterial.isNodeMaterial ) ? overrideMaterial.positionNode : null; materialSide = scene.overrideMaterial.side; + materialDisplacementMap = overrideMaterial.displacementMap; + materialDisplacementScale = overrideMaterial.displacementScale; + materialDisplacementBias = overrideMaterial.displacementBias; if ( material.positionNode && material.positionNode.isNode ) { @@ -3530,6 +3536,9 @@ class Renderer { overrideMaterial.alphaTest = material.alphaTest; overrideMaterial.alphaMap = material.alphaMap; + overrideMaterial.displacementMap = material.displacementMap; + overrideMaterial.displacementScale = material.displacementScale; + overrideMaterial.displacementBias = material.displacementBias; overrideMaterial.transparent = material.transparent || material.transmission > 0 || ( material.transmissionNode && material.transmissionNode.isNode ) || ( material.backdropNode && material.backdropNode.isNode ); @@ -3584,6 +3593,9 @@ class Renderer { scene.overrideMaterial.depthNode = materialDepthNode; scene.overrideMaterial.positionNode = materialPositionNode; scene.overrideMaterial.side = materialSide; + scene.overrideMaterial.displacementMap = materialDisplacementMap; + scene.overrideMaterial.displacementScale = materialDisplacementScale; + scene.overrideMaterial.displacementBias = materialDisplacementBias; }