PhysiJS and ThreeJS - Terrain

HTML

<script src="//cdnjs.cloudflare.com/ajax/libs/three.js/r69/three.min.js"></script>
<script src="https://rawgit.com/chandlerprall/Physijs/master/physi.js"></script>
<body>
</body>

JavaScript

Physijs.scripts.worker = 'physijs_worker.js';
Physijs.scripts.ammo = 'ammo.js';

// Scene
var scene = new THREE.Scene();
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 );

// Light (copy from http://chandlerprall.github.io/Physijs/examples/heightfield.html )
light = new THREE.DirectionalLight( 0xFFFFFF );
light.position.set( 20, 40, -15 );
light.target.position.copy( scene.position );
light.castShadow = true;
light.shadowCameraLeft = -60;
light.shadowCameraTop = -60;
light.shadowCameraRight = 60;
light.shadowCameraBottom = 60;
light.shadowCameraNear = 20;
light.shadowCameraFar = 200;
light.shadowBias = -.0001
light.shadowMapWidth = light.shadowMapHeight = 2048;
light.shadowDarkness = .7;
scene.add( light );

var terrainGeometry = new THREE.PlaneGeometry(100,100,99,99);
var terrainMaterial = new THREE.MeshBasicMaterial( { color: 0x0066ff } );

for ( var i = 0; i < terrainGeometry.vertices.length; i++ ) {
    terrainGeometry.vertices[i].z = Math.floor(Math.random()*10);
}

terrainGeometry.computeFaceNormals();
terrainGeometry.computeVertexNormals();

var terrain = new Physijs.HeightfieldMesh(
    terrainGeometry, 
    terrainMaterial,
    0
);
terrain.rotation.x -= 90 * Math.PI / 180;
scene.add(terrain);

var objectMaterial = Physijs.createMaterial(
    new THREE.MeshBasicMaterial( 
        { color: 0xffffff, wireframe: true, transparent: true, opacity: 1 }
    )
);
var objectMaterial2 = Physijs.createMaterial(
    new THREE.MeshBasicMaterial( 
        { color: 0xffffff, wireframe: true, transparent: true, opacity: 1 }
    )
);
var sphereGeometry = new THREE.SphereGeometry(4, 4, 4);

var sphereMesh = new Physijs.SphereMesh(
    sphereGeometry,
    objectMaterial,
    0.8,
    0.3
    );
scene.add( sphereMesh );
sphereMesh.position.y =...