JSFiddle - React, Tailwind, and code Playground
by realhunts
HTML
<script src="https://cdn.rawgit.com/mrdoob/three.js/r100/build/three.min.js"></script>
<script src="https://cdn.rawgit.com/mrdoob/three.js/r100/examples/js/controls/OrbitControls.js"></script>
<script src="https://cdn.rawgit.com/mrdoob/three.js/r100/examples/js/loaders/GLTFLoader.js"></script>
<div id="container"></div>
CSS
body {
background-color: #000;
margin: 0px;
overflow: hidden;
}
JavaScript
// Simple three.js example
var mesh, renderer, scene, camera, controls;
var MovingCube;
var collidableMeshList = [];
var sphere;
init();
animate();
function init() {
// renderer
renderer = new THREE.WebGLRenderer();
renderer.setSize( window.innerWidth, window.innerHeight );
renderer.setClearColor( 0xf0f0f0 );
document.body.appendChild( renderer.domElement );
// scene
scene = new THREE.Scene();
// camera
camera = new THREE.PerspectiveCamera( 40, window.innerWidth / window.innerHeight, 1, 10000 );
camera.position.set( 20, 20, 20 );
// controls
controls = new THREE.OrbitControls( camera );
// ambient
scene.add( new THREE.AmbientLight( 0xffffff ) );
// light
var light = new THREE.DirectionalLight( 0xffffff, 1 );
light.position.set( 20, 20, 0 );
scene.add( light );
// axes
scene.add( new THREE.AxisHelper( 20 ) );
var sphereGeometry = new THREE.SphereGeometry(100, 32, 16);
var sphereMaterial = new THREE.MeshLambertMaterial({
color: 0xff0000
});
sphere = new THREE.Mesh(sphereGeometry, sphereMaterial);
sphere.position.x = 100;
sphere.scale.set(.3, .3, .3)
scene.add(sphere);
var sphereGeometry = new THREE.SphereGeometry(100, 32, 16);
var sphereMaterial = new THREE.MeshLambertMaterial({
color: 0xff0000
});
for ( var i = 0, l = sphereGeometry.vertices.length; i < l; i ++ ) {
//sphereGeometry.vertices[i].x += -200
}
var sp = new THREE.Mesh(sphereGeometry, sphereMaterial);
//sp.matrixWorld.setPosition(new THREE.Vector3(-100, 0, 0))
sp.position.x = -200
scene.add(sp);
collidableMeshList.push(sp);
setTimeout(function(){
scene.remove(sp)
myMesh.geometry.dispose();
myMesh.material.dispose();
}, 1000)
controls = new THREE.OrbitControls( camera, renderer.domElement );
controls.userPan = false;
controls.userPanSpeed = 0.0;
controls.maxDistance =...