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 ); } ); };

浙公网安备 33010602011771号