Three.js学习(三) loaders

官网里面的loaders有好多

STLLoader、ImageLoader、JsonLoader 、TextureLoader   stl文件加载,图片加载,json文件加载、字体加载

使用方法都大同小异。

 使用这些对象的load方法时,里面都可以新建geometry(几何体)对象和material(材质)对象

几何体有好多,如球体(new THREE.SphereGeometry),平面(new THREE.PlaneGeometry),箱子(new THREE.BoxGeometry),多边体等等

材质:new THREE.MeshBasicMaterial({map:new THREE.SphereGeometry}),里面参数map值设置为几何体

var mesh = new THREE.Mesh( geometry, material ); 

scene.add( mesh );//加入场景

 

  

 var loader = new THREE.TextureLoader(); //最新写法
var type = 1;
loader.load( imgUrl, function ( texture ) { if( type == 1 ){ var geometry = new THREE.SphereGeometry( 100, 32, 32 ); //球体 var material = new THREE.MeshBasicMaterial( { map: texture ,color: 0xd9534f, transparent: true} ); } if( type == 2 ){ var geometry = new THREE.BoxGeometry( 100,100,100 ); //箱子 var material = new THREE.MeshBasicMaterial( { map: texture ,color: 0xd9534f,transparent: true} ); } if( type == 3 ){ var geometry = new THREE.PlaneGeometry( 200, 180 ); //平面 var material = new THREE.MeshBasicMaterial( { map: texture ,color: 0xd9534f, transparent: true} ); } if( type < 1 ){ var geometry = new THREE.PlaneGeometry( 200, 180 ); //平面 var material = new THREE.MeshBasicMaterial( { map: texture, overdraw: 0.5 , side: THREE.DoubleSide, transparent: true} ); } mesh = new THREE.Mesh( geometry, material ); mesh.position.y = 100; meshGroup.push(mesh) ; scene.add( mesh ); } ); };

 

posted @ 2016-09-25 14:05  leisir  阅读(1193)  评论(0)    收藏  举报