Plugin Directory

Changeset 1137308


Ignore:
Timestamp:
04/17/2015 03:41:10 PM (11 years ago)
Author:
joergviola
Message:

OBJMTL Loader

Location:
3d-model-viewer/trunk
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • 3d-model-viewer/trunk/3d-model-viewer.php

    r1137255 r1137308  
    4848        wp_register_script('obj-loader', plugins_url('js/loaders/OBJLoader.js', __FILE__), array(),'1.1', false);
    4949        wp_enqueue_script('obj-loader');
     50        wp_register_script('mtl-loader', plugins_url('js/loaders/MTLLoader.js', __FILE__), array(),'1.1', false);
     51        wp_enqueue_script('mtl-loader');
     52        wp_register_script('objmtl-loader', plugins_url('js/loaders/OBJMTLLoader.js', __FILE__), array(),'1.1', false);
     53        wp_enqueue_script('objmtl-loader');
    5054        wp_register_script('orbital', plugins_url('js/controls/OrbitControls.js', __FILE__), array(),'1.1', false);
    5155        wp_enqueue_script('orbital');
  • 3d-model-viewer/trunk/js/3d-model-viewer.js

    r1137256 r1137308  
    4343        controls.damping = 0.2;
    4444        controls.addEventListener( 'change', setDirty );
     45       
     46        console.log(model);
     47       
     48        if (this.endsWith(model, '.dae'))
     49            this.loadDAE(model, options);
     50        else if (this.endsWith(model, '.obj'))
     51            this.loadOBJ(model, options);
     52       
     53        dirty = true;
     54    }
     55
     56    this.endsWith = function(str, suffix) {
     57        return str.toLowerCase().indexOf(suffix.toLowerCase(), str.length - suffix.length) !== -1;
     58    }
    4559   
    46        
    47         var manager = new THREE.LoadingManager();
    48         manager.onProgress = function ( item, loaded, total ) {
    49             console.log( item, loaded, total );
    50         };
    51         var onProgress = function ( xhr ) {
    52             if ( xhr.lengthComputable ) {
    53                 var percentComplete = xhr.loaded / xhr.total * 100;
    54                 console.log( Math.round(percentComplete, 2) + '% downloaded' );
    55             }
    56         };
    57         var onError = function ( xhr ) {
    58             alert("Sorry, could not load the model.");
    59         };
    60         var texture = new THREE.Texture();
     60    this.loadDAE = function(model, options) {
    6161        var loader = new THREE.ColladaLoader();
    6262        loader.options.convertUpAxis = true;
     
    7070          loadScene.add(dae);
    7171        });
    72        
     72    }
     73
     74    this.loadOBJ = function(model, options) {
     75        console.log('loading OBJ');
     76        var loader = new THREE.OBJMTLLoader();
     77        mtl = model.substring(0, model.length-3) + 'mtl';
     78        var loadScene = this.scene;
     79        loader.load( model, mtl, function ( object ) {
     80            object.position.set(options.modelPosition[0],options.modelPosition[1],options.modelPosition[2]);//x,z,y- if you think in blender dimensions ;)
     81            object.scale.set(options.modelScale[0],options.modelScale[1],options.modelScale[2]);
     82            loadScene.add( object );
     83        });
    7384    }
    7485   
     
    8697
    8798function setDirty() {
    88     console.log("Dirty!");
    8999    dirty = true;
    90100}
     
    99109        wp3d.render();
    100110        dirty = false;
    101         console.log("Rendering");
    102111    }
    103112   
Note: See TracChangeset for help on using the changeset viewer.