From 64d0451775626db7cf0af333c5f66ea858d884e2 Mon Sep 17 00:00:00 2001 From: -=yb4f310 Date: Wed, 29 Nov 2017 21:17:58 +0100 Subject: [PATCH] Initial Commit: CC - Mouse Move - Moorcow (1gr377k5r6.js) --- 1gr377k5r6.js | 62 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 1gr377k5r6.js diff --git a/1gr377k5r6.js b/1gr377k5r6.js new file mode 100644 index 0000000..6dfae70 --- /dev/null +++ b/1gr377k5r6.js @@ -0,0 +1,62 @@ +if (!this.entityLoaded) { + return; +} + +if (!this.initialized) { + this.mouse = this.entityLoaded.mouse; + this.raycaster = this.entityLoaded.raycaster; + this.camera = this.entityLoaded.camera; + this.cursor = this.entityLoaded.cursor; + this.thrower = this.entityLoaded.thrower; + this.throwerParticleEngine = this.entityLoaded.throwerParticleEngine; + this.throwerLight = this.entityLoaded.throwerLight; + + this.initialized = true; +} + +this.mouse.x = (data.event.offsetX / data.event.target.width ) * 2 - 1; +this.mouse.y = -(data.event.offsetY / data.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 = 0; +this.camera.updateInstance('lookAt'); + +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.throwerParticleEngine.direction.x = this.raycaster.direction.x; +this.throwerParticleEngine.direction.y = this.raycaster.direction.y; +this.throwerParticleEngine.direction.z = this.raycaster.direction.z; +this.throwerParticleEngine.updateInstance('direction'); + +this.throwerParticleEngine.position.x = this.thrower.position.x + this.raycaster.direction.x * 10; +this.throwerParticleEngine.position.y = this.thrower.position.y + this.raycaster.direction.y * 10 + 0.3; +this.throwerParticleEngine.position.z = this.thrower.position.z + this.raycaster.direction.z * 10; +this.throwerParticleEngine.updateInstance('position'); + +this.throwerLight.position.x = this.thrower.position.x + this.raycaster.direction.x * 10; +this.throwerLight.position.y = this.thrower.position.y + this.raycaster.direction.y * 10; +this.throwerLight.position.z = this.thrower.position.z + this.raycaster.direction.z * 10; +this.throwerLight.updateInstance('position'); + +//@ sourceURL=mouseMove.js \ No newline at end of file