Homework 3
buttons
by ak532892
HTML
<div id="info">Homework 3
<br/> pressing space to enable birdseye
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r70/three.min.js"></script>
<script src="https://dl.dropboxusercontent.com/u/3587259/Code/Threejs/OrbitControls.js"></script>
<script src="https://code.jquery.com/jquery-2.1.4.min.js"></script>
<script src="https://jyunming-chen.github.io/tutsplus/js/KeyboardState.js"></script>
CSS
#info {
position: absolute;
top: 2%;
width: 100%;
padding: 10px;
text-align: center;
color: #ffff00
}
body {
overflow: hidden;
}
JavaScript
var scene, renderer, camera, camera2;
var texture, mesh;
var cameraHUD, sceneHUD;
var controls;
var car;
var keyboard = new KeyboardState();
var theta = 0.0001;
var C, RC;
var RCmesh, frontMesh, rearLeftMesh, rearRightMesh;
var bodyX = 40, bodyY = 16, bodyZ = 20;
var column1Mesh, columnR = 15;
var forward = 1, stop = 0;
var overlap = false;
var stopIndex = 0;
init();
animate();
function texturedFace() {
var geometry = new THREE.Geometry();
geometry.vertices.push(
new THREE.Vector3(-500, 500, 0),
new THREE.Vector3(-500, -500, 0),
new THREE.Vector3(500, -500, 0),
new THREE.Vector3(500, 500, 0)
);
var face;
face = new THREE.Face3(0, 1, 2);
face.materialIndex = 0;
geometry.faces.push(face);
face = new THREE.Face3(0, 2, 3);
face.materialIndex = 0;
geometry.faces.push(face);
geometry.faceVertexUvs[0].push([new THREE.Vector2(0, 1), new THREE.Vector2(0, 0), new THREE.Vector2(1, 0)]);
geometry.faceVertexUvs[0].push([new THREE.Vector2(0, 1), new THREE.Vector2(1, 0), new THREE.Vector2(1, 1)]);
geometry.computeBoundingSphere();
geometry.computeFaceNormals();
geometry.computeVertexNormals();
// CORS:
// http://stackoverflow.com/questions/24087757/three-js-and-loading-a-cross-domain-image
THREE.ImageUtils.crossOrigin = '';
texture = THREE.ImageUtils.loadTexture('http://i.imgur.com/BRQLEdn.jpg');
texture.repeat.set(1, 1);
texture.wrapS = THREE.RepeatWrapping;
texture.wrapT = THREE.RepeatWrapping;
//texture.minFilter = THREE.LinearMipMapLinearFilter;
texture.minFilter = THREE.LinearFilter;
//texture.minFilter = THREE.LinearMipMapLinearFilter;
return new THREE.Mesh(geometry,
new THREE.MeshBasicMaterial({
map: texture,
side: THREE.DoubleSide
}));
}
function initHUD() {
sceneHUD = new THREE.Scene();
cameraHUD = new THREE.OrthographicCamera(-10.5, 10.5, 10.5, -10.5, -10, 10);
cameraHUD.position.z = 5;
sceneHUD.add(cameraHUD);
var fframe = new THREE.Mesh(new THREE.PlaneGeometry(30, 3), new THREE.MeshBasicMaterial({
color:...