if (!this.entityLoaded) { return; } /** * First we find our crosshair */ var crosshair = R3.EntityManager.Instance.findComponentById('oxpg88pgzv'); /** * Target, is the x / y postion of the crosshair on the z=0 plane in the crosshair scene */ var target = new THREE.Vector3(crosshair.position.x, crosshair.position.y, 0); /** * We need the x/y/z position of an imaginary object, at target position, in the game scene */ var mInverse = new THREE.Matrix4().getInverse( crosshair.matrixWorld ); particle.position.applyMatrix4( mInverse ); var particleEngine = R3.EntityManager.Instance.findComponentById('w4gg7woov2'); var particle = R3.EntityManager.Instance.findComponentById('tiqzsk65l0'); var flamethrower = R3.EntityManager.Instance.findComponentById('01viz3rw6l'); var worldCamera = R3.EntityManager.Instance.findComponentById('knwkksjc7n'); var end = ; end.unproject(worldCamera.instance); //var crosshairPosition = crosshair.position.instance.clone(); //var flamethrowerPosition = worldCamera.position.instance.clone(); var direction = worldCamera.position.instance.clone().sub(end).normalize().negate(); console.log(direction); particle.instance.position.x = worldCamera.position.x;// + direction.x * 0.3; particle.instance.position.y = worldCamera.position.y;// + direction.y * 0.3; particle.instance.position.z = worldCamera.position.z;// + direction.z * 0.3; var sensitivity = 0.1; particle.direction.instance.x = direction.x * sensitivity; particle.direction.instance.y = direction.y * sensitivity; particle.direction.instance.z = direction.z * sensitivity; particleEngine.enabled = true; return null; //@ sourceURL=mouseDown.js