Hi! If you’re foced to avoid mouse movement, but still have to find mouse intersection with a some object (e.g. if moves only object), here is a quick tip:
//place this code to the EnterFrame or Timer event handler
var origin:Vector3D = new Vector3D();
var direction:Vector3D = new Vector3D();
var concatenatedMatrix:Matrix3D;
var rayData:RayIntersectionData;
_camera.calculateRay(origin, direction, mouseX, mouseY);
// _containerSurface - object to intersect
concatenatedMatrix = _containerSurface.concatenatedMatrix;
concatenatedMatrix.invert();
origin = concatenatedMatrix.transformVector(origin);
direction = concatenatedMatrix.deltaTransformVector(direction);
rayData = _containerSurface.intersectRay(origin, direction);
if (rayData)
{
// just highlighting intersected face
rayData.face.material = new FillMaterial(0xFF0000);
}
Found a typo? Please, highlight it and press Shift + Enter or click here to inform me!