Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <script>
- var scene = new THREE.Scene();
- var camera = new THREE.PerspectiveCamera(37.5, 500 / 500, 0.1, 2000);
- var strDownloadMime = "image/octet-stream";
- camera.position.y = 1.33;
- camera.position.z = 10;
- var renderer = new THREE.WebGLRenderer({alpha: true, antialias: true, preserveDrawingBuffer: true});
- renderer.setSize(500, 500);
- document.getElementById("canvas").appendChild(renderer.domElement);
- renderer.shadowMapEnabled = true;
- renderer.shadowMapType = THREE.PCFSoftShadowMap;
- var manager = new THREE.LoadingManager();
- var done = "0";
- manager.onLoad = function ( item, loaded, total ) {
- var percentage = loaded / total * 100;
- done = "1";
- };
- manager.onError = function ( item, loaded, total ) {
- console.log("ERROR");
- };
- var textureLoader = new THREE.TextureLoader(manager);
- var light2 = new THREE.DirectionalLight(0xffffff, 1);
- light2.position.x = -2;
- light2.position.y = 5;
- light2.position.z = 5;
- light2.castShadow = true;
- light2.shadowDarkness = 0.2;
- light2.lookAt(new THREE.Vector3(0,-1,0));
- scene.add(light2);
- hemiLight = new THREE.HemisphereLight( 0xffffff, 0xffffff, 0.4);
- hemiLight.color.setHSL( 1, 1, 1 );
- hemiLight.position.set( 0, 400, 0 );
- scene.add( hemiLight );
- var facematerial = new THREE.MeshPhongMaterial({
- side: THREE.DoubleSide,
- transparent: true,
- });
- var headmaterial = new THREE.MeshPhongMaterial({
- shininess: 10,
- side: THREE.DoubleSide,
- color: "#f7f7f7",
- });
- var torsomaterial = new THREE.MeshPhongMaterial({
- shininess: 0,
- side: THREE.DoubleSide,
- color: "#191919",
- });
- var rarmmaterial = new THREE.MeshPhongMaterial({
- shininess: 10,
- side: THREE.DoubleSide,
- color: "#191919",
- });
- var larmmaterial = new THREE.MeshPhongMaterial({
- shininess: 10,
- side: THREE.DoubleSide,
- color: "#191919" ,
- });
- var rlegmaterial = new THREE.MeshPhongMaterial({
- shininess: 10,
- side: THREE.DoubleSide,
- color: "#da0000",
- });
- var llegmaterial = new THREE.MeshPhongMaterial({
- shininess: 10,
- side: THREE.DoubleSide,
- color: "#da0000",
- });
- var geometryhead = new THREE.BoxGeometry(0.85, 0.85, 0.85);
- var head = new THREE.Mesh(geometryhead, headmaterial);
- scene.add(head);
- head.position.y = -1.12;
- head.rotation.y = 0.55;
- head.position.x = 0;
- head.position.z = 1.4;
- var facetexture = textureLoader.load( '/threejs/smile.png');
- var geometryface = new THREE.BoxGeometry(0.90, 0.90, 0.01);
- var face = new THREE.Mesh(geometryface, facematerial);
- scene.add(face);
- face.position.y = -0.95;
- face.rotation.y = 0.55;
- face.position.x = 0.2;
- face.position.z = 2.35;
- face.material.map = facetexture;
- var geometryTorsoBlock = new THREE.BoxGeometry(2, 2, 1);
- var TorsoBlock = new THREE.Mesh(geometryTorsoBlock, torsomaterial);
- scene.add(TorsoBlock);
- TorsoBlock.position.y = -3;
- TorsoBlock.rotation.y = 0.50;
- var geometryTorso = new THREE.BoxGeometry(2, 2, 1);
- var torso = new THREE.Mesh(geometryTorso, torsomaterial);
- scene.add(torso);
- torso.position.y = -3;
- torso.rotation.y = 0.50;
- var geometryLeftArmBlock = new THREE.BoxGeometry(1, 2, 1);
- var LeftArmBlock = new THREE.Mesh(geometryLeftArmBlock, larmmaterial);
- scene.add(LeftArmBlock);
- LeftArmBlock.position.y = -3;
- LeftArmBlock.position.x = 1.30;
- LeftArmBlock.rotation.y = 0.50;
- LeftArmBlock.position.z = -0.70;
- var geometryLeftArm = new THREE.BoxGeometry(1, 2, 1);
- var LeftArm = new THREE.Mesh(geometryLeftArm, larmmaterial);
- scene.add(LeftArm);
- LeftArm.position.y = -3;
- LeftArm.position.x = 1.30;
- LeftArm.rotation.y = 0.50;
- LeftArm.position.z = -0.70;
- var geometryRightArmBlock = new THREE.BoxGeometry(1, 2, 1);
- var RightArmBlock = new THREE.Mesh(geometryRightArmBlock, rarmmaterial);
- scene.add(RightArmBlock);
- RightArmBlock.position.y = -3;
- RightArmBlock.position.x = -1.30;
- RightArmBlock.rotation.y = 0.50;
- RightArmBlock.position.z = 0.70;
- RightArmBlock.castShadow = true;
- var geometryRightArm = new THREE.BoxGeometry(1, 2, 1);
- var RightArm = new THREE.Mesh(geometryRightArm, rarmmaterial);
- scene.add(RightArm);
- RightArm.position.y = -3;
- RightArm.position.x = -1.30;
- RightArm.rotation.y = 0.50;
- RightArm.position.z = 0.70;
- var geometryLeftLeg = new THREE.BoxGeometry(1, 2, 1);
- var LeftLeg = new THREE.Mesh(geometryLeftLeg, llegmaterial );
- scene.add(LeftLeg);
- LeftLeg.position.y = -5;
- LeftLeg.position.x = 0.45;
- LeftLeg.rotation.y = 0.50;
- LeftLeg.position.z = -0.25;
- var geometryRightLeg = new THREE.BoxGeometry(1, 2, 1);
- var RightLeg = new THREE.Mesh(geometryRightLeg, rlegmaterial);
- scene.add(RightLeg);
- RightLeg.position.y = -5;
- RightLeg.position.x = -0.45;
- RightLeg.rotation.y = 0.50;
- RightLeg.position.z = 0.25;
- var canvas = document.getElementsByTagName('canvas');
- var objLoader = new THREE.OBJLoader(manager);
- var hatmaterial = new THREE.MeshPhongMaterial({
- side: THREE.DoubleSide,
- transparent: true,
- });
- var texture1 = textureLoader.load( '/threejs/tex.png');
- var materialshirt = new THREE.MeshPhongMaterial({
- side: THREE.DoubleSide,
- transparent: true,
- });
- objLoader.load('shirt.obj', function(object1) {
- object1.position.y = -3;
- object1.rotation.y = 2.071;
- object1.rotation.z = 3.1415926535;
- object1.scale.set(0.01,0.01,0.01);
- object1.traverse( function ( child ) {
- if ( child.isMesh ) {
- child.material = materialshirt;
- child.material.map = texture1;
- }
- } );
- scene.add(object1);
- });
- var texture2 = textureLoader.load( '/threejs/tex.png');
- var materialpants = new THREE.MeshPhongMaterial({
- side: THREE.DoubleSide,
- transparent: true,
- });
- objLoader.load('pants.obj', function(object2) {
- object2.position.y = -5;
- object2.rotation.y = 2.08;
- object2.rotation.z = 3.14159;
- object2.position.x = 0.1;
- object2.scale.set(0.01,0.01,0.01);
- object2.traverse( function ( child ) {
- if ( child.isMesh ){
- child.material = materialpants;
- child.material.map = texture2;
- }
- } );
- scene.add(object2);
- });
- var doneval = 0;
- var fullydone = 0;
- var render = function() {
- requestAnimationFrame(render);
- camera.lookAt(new THREE.Vector3(0,-3,0));
- renderer.render(scene, camera);
- doneval = done;
- if (done != "1"){
- console.log(doneval);
- }
- if(doneval == "1" && fullydone == "0"){
- var photoa = canvas['0'].toDataURL();
- var photo = photoa.replace('data:image/png;base64,', '');
- $.ajax({
- type: 'POST',
- data: { photodata:photo },
- dataType: 'text',
- url: 'imgupload.php',
- success: function(data) {
- console.log(data);
- }
- });
- fullydone = "1";
- }
- };
- render();
- </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement