JSFiddle - React, Tailwind, and code Playground
by Victor
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/93/three.min.js"></script>
CSS
body { margin: 0; background: orange;}
canvas { width: 50vh; height: 50vh ;
background: orange;
overflow: hidden;
}
JavaScript
/* get random*/
const getRandom = function (min, max) { return Math.random() * (max - min) + min; };
/* scene */
var scene = new THREE.Scene();
/* camera */
var camera = new THREE.PerspectiveCamera( 75, window.innerWidth / window.innerHeight, 0.1, 1000 );
/* renderer */
var renderer = new THREE.WebGLRenderer();
renderer.setSize( window.innerWidth, window.innerHeight );
document.body.appendChild( renderer.domElement );
/* center example */
var geometry = new THREE.BoxGeometry( 1, 1, 1 );
var material = new THREE.MeshBasicMaterial( { color: 0x00ff00 } );
var cube = new THREE.Mesh( geometry, material );
cube.position.y = -3;
scene.add( cube );
/* front left */
var geometry = new THREE.BoxGeometry( 1, 1, 1 );
var material = new THREE.MeshBasicMaterial( { color: 0xff0000 } );
var cube = new THREE.Mesh( geometry, material );
cube.position.y = -3;
cube.position.x = -5;
scene.add( cube );
/* front right */
var geometry = new THREE.BoxGeometry( 1, 1, 1 );
var material = new THREE.MeshBasicMaterial( { color: 0xff0000 } );
var cube = new THREE.Mesh( geometry, material );
cube.position.y = -3;
cube.position.x = 5;
scene.add( cube );
/* center */
var geometry = new THREE.BoxGeometry( 1, 1, 1 );
var material = new THREE.MeshBasicMaterial( { color: 0x0000ff } );
var centerCube = new THREE.Mesh( geometry, material );
centerCube.position.y = -3;
centerCube.position.x = 0;
centerCube.position.z = -2.5;
scene.add( centerCube );
/* back right */
var geometry = new THREE.BoxGeometry( 1, 1, 1 );
var material = new THREE.MeshBasicMaterial( { color: 0xff0000 } );
var cube = new THREE.Mesh( geometry, material );
cube.position.y = -3;
cube.position.x = 4;
cube.position.z = -10;
scene.add( cube );
/* back left */
var geometry = new THREE.BoxGeometry( 1, 1, 1 );
var material = new THREE.MeshBasicMaterial( { color: 0xff0000 } );
var cube = new THREE.Mesh( geometry, material );
cube.position.y = -3;
cube.position.x = -4;
cube.position.z = -10;
scene.add( cube );
camera.position.z =...