Alternativa3D 7 mouse intersection without mouse movement tip

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!

Share Button

Comments are closed.