diff --git a/src/nodes/core/UniformNode.js b/src/nodes/core/UniformNode.js index e881fdc01e7144..8b070ab837c675 100644 --- a/src/nodes/core/UniformNode.js +++ b/src/nodes/core/UniformNode.js @@ -235,8 +235,23 @@ export const uniform = ( value, type ) => { } - // @TODO: get ConstNode from .traverse() in the future - value = ( value && value.isNode === true ) ? ( value.node && value.node.value ) || value.value : value; + if ( value && value.isNode === true ) { + + let v = value.value; + + value.traverse( n => { + + if ( n.isConstNode === true ) { + + v = n.value; + + } + + } ); + + value = v; + + } return nodeObject( new UniformNode( value, nodeType ) );