JSFiddle - React, Tailwind, and code Playground

by Millieyan

HTML

<div id="info">WEB3D HW2

</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/84/three.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/84/three.min.js"></script>
<script src="https://threejs.org/examples/js/controls/OrbitControls.js">


</script>
<script src="https://threejs.org/examples/js/controls/OrbitControls.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/stats.js/r16/Stats.min.js"></script>
<script src="https://rawgit.com/mrdoob/three.js/master/examples/js/loaders/MTLLoader.js"></script>
<script src="https://rawgit.com/mrdoob/three.js/master/examples/js/loaders/OBJLoader.js"></script>

<script src="https://code.jquery.com/jquery-2.1.4.min.js"></script>

JavaScript

var scene, renderer, camera;
var camera1;

init();
animate();

function init() {
  scene = new THREE.Scene();
  renderer = new THREE.WebGLRenderer();
  renderer.setSize(window.innerWidth, window.innerHeight);
  renderer.setClearColor(0x888888);
  document.body.appendChild(renderer.domElement);

  camera = new THREE.PerspectiveCamera(50, window.innerWidth / window.innerHeight, 1, 10000);
  camera.position.z = 1200;
  controls = new THREE.OrbitControls(camera, renderer.domElement);

  var gridXZ = new THREE.GridHelper(600, 40, 'red', 'white');
  scene.add(gridXZ);
  window.addEventListener('resize', onWindowResize, false);
  ///////////////////////////////////////////////////////////

  let wall = new THREE.Mesh(new THREE.BoxGeometry(10, 60, 180), new THREE.MeshNormalMaterial())
  scene.add(wall);
  wall.position.set(-140, 30, 220);

  let wall1 = new THREE.Mesh(new THREE.BoxGeometry(10, 60, 600), new THREE.MeshNormalMaterial())
  scene.add(wall1);
  wall1.position.set(0, 30, -295);
  wall1.rotation.y = Math.PI / 2;
  let wall2 = new THREE.Mesh(new THREE.BoxGeometry(10, 60, 600), new THREE.MeshNormalMaterial())
  scene.add(wall2);
  wall2.position.set(295, 30, 0);
  let wall3 = new THREE.Mesh(new THREE.BoxGeometry(10, 60, 600), new THREE.MeshNormalMaterial())
  scene.add(wall3);
  wall3.position.set(-295, 30, 0);
    let wall4 = new THREE.Mesh(new THREE.BoxGeometry(10, 60, 440), new THREE.MeshNormalMaterial())
  scene.add(wall4);
  wall4.position.set(80, 30,295);
  wall4.rotation.y = Math.PI / 2;
}

function onWindowResize() {
  camera.aspect = window.innerWidth / window.innerHeight;
  camera.updateProjectionMatrix();
  renderer.setSize(window.innerWidth, window.innerHeight);
}

function animate() {
  controls.update();
  requestAnimationFrame(animate);
  render();
}

function render() {
  renderer.render(scene, camera);
}