Added recommendations on Mario scene
This commit is contained in:
81
prototype/js/main.js
vendored
81
prototype/js/main.js
vendored
@@ -40,17 +40,19 @@ function init() {
|
||||
container.appendChild(renderer.domElement);
|
||||
|
||||
// init light
|
||||
// var directional_light = new THREE.DirectionalLight(0x999999);
|
||||
// directional_light.position.set(1, 0.5, 1).normalize();
|
||||
// directional_light.castShadow = true;
|
||||
// scene.add(directional_light);
|
||||
var directional_light = new THREE.DirectionalLight(0xaaaaaa);
|
||||
directional_light.position.set(1, 0.5, 1).normalize();
|
||||
directional_light.castShadow = true;
|
||||
scene.add(directional_light);
|
||||
|
||||
var ambient_light = new THREE.AmbientLight(0xffffff);
|
||||
var ambient_light = new THREE.AmbientLight(0x666666);
|
||||
scene.add(ambient_light);
|
||||
|
||||
// on initialise la camera que l’on place ensuite sur la scène
|
||||
var camera1 = new PointerCamera(50, container_size.width / container_size.height, 0.01, 100000, container);
|
||||
camera1.speed = 0.001;
|
||||
camera1.position = new THREE.Vector3(0,2,0);
|
||||
camera1.phi = -0.1;
|
||||
scene.add(camera1);
|
||||
cameras.push(camera1);
|
||||
|
||||
@@ -76,6 +78,7 @@ function init() {
|
||||
object.traverse(function (object) {
|
||||
if (object instanceof THREE.Mesh) {
|
||||
object.geometry.mergeVertices();
|
||||
object.geometry.computeVertexNormals();
|
||||
object.material.side = THREE.DoubleSide;
|
||||
if (object.material.name === 'Material.103_princess_peaches_cast') {
|
||||
console.log(object.material.name);
|
||||
@@ -102,6 +105,7 @@ function init() {
|
||||
object.material.side = THREE.DoubleSide;
|
||||
console.log(object.geometry.vertices.length);
|
||||
object.geometry.mergeVertices();
|
||||
object.geometry.computeVertexNormals();
|
||||
if (object.material.name === 'Material.054_777F0E0B_c.bmp' ||
|
||||
object.material.name === 'Material.061_5C3492AB_c.bmp' ) {
|
||||
object.material.transparent = true;
|
||||
@@ -111,17 +115,35 @@ function init() {
|
||||
}, onProgress, onError );
|
||||
|
||||
|
||||
// var camera3 = new FixedCamera(
|
||||
// 50,
|
||||
// container_size.width / container_size.height,
|
||||
// 1,
|
||||
// 100000,
|
||||
// new THREE.Vector3(500,0,500),
|
||||
// new THREE.Vector3(0,0,0)
|
||||
// );
|
||||
createCamera(
|
||||
new THREE.Vector3(-3.349895207953063, 5.148106346852601, 0.3365943929701533),
|
||||
new THREE.Vector3(13.114421714865292, -7.783476327687569, -33.74713248359852)
|
||||
);
|
||||
|
||||
// camera3.addToScene(scene);
|
||||
// cameras.push(camera3);
|
||||
createCamera(
|
||||
new THREE.Vector3(4.659399030971226, 0.018674883050052597, -2.578139604982815),
|
||||
new THREE.Vector3(-24.57865295128155, -14.475635296016854, -25.70931529313326)
|
||||
);
|
||||
|
||||
createCamera(
|
||||
new THREE.Vector3(2.625389073616235, 1.2252620948239699, -4.818718135555419),
|
||||
new THREE.Vector3(-19.756833131355208, -16.20027570329664, -33.02132017177813)
|
||||
);
|
||||
|
||||
createCamera(
|
||||
new THREE.Vector3(1.3304975149911331, 0.4836093721106701, -8.60618907952783),
|
||||
new THREE.Vector3(-1.7713635815431914, 6.271997833695163, -48.06341930106774)
|
||||
);
|
||||
|
||||
createCamera(
|
||||
new THREE.Vector3(1.2976081760482443, 1.1520399813234647, -10.258148122402845),
|
||||
new THREE.Vector3(-26.00651734173549, -9.19681009597505, -37.596510029925945)
|
||||
);
|
||||
|
||||
createCamera(
|
||||
new THREE.Vector3(0.15727187830660858, 2.7251137440572855, -5.84333603646124),
|
||||
new THREE.Vector3(19.33738702531091, -13.614383891308975, -36.91010284556961)
|
||||
);
|
||||
|
||||
window.addEventListener('resize', onWindowResize, false);
|
||||
|
||||
@@ -133,6 +155,21 @@ function init() {
|
||||
|
||||
}
|
||||
|
||||
function createCamera(position, target) {
|
||||
var camera = new FixedCamera(
|
||||
50,
|
||||
container_size.width / container_size.height,
|
||||
1,
|
||||
100000,
|
||||
position,
|
||||
target
|
||||
);
|
||||
|
||||
camera.addToScene(scene);
|
||||
cameras.push(camera);
|
||||
|
||||
}
|
||||
|
||||
function loadScene() {
|
||||
|
||||
}
|
||||
@@ -171,7 +208,12 @@ function click(event) {
|
||||
y: - ((event.clientY - renderer.domElement.offsetTop) / renderer.domElement.height) * 2 + 1
|
||||
}
|
||||
|
||||
// Show all cameras
|
||||
// cameras.map(show);
|
||||
|
||||
var camera = cameras.mainCamera();
|
||||
|
||||
|
||||
var vector = new THREE.Vector3(mouse.x, mouse.y, 0.5);
|
||||
vector.unproject(camera);
|
||||
|
||||
@@ -185,11 +227,13 @@ function click(event) {
|
||||
|
||||
// Looking for cameras
|
||||
for (i in intersects) {
|
||||
if ((intersects[i].distance > 50 && minDistance === undefined) || (intersects[i].distance < minDistance )) {
|
||||
if ((intersects[i].distance > 0.5 && minDistance === undefined) || (intersects[i].distance < minDistance )) {
|
||||
// We will not consider a line as clickable
|
||||
if (! (intersects[i].object instanceof THREE.Line)) {
|
||||
minDistance = intersects[i].distance;
|
||||
bestIndex = i;
|
||||
if (!(intersects[i].object instanceof THREE.Mesh && intersects[i].object.material.opacity < 0.1)) {
|
||||
minDistance = intersects[i].distance;
|
||||
bestIndex = i;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -197,6 +241,7 @@ function click(event) {
|
||||
if (bestIndex !== undefined) {
|
||||
if (cameras.getById(intersects[bestIndex].object.id) !== undefined) {
|
||||
var new_camera = cameras.getById(intersects[bestIndex].object.id);
|
||||
// hide(new_camera);
|
||||
cameras.get(0).move(new_camera);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user