From d3affec0d98ec03dccb956c1ee71217f50ba9282 Mon Sep 17 00:00:00 2001 From: -=yb4f310 Date: Sun, 12 Nov 2017 14:00:30 +0100 Subject: [PATCH] Initial Commit: CC - Mouse Move - Moorcow (4rv4pr9m9q.js) --- 4rv4pr9m9q.js | 72 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 4rv4pr9m9q.js diff --git a/4rv4pr9m9q.js b/4rv4pr9m9q.js new file mode 100644 index 0000000..4a7924e --- /dev/null +++ b/4rv4pr9m9q.js @@ -0,0 +1,72 @@ +if (!this.entityLoaded) { + return; +} + +if (!this.initialized) { + this.initialized = true; +} + +this.mouse.x = (event.offsetX / event.target.width ) * 2 - 1; +this.mouse.y = -(event.offsetY / event.target.height) * 2 + 1; + +this.camera.lookAt.x = this.mouse.x * 20; +this.camera.lookAt.y = this.mouse.y * 20; +this.camera.lookAt.z = Math.cos(this.mouse.x) + Math.sin(this.mouse.y); +this.camera.updateInstance(); + +this.raycaster.setFromCamera( + this.mouse, + this.camera +); + +var distance = - this.camera.position.z / this.raycaster.direction.z; +var cursorPosition = this.camera.position.clone().add( + this.raycaster.direction.clone().multiply( + distance, + true + ) +); + +this.cursor.position.x = cursorPosition.x; +this.cursor.position.y = cursorPosition.y; +this.cursor.position.z = cursorPosition.z; +this.cursor.updateInstancePosition(); + +this.cursor.instance.quaternion.copy(this.camera.instance.quaternion); + +this.thrower.lookAt(this.cursor.position); + +this.scene.meshes.map( + function(mesh) { + + if (mesh.instance.material instanceof Array) { + mesh.instance.material.map( + function(material) { + material.color.setHex(0xffffff); + } + ); + } else { + mesh.instance.material.color.setHex(0xffffff); + } + } +); + +var intersects = this.raycaster.getIntersectedObjects(this.scene.meshes); +intersects.map( + function(intersect) { + + var mesh = intersect.mesh; + + if (mesh.instance.material instanceof Array) { + mesh.instance.material.map( + function(material) { + material.color.setHex(0xff0000); + } + ); + } else { + mesh.instance.material.color.setHex(0xff0000); + } + } +); + +//@ sourceURL=mouseMove.js \ No newline at end of file