Toggle navigation
Sign Up
Log In
Explore
Works
Folders
Tools
Collections
Artists
Groups
Groups
Topics
Tasks
Tasks
Jobs
Teams
Jobs
Recommendation
More Effects...
JS
var scene = new THREE.Scene(); var camera = new THREE.PerspectiveCamera( 75, window.innerWidth/window.innerHeight, 0.1, 10000 ); var spheres = []; var mouse = new THREE.Vector2(), INTERSECTED; controls = new THREE.OrbitControls( camera ); camera.position.z = 1000; window.addEventListener("resize", function() { camera.aspect = window.innerWidth / window.innerHeight; camera.updateProjectionMatrix(); renderer.setSize( window.innerWidth, window.innerHeight ); }); var renderer = new THREE.WebGLRenderer(); renderer.setSize( window.innerWidth, window.innerHeight ); document.body.appendChild( renderer.domElement ); renderer.setClearColor( "#fff", 1.0); var directionalLight = new THREE.DirectionalLight( 0xffffff, 0.5 ); directionalLight.position.set( 0, 1, 1 ); scene.add( directionalLight ); for (var i = -100; i < 100; i++) { var sphereGeometry = new THREE.SphereGeometry(Math.random() * 20, 32, 32); var sphereMaterial = new THREE.MeshPhongMaterial( {color: "#000000"} ); var sphere = new THREE.Mesh(sphereGeometry, sphereMaterial); sphere.displacement = i * i / 18; sphere.delay = Math.random() * 8; scene.add(sphere); sphere.position.x = Math.random() * 25 - 5 * i; sphere.position.y = sphere.displacement; sphere.position.z = 0; spheres.push(sphere); } var render = function () { requestAnimationFrame( render ); var timer = Date.now() * 0.002; spheres.forEach(function(sphere) { sphere.position.y = sphere.displacement * Math.sin(timer + sphere.delay); sphere.position.z = sphere.displacement * Math.cos(timer + sphere.delay); }); renderer.render(scene, camera); }; render();
CSS
body { overflow: hidden; } p { position: absolute; top: 20px; left: 30px; font-family: "Source Sans Pro"; } .social:hover a { transform: rotate(-45deg) scale(1.05); } .social:hover i { color: #21c2ff; } a { position: absolute; bottom: -40px; right: -75px; background: white; color: white; box-shadow: -1px -1px 20px 0px rgba(0, 0, 0, 0.3); display: inline-block; width: 150px; height: 80px; transform-origin: 50% 50%; transform: rotate(-45deg); transition: .15s ease-out; } i { position: absolute; bottom: 7px; right: 7px; pointer-events: none; color: #00ACED; z-index: 1000; font-size: 100px; transition: .15s ease-out; }
HTML
Join Effecthub.com
Working with Global Gaming Artists and Developers!
Login
Sign Up
Or Login with Your Email Address:
Email
Password
Remember
Or Sign Up with Your Email Address:
Your Email
This field must contain a valid email
Set Password
Password should be at least 1 character
Stay informed via email