JSFiddle - React, Tailwind, and code Playground
HTML
<script src="//cdn.rawgit.com/mrdoob/three.js/master/build/three.min.js"></script>
JavaScript
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera(75, window.innerWidth/window.innerHeight, 1, 10000);
var renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);
document.addEventListener( 'mousemove', onDocumentMouseMove, false );
camera.aspect = window.innerWidth / window.innerHeight;
camera.updateProjectionMatrix();
renderer.setSize( window.innerWidth, window.innerHeight );
/// Add a Box3
var anchor = new THREE.Vector3( -200, -200, 0 );
var cursor = new THREE.Vector3( 300, 300, 400 ); // increasing z here makes it look 3d.
var box2 = new THREE.Box3( anchor, cursor );
var box2Helper = new THREE.Box3Helper( box2 );
box2Helper.rotation.z = 30;
scene.add( box2Helper );
// Executes when the mouse "moves"
function onDocumentMouseMove( event )
{
event.preventDefault();
var mouse2D = new THREE.Vector2();
mouse2D.x = ( event.clientX / window.innerWidth ) * 2 - 1;
mouse2D.y = - ( event.clientY / window.innerHeight ) * 2 + 1;
var vector = new THREE.Vector3();
vector.set( mouse2D.x, mouse2D.y, 0 );
vector.unproject( camera );
var anchor1 = new THREE.Vector3( vector.x, vector.y, 0 );
var cursor1 = new THREE.Vector3( vector.x + 900, vector.y + 900, 0 ); // increasing z here makes it look 3d.
var box3 = new THREE.Box3( anchor1, cursor1 );
box2.copy(box3);
renderer.render(scene, camera);
}
camera.position.z = 2000;
camera.position.y = 1000;
camera.position.x = 500;
renderer.render(scene, camera);