I have been working on determining the ray collision coordinate in relation to the targeted face...
The following is my code snippet:
var fMouseX = (iX / oCanvas.width) * 2 - 1;
var fMouseY = -(iY / oCanvas.height) * 2 + 1;
//Utilizing OrthographicCamera
var vecOrigin = new THREE.Vector3( fMouseX, fMouseY, - 1 );
var vecTarget = new THREE.Vector3( fMouseX, fMouseY, 1 );
oProjector.unprojectVector( vecOrigin, this.__oCamera );
oProjector.unprojectVector( vecTarget, this.__oCamera );
vecTarget.subSelf( vecOrigin ).normalize();
var oRay = new THREE.Ray(vecOrigin, vecTarget);
intersects = oRay.intersectObjects([ oCylinderMesh ]);
By using intersects[0].point, I am able to get the mouse position in 'screen coordinate'. However, how can I retrieve it in Cylinder coordinate system? PS: The mesh objects are not rotated, but the camera may change its position...
This framework is truly impressive ;)