Peas Alight

Moving Point Light

by steveow

HTML

<script src="http://threejs.org/build/three.min.js"></script>
<script src="http://threejs.org/examples/js/controls/OrbitControls.js"></script>

CSS

body {
    background-color: #000;
    margin: 0px;
    overflow: hidden;
}

JavaScript

//... based on am original JS Fiddle by WestLangley.
var camera, scene, renderer;

var lpos_x = -60,    lpos_y = 20,    lpos_z = 100;
var mz=1;
var time=0, dt=0;
var Pea_geometry, Pea_material;


init();
animate();
//======================================================================================
function init() {

    scene = new THREE.Scene();
    scene.add(new THREE.AmbientLight(0x222222));

    camera = new THREE.PerspectiveCamera(45, window.innerWidth / window.innerHeight, 1, 10000);
    camera.position.x = 0;
    camera.position.y = 0;
    camera.position.z = 1200;
    camera.lookAt(0,0,0);
    scene.add(camera);



    //POINT LIGHT|
    PL_color = 0xffaaff;
    PL_intensity = 20;
    PL_range_to_zero_intensity = 2300;
    PL = new THREE.PointLight(PL_color, PL_intensity, PL_range_to_zero_intensity);
    scene.add(PL);
    PL_pos_x = -100;
    PL_pos_y = -100;
    PL_pos_z = 120;
    PL.position.set(PL_pos_x, PL_pos_y, PL_pos_z);

    //INDICATOR SPHERE
    var s_Geometry = new THREE.SphereGeometry(5, 20, 20);
    var s_Material = new THREE.MeshBasicMaterial({color: 0x00aaff });
    i_Sphere = new THREE.Mesh(s_Geometry, s_Material);
    i_Sphere.position.set (PL_pos_x, PL_pos_y, PL_pos_z);
    scene.add(i_Sphere);

     /*//Plane01
    var Plane01Geo = new THREE.PlaneGeometry(250, 50);
    var Plane01Material = new THREE.MeshLambertMaterial(
        {side: THREE.DoubleSide }, 
        {color: 0xaaaaaa});
    Plane01 = new THREE.Mesh(Plane01Geo, Plane01Material);
    Plane01.position.set(-150, 50, 10); 
    Plane01.receiveShadow = true;
   // scene.add(Plane01);
    */
    
    //Plane02
    var Plane02Geo = new THREE.PlaneGeometry(450, 450);//... BAD
    //var Plane02Geo = new THREE.PlaneGeometry(150, 150); //...BETTER
    
    var Plane02Material = new THREE.MeshPhongMaterial(
        {side: THREE.DoubleSide }, 
        {color: 0xaaaaaa});
    Plane02 = new THREE.Mesh(Plane02Geo, Plane02Material);
    Plane02.position.set(0, 0, -120);
   ...