JSFiddle - React, Tailwind, and code Playground
by Alvin Chen
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r70/three.min.js"></script>
<script src="https://dl.dropboxusercontent.com/u/3587259/Code/Threejs/OrbitControls.js"></script>
<div id='info'>
Mario playing remote car
</div>
CSS
#info {
top:5%;
position: absolute;
color: yellow;
text-align: center;
width: 100%;
}
body {
overflow: hidden
}
JavaScript
var scene, renderer, camera;
var controls;
var toytrain;
var bumpMap;
var clock=new THREE.Clock();
var angle=0;
init();
animate();
function init()
{
var width = window.innerWidth;
var height = window.innerHeight;
renderer = new THREE.WebGLRenderer({antialias: true});
renderer.setSize (width, height);
renderer.setClearColor (0x888888);
document.body.appendChild (renderer.domElement);
scene = new THREE.Scene();
camera = new THREE.PerspectiveCamera (45, width/height, 1, 10000);
camera.position.y = 48;
camera.position.z = 120;
camera.lookAt (new THREE.Vector3(0,0,0));
controls = new THREE.OrbitControls (camera, renderer.domElement);
var geometry1 = new THREE.BoxGeometry(5,15,3);
var material1 = new THREE.MeshBasicMaterial({color:0xccaabb});
plot = new THREE.Mesh(geometry1, material1);
plot.position.set(35,7.5,0);
scene.add(plot);
THREE.ImageUtils.crossOrigin = '';
var materials = [];
materials.push(new THREE.MeshBasicMaterial({color:0xccaabb}));
materials.push(new THREE.MeshBasicMaterial({color:0xccaabb}));
materials.push(new THREE.MeshBasicMaterial({color:0xccaabb}));
materials.push(new THREE.MeshBasicMaterial({color:0xccaabb}));
materials.push(new THREE.MeshBasicMaterial({color:0xccaabb}));
materials.push(new THREE.MeshBasicMaterial({side:THREE.DoubleSide,map: THREE.ImageUtils.loadTexture('https://scontent-tpe1-1.xx.fbcdn.net/v/t1.0-9/10670259_659129860897733_8837841253775570241_n.jpg?oh=33d2d97009e44f35c146cae2c2e6f656&oe=57A2FBF3')}));
photobox = new THREE.Mesh(new THREE.BoxGeometry(20,20,5),
new THREE.MeshFaceMaterial(materials));
photobox.position.set(35,25,0);
scene.add(photobox);
var gridXZ = new THREE.GridHelper(100, 10);
gridXZ.setColors( new THREE.Color(0xff0000), new THREE.Color(0xffffff) );
scene.add(gridXZ);
var pointLight = new THREE.PointLight (0xffffff);
pointLight.position.set (0,300,200);
scene.add (pointLight);
var ambientLight = new...