NodeMaterialLoader.js 547 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import { MaterialLoader } from 'three';
  2. class NodeMaterialLoader extends MaterialLoader {
  3. constructor( manager ) {
  4. super( manager );
  5. this.nodes = {};
  6. }
  7. parse( json ) {
  8. const material = super.parse( json );
  9. const nodes = this.nodes;
  10. const inputNodes = json.inputNodes;
  11. for ( const property in inputNodes ) {
  12. const uuid = inputNodes[ property ];
  13. material[ property ] = nodes[ uuid ];
  14. }
  15. return material;
  16. }
  17. setNodes( value ) {
  18. this.nodes = value;
  19. return this;
  20. }
  21. }
  22. export default NodeMaterialLoader;