Advertisement
Guest User

Untitled

a guest
May 28th, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.58 KB | None | 0 0
  1. example:
  2.  
  3. function init() {
  4. var aspect = window.innerWidth / window.innerHeight
  5. camera = new THREE.PerspectiveCamera(45, aspect, 1, 10000)
  6. camera.position.z = 300
  7. scene = new THREE.Scene()
  8.  
  9. mesh = new THREE.Mesh(new THREE.TorusGeometry(10, 3, 16, 30),
  10. new THREE.MeshPhongMaterial({ transparent: true, shading: THREE.SmoothShading }))
  11.  
  12. mesh2 = new THREE.Mesh(new THREE.TorusGeometry(10, 3, 16, 30),
  13. new THREE.MeshPhongMaterial({ transparent: true, shading: THREE.SmoothShading }))
  14.  
  15. var material = new THREE.MeshPhongMaterial({ transparent: true, shading: THREE.SmoothShading })
  16. var material2 = new THREE.MeshPhongMaterial({ transparent: true, shading: THREE.SmoothShading })
  17.  
  18.  
  19.  
  20. var light = new THREE.PointLight(0xffff00, 1, 0)
  21. light.position.set( 100, 50, 300 )
  22.  
  23. scene.add(light)
  24.  
  25. var loader = new THREE.OBJLoader();
  26.  
  27. loader.load('1.obj', function(object) {
  28. var l = object.children.length;
  29. for (var i=0; i< 1; i++) {
  30. object.children[i].material = material
  31. }
  32. mesh = object;
  33. mesh.material = material;
  34. mesh.visible = true;
  35. mesh.position.set(50,0,0);
  36. scene.add(mesh);
  37. });
  38.  
  39. loader.load('2.obj', function(object) {
  40. var l = object.children.length;
  41. for (var i=0; i< 1; i++) {
  42. object.children[i].material = material2
  43. }
  44. mesh2 = object;
  45. mesh2.material = material2;
  46. mesh2.visible = true;
  47. mesh2.position.set(-50,0,0)
  48. scene.add(mesh2);
  49. });
  50.  
  51. renderer = new THREE.WebGLRenderer();
  52. renderer.setClearColor(0x007f7f, 1);
  53. renderer.setPixelRatio( window.devicePixelRatio );
  54. renderer.setSize( window.innerWidth, window.innerHeight );
  55.  
  56. buildGUI();
  57.  
  58. document.body.appendChild( renderer.domElement );
  59. window.addEventListener('resize', onWindowResize, false);
  60. }
  61.  
  62. function onWindowResize() {
  63. camera.aspect = window.innerWidth / window.innerHeight;
  64. camera.updateProjectionMatrix();
  65. renderer.setSize( window.innerWidth, window.innerHeight );
  66. }
  67.  
  68. function animate() {
  69. renderer.render( scene, camera );
  70. requestAnimationFrame(animate);
  71. }
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78. GUI:
  79. function buildGUI() {
  80. var gui = new dat.GUI({ autoPlace: false });
  81. var objectsMenu = gui.addFolder('Objects:');
  82. var object = objectsMenu.addFolder('robot');
  83. var lv, lv2;
  84.  
  85. object.add(mesh, 'visible').name('Visible').onChange((value) => {
  86. mesh.visible = value
  87. });
  88.  
  89. var Config = function() {
  90. this.color = "#ffffff";
  91. }
  92.  
  93. var conf = new Config();
  94. object.addColor(conf, 'color').name('Color').onChange((value) => {
  95. value = value.replace('#', '0x');
  96. mesh.material.color.setHex(value)
  97. });
  98.  
  99. var CameraZ = function() {
  100. this.z = 30;
  101. }
  102.  
  103. var cameraZ = new CameraZ()
  104. object.add(cameraZ, 'z').name('Camera z:').min(0).max(100).step(1).onChange(
  105. function(value) {
  106. mesh.position.z = value;
  107. }
  108. )
  109.  
  110. var Transparency = function() {
  111. this.transp = 1;
  112. }
  113.  
  114. var transparency = new Transparency();
  115. object.add(transparency, 'transp').name('Transparency:').min(0).max(1).step(0.01).onChange(
  116. function(value) {
  117. mesh.material.opacity = value;
  118. }
  119. )
  120.  
  121. object = objectsMenu.addFolder('duck');
  122.  
  123. object.add(mesh2, 'visible').name('Visible').onChange((value) => {
  124. mesh2.visible = value
  125. });
  126.  
  127. var Config = function() {
  128. this.color = "#ffffff";
  129. }
  130.  
  131. var conf = new Config();
  132. object.addColor(conf, 'color').name('Color').onChange((value) => {
  133. value = value.replace('#', '0x');
  134. mesh2.material.color.setHex(value);
  135. });
  136.  
  137. var CameraZ = function() {
  138. this.z = 30;
  139. }
  140.  
  141. var cameraZ = new CameraZ()
  142. object.add(cameraZ, 'z').name('Camera z:').min(0).max(100).step(1).onChange(
  143. function(value) {
  144. mesh2.position.z = value;
  145. }
  146. )
  147.  
  148. var Transparency = function() {
  149. this.transp = 1;
  150. }
  151.  
  152. var transparency = new Transparency();
  153. object.add(transparency, 'transp').name('Transparency:').min(0).max(1).step(0.01).onChange(
  154. function(value) {
  155. mesh2.material.opacity = value;
  156. }
  157. )
  158.  
  159. var ObjectMaterial = function() {
  160. this.material = "";
  161. }
  162.  
  163. objectsMenu.open();
  164. var customContainer = document.getElementById('my-gui-container');
  165. customContainer.appendChild(gui.domElement);
  166. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement