You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

166 lines
4.4 KiB

var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera(20, window.innerWidth / window.innerHeight, 0.1, 1000);
var renderer = new THREE.WebGLRenderer();
var o1, o2, o3, o4, o5, o6;
var zoom = 1.0;
var fov = camera.fov;
var targetList = [];
renderer.setSize(window.innerWidth, window.innerHeight);
renderer.setClearColor(0xffffff, 1);
document.body.appendChild(renderer.domElement);
/*var geometry = new THREE.BoxGeometry(1, 1, 1);
var material = new THREE.MeshBasicMaterial({
color: 0x00ff00,
transparent:true,
opacity:0.8,
shading: THREE.FlatShading,
vertexColors: THREE.VertexColors
});
var cubeMaterials = [
new THREE.MeshBasicMaterial({color:0xff0000, transparent:true, opacity:0.8, side: THREE.DoubleSide}),
new THREE.MeshBasicMaterial({color:0x00ff00, transparent:true, opacity:0.8, side: THREE.DoubleSide}),
new THREE.MeshBasicMaterial({color:0x0000ff, transparent:true, opacity:0.8, side: THREE.DoubleSide}),
new THREE.MeshBasicMaterial({color:0xffff00, transparent:true, opacity:0.8, side: THREE.DoubleSide}),
new THREE.MeshBasicMaterial({color:0xff00ff, transparent:true, opacity:0.8, side: THREE.DoubleSide}),
new THREE.MeshBasicMaterial({color:0x00ffff, transparent:true, opacity:0.8, side: THREE.DoubleSide}),
];
var cubeMaterial = new THREE.MeshFaceMaterial(cubeMaterials);
var cube = new THREE.Mesh(geometry, cubeMaterial);
scene.add(cube);*/
//robot
var geometry = new THREE.BoxGeometry( 0.1, 0.1, 0.1 );
var material = new THREE.MeshBasicMaterial( { color: 0xffffff } );
var base = new THREE.Mesh( geometry, material );
scene.add( base );
base.name="base";
/* object 3d exemple */
var mtlLoader = new THREE.MTLLoader();
mtlLoader.setPath( './models3d/bus/' );
mtlLoader.load( 'Ideale 770.mtl', function( materials ) {
materials.preload();
var objLoader = new THREE.OBJLoader();
objLoader.setMaterials( materials );
objLoader.setPath( './models3d/bus/' );
objLoader.load( 'Ideale 770.obj', function ( object ) {
o2=object;
o2.name="o2";
base.add( o2 );
}, onProgress, onError);
});
/* quan tinc 6 peces
var objURL = "./models3d/o1.obj";
var loader = new THREE.OBJLoader();
loader.load(objURL, function ( object ) {
o1=object;
o1.name="o1";
base.add( o1 );
objURL = "./models3d/o2.obj";
loader = new THREE.OBJLoader();
loader.load(objURL, function ( object ) {
o2=object;
o2.name="o2";
o1.add( o2 );
objURL = "./models3d/o3.obj";
loader = new THREE.OBJLoader();
loader.load(objURL, function ( object ) {
o3=object;
o3.name="o3";
o2.add( o3 );
objURL = "./models3d/o4.obj";
loader = new THREE.OBJLoader();
loader.load(objURL, function ( object ) {
o4=object;
o4.name="o4";
o3.add( o4 );
objURL = "./models3d/o5.obj";
loader = new THREE.OBJLoader();
loader.load(objURL, function ( object ) {
o5=object;
o5.name="o5";
o4.add( o5 );
objURL = "./models3d/o6.obj";
loader = new THREE.OBJLoader();
loader.load(objURL, function ( object ) {
o6=object;
o6.name="o6";
o5.add( o6 );
targetList.push(o1);
targetList.push(o2);
targetList.push(o3);
targetList.push(o4);
targetList.push(o5);
targetList.push(o6);
targetList.push(base);
});
});
});
});
});
});
*/
//light
var spotLight = new THREE.SpotLight( 0xffffff );
spotLight.position.set( 500, 1000, 500 );
spotLight.castShadow = true;
spotLight.shadow.mapSize.width = 1024;
spotLight.shadow.mapSize.height = 1024;
spotLight.shadow.camera.near = 500;
spotLight.shadow.camera.far = 4000;
spotLight.shadow.camera.fov = 30;
scene.add( spotLight );
//camera
/*camera.position.z=5;
camera.position.y=4;
camera.position.x=0;
camera.rotation.x= -0.62;*/
base.rotation.y = 2;
camera.position.z=5;
camera.position.y=2;
camera.position.x=0;
camera.rotation.x= -0.42;
//render
var render= function (){
requestAnimationFrame(render);
/*cube.rotation.x +=0.1;
cube.rotation.y +=0.1;*/
renderer.render(scene, camera);
};
render();